/* Automatically generated from http://www.opengl.org/registry files; DO NOT EDIT! */

#if 0
#pragma makedep unix
#endif

#include <stdarg.h>
#include <stddef.h>

#include "ntstatus.h"
#define WIN32_NO_STATUS
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"

#include "unixlib.h"
#include "unix_private.h"

#include "wine/debug.h"

#ifdef _WIN64
WINE_DEFAULT_DEBUG_CHANNEL(opengl);
#endif

extern NTSTATUS process_attach( void *args );
extern NTSTATUS thread_attach( void *args );
extern NTSTATUS process_detach( void *args );
extern NTSTATUS get_pixel_formats( void *args );
extern NTSTATUS wgl_wglCopyContext( void *args );
extern NTSTATUS wgl_wglCreateContext( void *args );
extern NTSTATUS wgl_wglDeleteContext( void *args );
extern NTSTATUS wgl_wglGetProcAddress( void *args );
extern NTSTATUS wgl_wglMakeCurrent( void *args );
extern NTSTATUS wgl_wglShareLists( void *args );
extern NTSTATUS gl_glGetIntegerv( void *args );
extern NTSTATUS gl_glGetString( void *args );
extern NTSTATUS ext_glDebugMessageCallback( void *args );
extern NTSTATUS ext_glDebugMessageCallbackAMD( void *args );
extern NTSTATUS ext_glDebugMessageCallbackARB( void *args );
extern NTSTATUS ext_glGetStringi( void *args );
extern NTSTATUS ext_wglBindTexImageARB( void *args );
extern NTSTATUS ext_wglCreateContextAttribsARB( void *args );
extern NTSTATUS ext_wglCreatePbufferARB( void *args );
extern NTSTATUS ext_wglDestroyPbufferARB( void *args );
extern NTSTATUS ext_wglGetPbufferDCARB( void *args );
extern NTSTATUS ext_wglMakeContextCurrentARB( void *args );
extern NTSTATUS ext_wglQueryPbufferARB( void *args );
extern NTSTATUS ext_wglReleasePbufferDCARB( void *args );
extern NTSTATUS ext_wglReleaseTexImageARB( void *args );
extern NTSTATUS ext_wglSetPbufferAttribARB( void *args );

static NTSTATUS wgl_wglGetPixelFormat( void *args )
{
    struct wglGetPixelFormat_params *params = args;
    const struct opengl_funcs *funcs = get_dc_funcs( params->hdc );
    if (!funcs || !funcs->wgl.p_wglGetPixelFormat) return STATUS_NOT_IMPLEMENTED;
    params->ret = funcs->wgl.p_wglGetPixelFormat( params->hdc );
    return STATUS_SUCCESS;
}

static NTSTATUS wgl_wglSetPixelFormat( void *args )
{
    struct wglSetPixelFormat_params *params = args;
    const struct opengl_funcs *funcs = get_dc_funcs( params->hdc );
    if (!funcs || !funcs->wgl.p_wglSetPixelFormat) return STATUS_NOT_IMPLEMENTED;
    params->ret = funcs->wgl.p_wglSetPixelFormat( params->hdc, params->ipfd, params->ppfd );
    return STATUS_SUCCESS;
}

static NTSTATUS wgl_wglSwapBuffers( void *args )
{
    struct wglSwapBuffers_params *params = args;
    const struct opengl_funcs *funcs = get_dc_funcs( params->hdc );
    if (!funcs || !funcs->wgl.p_wglSwapBuffers) return STATUS_NOT_IMPLEMENTED;
    params->ret = funcs->wgl.p_wglSwapBuffers( params->hdc );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glAccum( void *args )
{
    struct glAccum_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glAccum( params->op, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glAlphaFunc( void *args )
{
    struct glAlphaFunc_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glAlphaFunc( params->func, params->ref );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glAreTexturesResident( void *args )
{
    struct glAreTexturesResident_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->gl.p_glAreTexturesResident( params->n, params->textures, params->residences );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glArrayElement( void *args )
{
    struct glArrayElement_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glArrayElement( params->i );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glBegin( void *args )
{
    struct glBegin_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glBegin( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glBindTexture( void *args )
{
    struct glBindTexture_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glBindTexture( params->target, params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glBitmap( void *args )
{
    struct glBitmap_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glBitmap( params->width, params->height, params->xorig, params->yorig, params->xmove, params->ymove, params->bitmap );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glBlendFunc( void *args )
{
    struct glBlendFunc_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glBlendFunc( params->sfactor, params->dfactor );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glCallList( void *args )
{
    struct glCallList_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glCallList( params->list );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glCallLists( void *args )
{
    struct glCallLists_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glCallLists( params->n, params->type, params->lists );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glClear( void *args )
{
    struct glClear_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glClear( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glClearAccum( void *args )
{
    struct glClearAccum_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glClearAccum( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glClearColor( void *args )
{
    struct glClearColor_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glClearColor( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glClearDepth( void *args )
{
    struct glClearDepth_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glClearDepth( params->depth );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glClearIndex( void *args )
{
    struct glClearIndex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glClearIndex( params->c );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glClearStencil( void *args )
{
    struct glClearStencil_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glClearStencil( params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glClipPlane( void *args )
{
    struct glClipPlane_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glClipPlane( params->plane, params->equation );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3b( void *args )
{
    struct glColor3b_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3b( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3bv( void *args )
{
    struct glColor3bv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3bv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3d( void *args )
{
    struct glColor3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3d( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3dv( void *args )
{
    struct glColor3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3f( void *args )
{
    struct glColor3f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3f( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3fv( void *args )
{
    struct glColor3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3i( void *args )
{
    struct glColor3i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3i( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3iv( void *args )
{
    struct glColor3iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3s( void *args )
{
    struct glColor3s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3s( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3sv( void *args )
{
    struct glColor3sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3ub( void *args )
{
    struct glColor3ub_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3ub( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3ubv( void *args )
{
    struct glColor3ubv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3ubv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3ui( void *args )
{
    struct glColor3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3ui( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3uiv( void *args )
{
    struct glColor3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3uiv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3us( void *args )
{
    struct glColor3us_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3us( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor3usv( void *args )
{
    struct glColor3usv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor3usv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4b( void *args )
{
    struct glColor4b_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4b( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4bv( void *args )
{
    struct glColor4bv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4bv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4d( void *args )
{
    struct glColor4d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4d( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4dv( void *args )
{
    struct glColor4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4f( void *args )
{
    struct glColor4f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4f( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4fv( void *args )
{
    struct glColor4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4i( void *args )
{
    struct glColor4i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4i( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4iv( void *args )
{
    struct glColor4iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4s( void *args )
{
    struct glColor4s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4s( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4sv( void *args )
{
    struct glColor4sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4ub( void *args )
{
    struct glColor4ub_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4ub( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4ubv( void *args )
{
    struct glColor4ubv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4ubv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4ui( void *args )
{
    struct glColor4ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4ui( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4uiv( void *args )
{
    struct glColor4uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4uiv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4us( void *args )
{
    struct glColor4us_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4us( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColor4usv( void *args )
{
    struct glColor4usv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColor4usv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColorMask( void *args )
{
    struct glColorMask_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColorMask( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColorMaterial( void *args )
{
    struct glColorMaterial_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColorMaterial( params->face, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glColorPointer( void *args )
{
    struct glColorPointer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glColorPointer( params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glCopyPixels( void *args )
{
    struct glCopyPixels_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glCopyPixels( params->x, params->y, params->width, params->height, params->type );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glCopyTexImage1D( void *args )
{
    struct glCopyTexImage1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glCopyTexImage1D( params->target, params->level, params->internalformat, params->x, params->y, params->width, params->border );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glCopyTexImage2D( void *args )
{
    struct glCopyTexImage2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glCopyTexImage2D( params->target, params->level, params->internalformat, params->x, params->y, params->width, params->height, params->border );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glCopyTexSubImage1D( void *args )
{
    struct glCopyTexSubImage1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glCopyTexSubImage1D( params->target, params->level, params->xoffset, params->x, params->y, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glCopyTexSubImage2D( void *args )
{
    struct glCopyTexSubImage2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glCopyTexSubImage2D( params->target, params->level, params->xoffset, params->yoffset, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glCullFace( void *args )
{
    struct glCullFace_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glCullFace( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glDeleteLists( void *args )
{
    struct glDeleteLists_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glDeleteLists( params->list, params->range );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glDeleteTextures( void *args )
{
    struct glDeleteTextures_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glDeleteTextures( params->n, params->textures );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glDepthFunc( void *args )
{
    struct glDepthFunc_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glDepthFunc( params->func );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glDepthMask( void *args )
{
    struct glDepthMask_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glDepthMask( params->flag );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glDepthRange( void *args )
{
    struct glDepthRange_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glDepthRange( params->n, params->f );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glDisable( void *args )
{
    struct glDisable_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glDisable( params->cap );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glDisableClientState( void *args )
{
    struct glDisableClientState_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glDisableClientState( params->array );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glDrawArrays( void *args )
{
    struct glDrawArrays_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glDrawArrays( params->mode, params->first, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glDrawBuffer( void *args )
{
    struct glDrawBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glDrawBuffer( params->buf );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glDrawElements( void *args )
{
    struct glDrawElements_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glDrawElements( params->mode, params->count, params->type, params->indices );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glDrawPixels( void *args )
{
    struct glDrawPixels_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glDrawPixels( params->width, params->height, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEdgeFlag( void *args )
{
    struct glEdgeFlag_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEdgeFlag( params->flag );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEdgeFlagPointer( void *args )
{
    struct glEdgeFlagPointer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEdgeFlagPointer( params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEdgeFlagv( void *args )
{
    struct glEdgeFlagv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEdgeFlagv( params->flag );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEnable( void *args )
{
    struct glEnable_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEnable( params->cap );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEnableClientState( void *args )
{
    struct glEnableClientState_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEnableClientState( params->array );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEnd( void *args )
{
    struct glEnd_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEnd();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEndList( void *args )
{
    struct glEndList_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEndList();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalCoord1d( void *args )
{
    struct glEvalCoord1d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalCoord1d( params->u );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalCoord1dv( void *args )
{
    struct glEvalCoord1dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalCoord1dv( params->u );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalCoord1f( void *args )
{
    struct glEvalCoord1f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalCoord1f( params->u );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalCoord1fv( void *args )
{
    struct glEvalCoord1fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalCoord1fv( params->u );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalCoord2d( void *args )
{
    struct glEvalCoord2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalCoord2d( params->u, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalCoord2dv( void *args )
{
    struct glEvalCoord2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalCoord2dv( params->u );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalCoord2f( void *args )
{
    struct glEvalCoord2f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalCoord2f( params->u, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalCoord2fv( void *args )
{
    struct glEvalCoord2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalCoord2fv( params->u );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalMesh1( void *args )
{
    struct glEvalMesh1_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalMesh1( params->mode, params->i1, params->i2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalMesh2( void *args )
{
    struct glEvalMesh2_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalMesh2( params->mode, params->i1, params->i2, params->j1, params->j2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalPoint1( void *args )
{
    struct glEvalPoint1_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalPoint1( params->i );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glEvalPoint2( void *args )
{
    struct glEvalPoint2_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glEvalPoint2( params->i, params->j );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glFeedbackBuffer( void *args )
{
    struct glFeedbackBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glFeedbackBuffer( params->size, params->type, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glFinish( void *args )
{
    struct glFinish_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glFinish();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glFlush( void *args )
{
    struct glFlush_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glFlush();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glFogf( void *args )
{
    struct glFogf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glFogf( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glFogfv( void *args )
{
    struct glFogfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glFogfv( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glFogi( void *args )
{
    struct glFogi_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glFogi( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glFogiv( void *args )
{
    struct glFogiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glFogiv( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glFrontFace( void *args )
{
    struct glFrontFace_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glFrontFace( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glFrustum( void *args )
{
    struct glFrustum_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glFrustum( params->left, params->right, params->bottom, params->top, params->zNear, params->zFar );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGenLists( void *args )
{
    struct glGenLists_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->gl.p_glGenLists( params->range );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGenTextures( void *args )
{
    struct glGenTextures_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGenTextures( params->n, params->textures );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetBooleanv( void *args )
{
    struct glGetBooleanv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetBooleanv( params->pname, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetClipPlane( void *args )
{
    struct glGetClipPlane_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetClipPlane( params->plane, params->equation );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetDoublev( void *args )
{
    struct glGetDoublev_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetDoublev( params->pname, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetError( void *args )
{
    struct glGetError_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->gl.p_glGetError();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetFloatv( void *args )
{
    struct glGetFloatv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetFloatv( params->pname, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetLightfv( void *args )
{
    struct glGetLightfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetLightfv( params->light, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetLightiv( void *args )
{
    struct glGetLightiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetLightiv( params->light, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetMapdv( void *args )
{
    struct glGetMapdv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetMapdv( params->target, params->query, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetMapfv( void *args )
{
    struct glGetMapfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetMapfv( params->target, params->query, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetMapiv( void *args )
{
    struct glGetMapiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetMapiv( params->target, params->query, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetMaterialfv( void *args )
{
    struct glGetMaterialfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetMaterialfv( params->face, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetMaterialiv( void *args )
{
    struct glGetMaterialiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetMaterialiv( params->face, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetPixelMapfv( void *args )
{
    struct glGetPixelMapfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetPixelMapfv( params->map, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetPixelMapuiv( void *args )
{
    struct glGetPixelMapuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetPixelMapuiv( params->map, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetPixelMapusv( void *args )
{
    struct glGetPixelMapusv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetPixelMapusv( params->map, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetPointerv( void *args )
{
    struct glGetPointerv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetPointerv( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetPolygonStipple( void *args )
{
    struct glGetPolygonStipple_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetPolygonStipple( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetTexEnvfv( void *args )
{
    struct glGetTexEnvfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetTexEnvfv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetTexEnviv( void *args )
{
    struct glGetTexEnviv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetTexEnviv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetTexGendv( void *args )
{
    struct glGetTexGendv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetTexGendv( params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetTexGenfv( void *args )
{
    struct glGetTexGenfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetTexGenfv( params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetTexGeniv( void *args )
{
    struct glGetTexGeniv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetTexGeniv( params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetTexImage( void *args )
{
    struct glGetTexImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetTexImage( params->target, params->level, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetTexLevelParameterfv( void *args )
{
    struct glGetTexLevelParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetTexLevelParameterfv( params->target, params->level, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetTexLevelParameteriv( void *args )
{
    struct glGetTexLevelParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetTexLevelParameteriv( params->target, params->level, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetTexParameterfv( void *args )
{
    struct glGetTexParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetTexParameterfv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glGetTexParameteriv( void *args )
{
    struct glGetTexParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glGetTexParameteriv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glHint( void *args )
{
    struct glHint_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glHint( params->target, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexMask( void *args )
{
    struct glIndexMask_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexMask( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexPointer( void *args )
{
    struct glIndexPointer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexPointer( params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexd( void *args )
{
    struct glIndexd_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexd( params->c );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexdv( void *args )
{
    struct glIndexdv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexdv( params->c );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexf( void *args )
{
    struct glIndexf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexf( params->c );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexfv( void *args )
{
    struct glIndexfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexfv( params->c );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexi( void *args )
{
    struct glIndexi_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexi( params->c );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexiv( void *args )
{
    struct glIndexiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexiv( params->c );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexs( void *args )
{
    struct glIndexs_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexs( params->c );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexsv( void *args )
{
    struct glIndexsv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexsv( params->c );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexub( void *args )
{
    struct glIndexub_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexub( params->c );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIndexubv( void *args )
{
    struct glIndexubv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glIndexubv( params->c );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glInitNames( void *args )
{
    struct glInitNames_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glInitNames();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glInterleavedArrays( void *args )
{
    struct glInterleavedArrays_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glInterleavedArrays( params->format, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIsEnabled( void *args )
{
    struct glIsEnabled_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->gl.p_glIsEnabled( params->cap );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIsList( void *args )
{
    struct glIsList_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->gl.p_glIsList( params->list );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glIsTexture( void *args )
{
    struct glIsTexture_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->gl.p_glIsTexture( params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLightModelf( void *args )
{
    struct glLightModelf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLightModelf( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLightModelfv( void *args )
{
    struct glLightModelfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLightModelfv( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLightModeli( void *args )
{
    struct glLightModeli_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLightModeli( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLightModeliv( void *args )
{
    struct glLightModeliv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLightModeliv( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLightf( void *args )
{
    struct glLightf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLightf( params->light, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLightfv( void *args )
{
    struct glLightfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLightfv( params->light, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLighti( void *args )
{
    struct glLighti_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLighti( params->light, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLightiv( void *args )
{
    struct glLightiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLightiv( params->light, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLineStipple( void *args )
{
    struct glLineStipple_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLineStipple( params->factor, params->pattern );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLineWidth( void *args )
{
    struct glLineWidth_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLineWidth( params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glListBase( void *args )
{
    struct glListBase_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glListBase( params->base );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLoadIdentity( void *args )
{
    struct glLoadIdentity_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLoadIdentity();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLoadMatrixd( void *args )
{
    struct glLoadMatrixd_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLoadMatrixd( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLoadMatrixf( void *args )
{
    struct glLoadMatrixf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLoadMatrixf( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLoadName( void *args )
{
    struct glLoadName_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLoadName( params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glLogicOp( void *args )
{
    struct glLogicOp_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glLogicOp( params->opcode );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMap1d( void *args )
{
    struct glMap1d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMap1d( params->target, params->u1, params->u2, params->stride, params->order, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMap1f( void *args )
{
    struct glMap1f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMap1f( params->target, params->u1, params->u2, params->stride, params->order, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMap2d( void *args )
{
    struct glMap2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMap2d( params->target, params->u1, params->u2, params->ustride, params->uorder, params->v1, params->v2, params->vstride, params->vorder, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMap2f( void *args )
{
    struct glMap2f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMap2f( params->target, params->u1, params->u2, params->ustride, params->uorder, params->v1, params->v2, params->vstride, params->vorder, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMapGrid1d( void *args )
{
    struct glMapGrid1d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMapGrid1d( params->un, params->u1, params->u2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMapGrid1f( void *args )
{
    struct glMapGrid1f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMapGrid1f( params->un, params->u1, params->u2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMapGrid2d( void *args )
{
    struct glMapGrid2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMapGrid2d( params->un, params->u1, params->u2, params->vn, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMapGrid2f( void *args )
{
    struct glMapGrid2f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMapGrid2f( params->un, params->u1, params->u2, params->vn, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMaterialf( void *args )
{
    struct glMaterialf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMaterialf( params->face, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMaterialfv( void *args )
{
    struct glMaterialfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMaterialfv( params->face, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMateriali( void *args )
{
    struct glMateriali_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMateriali( params->face, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMaterialiv( void *args )
{
    struct glMaterialiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMaterialiv( params->face, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMatrixMode( void *args )
{
    struct glMatrixMode_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMatrixMode( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMultMatrixd( void *args )
{
    struct glMultMatrixd_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMultMatrixd( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glMultMatrixf( void *args )
{
    struct glMultMatrixf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glMultMatrixf( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNewList( void *args )
{
    struct glNewList_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNewList( params->list, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNormal3b( void *args )
{
    struct glNormal3b_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNormal3b( params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNormal3bv( void *args )
{
    struct glNormal3bv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNormal3bv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNormal3d( void *args )
{
    struct glNormal3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNormal3d( params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNormal3dv( void *args )
{
    struct glNormal3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNormal3dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNormal3f( void *args )
{
    struct glNormal3f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNormal3f( params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNormal3fv( void *args )
{
    struct glNormal3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNormal3fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNormal3i( void *args )
{
    struct glNormal3i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNormal3i( params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNormal3iv( void *args )
{
    struct glNormal3iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNormal3iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNormal3s( void *args )
{
    struct glNormal3s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNormal3s( params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNormal3sv( void *args )
{
    struct glNormal3sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNormal3sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glNormalPointer( void *args )
{
    struct glNormalPointer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glNormalPointer( params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glOrtho( void *args )
{
    struct glOrtho_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glOrtho( params->left, params->right, params->bottom, params->top, params->zNear, params->zFar );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPassThrough( void *args )
{
    struct glPassThrough_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPassThrough( params->token );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPixelMapfv( void *args )
{
    struct glPixelMapfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPixelMapfv( params->map, params->mapsize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPixelMapuiv( void *args )
{
    struct glPixelMapuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPixelMapuiv( params->map, params->mapsize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPixelMapusv( void *args )
{
    struct glPixelMapusv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPixelMapusv( params->map, params->mapsize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPixelStoref( void *args )
{
    struct glPixelStoref_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPixelStoref( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPixelStorei( void *args )
{
    struct glPixelStorei_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPixelStorei( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPixelTransferf( void *args )
{
    struct glPixelTransferf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPixelTransferf( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPixelTransferi( void *args )
{
    struct glPixelTransferi_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPixelTransferi( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPixelZoom( void *args )
{
    struct glPixelZoom_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPixelZoom( params->xfactor, params->yfactor );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPointSize( void *args )
{
    struct glPointSize_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPointSize( params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPolygonMode( void *args )
{
    struct glPolygonMode_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPolygonMode( params->face, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPolygonOffset( void *args )
{
    struct glPolygonOffset_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPolygonOffset( params->factor, params->units );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPolygonStipple( void *args )
{
    struct glPolygonStipple_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPolygonStipple( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPopAttrib( void *args )
{
    struct glPopAttrib_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPopAttrib();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPopClientAttrib( void *args )
{
    struct glPopClientAttrib_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPopClientAttrib();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPopMatrix( void *args )
{
    struct glPopMatrix_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPopMatrix();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPopName( void *args )
{
    struct glPopName_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPopName();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPrioritizeTextures( void *args )
{
    struct glPrioritizeTextures_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPrioritizeTextures( params->n, params->textures, params->priorities );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPushAttrib( void *args )
{
    struct glPushAttrib_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPushAttrib( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPushClientAttrib( void *args )
{
    struct glPushClientAttrib_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPushClientAttrib( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPushMatrix( void *args )
{
    struct glPushMatrix_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPushMatrix();
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glPushName( void *args )
{
    struct glPushName_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glPushName( params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos2d( void *args )
{
    struct glRasterPos2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos2d( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos2dv( void *args )
{
    struct glRasterPos2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos2dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos2f( void *args )
{
    struct glRasterPos2f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos2f( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos2fv( void *args )
{
    struct glRasterPos2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos2fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos2i( void *args )
{
    struct glRasterPos2i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos2i( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos2iv( void *args )
{
    struct glRasterPos2iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos2iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos2s( void *args )
{
    struct glRasterPos2s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos2s( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos2sv( void *args )
{
    struct glRasterPos2sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos2sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos3d( void *args )
{
    struct glRasterPos3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos3d( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos3dv( void *args )
{
    struct glRasterPos3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos3dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos3f( void *args )
{
    struct glRasterPos3f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos3f( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos3fv( void *args )
{
    struct glRasterPos3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos3fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos3i( void *args )
{
    struct glRasterPos3i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos3i( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos3iv( void *args )
{
    struct glRasterPos3iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos3iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos3s( void *args )
{
    struct glRasterPos3s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos3s( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos3sv( void *args )
{
    struct glRasterPos3sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos3sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos4d( void *args )
{
    struct glRasterPos4d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos4d( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos4dv( void *args )
{
    struct glRasterPos4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos4dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos4f( void *args )
{
    struct glRasterPos4f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos4f( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos4fv( void *args )
{
    struct glRasterPos4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos4fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos4i( void *args )
{
    struct glRasterPos4i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos4i( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos4iv( void *args )
{
    struct glRasterPos4iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos4iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos4s( void *args )
{
    struct glRasterPos4s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos4s( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRasterPos4sv( void *args )
{
    struct glRasterPos4sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRasterPos4sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glReadBuffer( void *args )
{
    struct glReadBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glReadBuffer( params->src );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glReadPixels( void *args )
{
    struct glReadPixels_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glReadPixels( params->x, params->y, params->width, params->height, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRectd( void *args )
{
    struct glRectd_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRectd( params->x1, params->y1, params->x2, params->y2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRectdv( void *args )
{
    struct glRectdv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRectdv( params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRectf( void *args )
{
    struct glRectf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRectf( params->x1, params->y1, params->x2, params->y2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRectfv( void *args )
{
    struct glRectfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRectfv( params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRecti( void *args )
{
    struct glRecti_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRecti( params->x1, params->y1, params->x2, params->y2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRectiv( void *args )
{
    struct glRectiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRectiv( params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRects( void *args )
{
    struct glRects_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRects( params->x1, params->y1, params->x2, params->y2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRectsv( void *args )
{
    struct glRectsv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRectsv( params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRenderMode( void *args )
{
    struct glRenderMode_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->gl.p_glRenderMode( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRotated( void *args )
{
    struct glRotated_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRotated( params->angle, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glRotatef( void *args )
{
    struct glRotatef_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glRotatef( params->angle, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glScaled( void *args )
{
    struct glScaled_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glScaled( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glScalef( void *args )
{
    struct glScalef_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glScalef( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glScissor( void *args )
{
    struct glScissor_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glScissor( params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glSelectBuffer( void *args )
{
    struct glSelectBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glSelectBuffer( params->size, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glShadeModel( void *args )
{
    struct glShadeModel_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glShadeModel( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glStencilFunc( void *args )
{
    struct glStencilFunc_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glStencilFunc( params->func, params->ref, params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glStencilMask( void *args )
{
    struct glStencilMask_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glStencilMask( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glStencilOp( void *args )
{
    struct glStencilOp_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glStencilOp( params->fail, params->zfail, params->zpass );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord1d( void *args )
{
    struct glTexCoord1d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord1d( params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord1dv( void *args )
{
    struct glTexCoord1dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord1dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord1f( void *args )
{
    struct glTexCoord1f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord1f( params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord1fv( void *args )
{
    struct glTexCoord1fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord1fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord1i( void *args )
{
    struct glTexCoord1i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord1i( params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord1iv( void *args )
{
    struct glTexCoord1iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord1iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord1s( void *args )
{
    struct glTexCoord1s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord1s( params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord1sv( void *args )
{
    struct glTexCoord1sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord1sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord2d( void *args )
{
    struct glTexCoord2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord2d( params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord2dv( void *args )
{
    struct glTexCoord2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord2dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord2f( void *args )
{
    struct glTexCoord2f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord2f( params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord2fv( void *args )
{
    struct glTexCoord2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord2fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord2i( void *args )
{
    struct glTexCoord2i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord2i( params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord2iv( void *args )
{
    struct glTexCoord2iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord2iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord2s( void *args )
{
    struct glTexCoord2s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord2s( params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord2sv( void *args )
{
    struct glTexCoord2sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord2sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord3d( void *args )
{
    struct glTexCoord3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord3d( params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord3dv( void *args )
{
    struct glTexCoord3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord3dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord3f( void *args )
{
    struct glTexCoord3f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord3f( params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord3fv( void *args )
{
    struct glTexCoord3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord3fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord3i( void *args )
{
    struct glTexCoord3i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord3i( params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord3iv( void *args )
{
    struct glTexCoord3iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord3iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord3s( void *args )
{
    struct glTexCoord3s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord3s( params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord3sv( void *args )
{
    struct glTexCoord3sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord3sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord4d( void *args )
{
    struct glTexCoord4d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord4d( params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord4dv( void *args )
{
    struct glTexCoord4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord4dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord4f( void *args )
{
    struct glTexCoord4f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord4f( params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord4fv( void *args )
{
    struct glTexCoord4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord4fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord4i( void *args )
{
    struct glTexCoord4i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord4i( params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord4iv( void *args )
{
    struct glTexCoord4iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord4iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord4s( void *args )
{
    struct glTexCoord4s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord4s( params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoord4sv( void *args )
{
    struct glTexCoord4sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoord4sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexCoordPointer( void *args )
{
    struct glTexCoordPointer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexCoordPointer( params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexEnvf( void *args )
{
    struct glTexEnvf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexEnvf( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexEnvfv( void *args )
{
    struct glTexEnvfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexEnvfv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexEnvi( void *args )
{
    struct glTexEnvi_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexEnvi( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexEnviv( void *args )
{
    struct glTexEnviv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexEnviv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexGend( void *args )
{
    struct glTexGend_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexGend( params->coord, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexGendv( void *args )
{
    struct glTexGendv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexGendv( params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexGenf( void *args )
{
    struct glTexGenf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexGenf( params->coord, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexGenfv( void *args )
{
    struct glTexGenfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexGenfv( params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexGeni( void *args )
{
    struct glTexGeni_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexGeni( params->coord, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexGeniv( void *args )
{
    struct glTexGeniv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexGeniv( params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexImage1D( void *args )
{
    struct glTexImage1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexImage1D( params->target, params->level, params->internalformat, params->width, params->border, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexImage2D( void *args )
{
    struct glTexImage2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexImage2D( params->target, params->level, params->internalformat, params->width, params->height, params->border, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexParameterf( void *args )
{
    struct glTexParameterf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexParameterf( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexParameterfv( void *args )
{
    struct glTexParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexParameterfv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexParameteri( void *args )
{
    struct glTexParameteri_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexParameteri( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexParameteriv( void *args )
{
    struct glTexParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexParameteriv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexSubImage1D( void *args )
{
    struct glTexSubImage1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexSubImage1D( params->target, params->level, params->xoffset, params->width, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTexSubImage2D( void *args )
{
    struct glTexSubImage2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTexSubImage2D( params->target, params->level, params->xoffset, params->yoffset, params->width, params->height, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTranslated( void *args )
{
    struct glTranslated_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTranslated( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glTranslatef( void *args )
{
    struct glTranslatef_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glTranslatef( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex2d( void *args )
{
    struct glVertex2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex2d( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex2dv( void *args )
{
    struct glVertex2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex2dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex2f( void *args )
{
    struct glVertex2f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex2f( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex2fv( void *args )
{
    struct glVertex2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex2fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex2i( void *args )
{
    struct glVertex2i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex2i( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex2iv( void *args )
{
    struct glVertex2iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex2iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex2s( void *args )
{
    struct glVertex2s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex2s( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex2sv( void *args )
{
    struct glVertex2sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex2sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex3d( void *args )
{
    struct glVertex3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex3d( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex3dv( void *args )
{
    struct glVertex3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex3dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex3f( void *args )
{
    struct glVertex3f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex3f( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex3fv( void *args )
{
    struct glVertex3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex3fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex3i( void *args )
{
    struct glVertex3i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex3i( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex3iv( void *args )
{
    struct glVertex3iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex3iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex3s( void *args )
{
    struct glVertex3s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex3s( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex3sv( void *args )
{
    struct glVertex3sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex3sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex4d( void *args )
{
    struct glVertex4d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex4d( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex4dv( void *args )
{
    struct glVertex4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex4dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex4f( void *args )
{
    struct glVertex4f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex4f( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex4fv( void *args )
{
    struct glVertex4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex4fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex4i( void *args )
{
    struct glVertex4i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex4i( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex4iv( void *args )
{
    struct glVertex4iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex4iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex4s( void *args )
{
    struct glVertex4s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex4s( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertex4sv( void *args )
{
    struct glVertex4sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertex4sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glVertexPointer( void *args )
{
    struct glVertexPointer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glVertexPointer( params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS gl_glViewport( void *args )
{
    struct glViewport_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->gl.p_glViewport( params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAccumxOES( void *args )
{
    struct glAccumxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glAccumxOES( params->op, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAcquireKeyedMutexWin32EXT( void *args )
{
    struct glAcquireKeyedMutexWin32EXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glAcquireKeyedMutexWin32EXT( params->memory, params->key, params->timeout );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glActiveProgramEXT( void *args )
{
    struct glActiveProgramEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glActiveProgramEXT( params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glActiveShaderProgram( void *args )
{
    struct glActiveShaderProgram_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glActiveShaderProgram( params->pipeline, params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glActiveStencilFaceEXT( void *args )
{
    struct glActiveStencilFaceEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glActiveStencilFaceEXT( params->face );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glActiveTexture( void *args )
{
    struct glActiveTexture_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glActiveTexture( params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glActiveTextureARB( void *args )
{
    struct glActiveTextureARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glActiveTextureARB( params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glActiveVaryingNV( void *args )
{
    struct glActiveVaryingNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glActiveVaryingNV( params->program, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAlphaFragmentOp1ATI( void *args )
{
    struct glAlphaFragmentOp1ATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glAlphaFragmentOp1ATI( params->op, params->dst, params->dstMod, params->arg1, params->arg1Rep, params->arg1Mod );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAlphaFragmentOp2ATI( void *args )
{
    struct glAlphaFragmentOp2ATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glAlphaFragmentOp2ATI( params->op, params->dst, params->dstMod, params->arg1, params->arg1Rep, params->arg1Mod, params->arg2, params->arg2Rep, params->arg2Mod );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAlphaFragmentOp3ATI( void *args )
{
    struct glAlphaFragmentOp3ATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glAlphaFragmentOp3ATI( params->op, params->dst, params->dstMod, params->arg1, params->arg1Rep, params->arg1Mod, params->arg2, params->arg2Rep, params->arg2Mod, params->arg3, params->arg3Rep, params->arg3Mod );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAlphaFuncxOES( void *args )
{
    struct glAlphaFuncxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glAlphaFuncxOES( params->func, params->ref );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAlphaToCoverageDitherControlNV( void *args )
{
    struct glAlphaToCoverageDitherControlNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glAlphaToCoverageDitherControlNV( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glApplyFramebufferAttachmentCMAAINTEL( void *args )
{
    struct glApplyFramebufferAttachmentCMAAINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glApplyFramebufferAttachmentCMAAINTEL();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glApplyTextureEXT( void *args )
{
    struct glApplyTextureEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glApplyTextureEXT( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAreProgramsResidentNV( void *args )
{
    struct glAreProgramsResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glAreProgramsResidentNV( params->n, params->programs, params->residences );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAreTexturesResidentEXT( void *args )
{
    struct glAreTexturesResidentEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glAreTexturesResidentEXT( params->n, params->textures, params->residences );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glArrayElementEXT( void *args )
{
    struct glArrayElementEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glArrayElementEXT( params->i );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glArrayObjectATI( void *args )
{
    struct glArrayObjectATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glArrayObjectATI( params->array, params->size, params->type, params->stride, params->buffer, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAsyncCopyBufferSubDataNVX( void *args )
{
    struct glAsyncCopyBufferSubDataNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glAsyncCopyBufferSubDataNVX( params->waitSemaphoreCount, params->waitSemaphoreArray, params->fenceValueArray, params->readGpu, params->writeGpuMask, params->readBuffer, params->writeBuffer, params->readOffset, params->writeOffset, params->size, params->signalSemaphoreCount, params->signalSemaphoreArray, params->signalValueArray );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAsyncCopyImageSubDataNVX( void *args )
{
    struct glAsyncCopyImageSubDataNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glAsyncCopyImageSubDataNVX( params->waitSemaphoreCount, params->waitSemaphoreArray, params->waitValueArray, params->srcGpu, params->dstGpuMask, params->srcName, params->srcTarget, params->srcLevel, params->srcX, params->srcY, params->srcZ, params->dstName, params->dstTarget, params->dstLevel, params->dstX, params->dstY, params->dstZ, params->srcWidth, params->srcHeight, params->srcDepth, params->signalSemaphoreCount, params->signalSemaphoreArray, params->signalValueArray );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAsyncMarkerSGIX( void *args )
{
    struct glAsyncMarkerSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glAsyncMarkerSGIX( params->marker );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAttachObjectARB( void *args )
{
    struct glAttachObjectARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glAttachObjectARB( params->containerObj, params->obj );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glAttachShader( void *args )
{
    struct glAttachShader_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glAttachShader( params->program, params->shader );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginConditionalRender( void *args )
{
    struct glBeginConditionalRender_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginConditionalRender( params->id, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginConditionalRenderNV( void *args )
{
    struct glBeginConditionalRenderNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginConditionalRenderNV( params->id, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginConditionalRenderNVX( void *args )
{
    struct glBeginConditionalRenderNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginConditionalRenderNVX( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginFragmentShaderATI( void *args )
{
    struct glBeginFragmentShaderATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginFragmentShaderATI();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginOcclusionQueryNV( void *args )
{
    struct glBeginOcclusionQueryNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginOcclusionQueryNV( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginPerfMonitorAMD( void *args )
{
    struct glBeginPerfMonitorAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginPerfMonitorAMD( params->monitor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginPerfQueryINTEL( void *args )
{
    struct glBeginPerfQueryINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginPerfQueryINTEL( params->queryHandle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginQuery( void *args )
{
    struct glBeginQuery_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginQuery( params->target, params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginQueryARB( void *args )
{
    struct glBeginQueryARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginQueryARB( params->target, params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginQueryIndexed( void *args )
{
    struct glBeginQueryIndexed_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginQueryIndexed( params->target, params->index, params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginTransformFeedback( void *args )
{
    struct glBeginTransformFeedback_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginTransformFeedback( params->primitiveMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginTransformFeedbackEXT( void *args )
{
    struct glBeginTransformFeedbackEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginTransformFeedbackEXT( params->primitiveMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginTransformFeedbackNV( void *args )
{
    struct glBeginTransformFeedbackNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginTransformFeedbackNV( params->primitiveMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginVertexShaderEXT( void *args )
{
    struct glBeginVertexShaderEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginVertexShaderEXT();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBeginVideoCaptureNV( void *args )
{
    struct glBeginVideoCaptureNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBeginVideoCaptureNV( params->video_capture_slot );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindAttribLocation( void *args )
{
    struct glBindAttribLocation_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindAttribLocation( params->program, params->index, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindAttribLocationARB( void *args )
{
    struct glBindAttribLocationARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindAttribLocationARB( params->programObj, params->index, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBuffer( void *args )
{
    struct glBindBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBuffer( params->target, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBufferARB( void *args )
{
    struct glBindBufferARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBufferARB( params->target, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBufferBase( void *args )
{
    struct glBindBufferBase_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBufferBase( params->target, params->index, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBufferBaseEXT( void *args )
{
    struct glBindBufferBaseEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBufferBaseEXT( params->target, params->index, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBufferBaseNV( void *args )
{
    struct glBindBufferBaseNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBufferBaseNV( params->target, params->index, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBufferOffsetEXT( void *args )
{
    struct glBindBufferOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBufferOffsetEXT( params->target, params->index, params->buffer, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBufferOffsetNV( void *args )
{
    struct glBindBufferOffsetNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBufferOffsetNV( params->target, params->index, params->buffer, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBufferRange( void *args )
{
    struct glBindBufferRange_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBufferRange( params->target, params->index, params->buffer, params->offset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBufferRangeEXT( void *args )
{
    struct glBindBufferRangeEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBufferRangeEXT( params->target, params->index, params->buffer, params->offset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBufferRangeNV( void *args )
{
    struct glBindBufferRangeNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBufferRangeNV( params->target, params->index, params->buffer, params->offset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBuffersBase( void *args )
{
    struct glBindBuffersBase_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBuffersBase( params->target, params->first, params->count, params->buffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindBuffersRange( void *args )
{
    struct glBindBuffersRange_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindBuffersRange( params->target, params->first, params->count, params->buffers, params->offsets, params->sizes );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindFragDataLocation( void *args )
{
    struct glBindFragDataLocation_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindFragDataLocation( params->program, params->color, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindFragDataLocationEXT( void *args )
{
    struct glBindFragDataLocationEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindFragDataLocationEXT( params->program, params->color, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindFragDataLocationIndexed( void *args )
{
    struct glBindFragDataLocationIndexed_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindFragDataLocationIndexed( params->program, params->colorNumber, params->index, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindFragmentShaderATI( void *args )
{
    struct glBindFragmentShaderATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindFragmentShaderATI( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindFramebuffer( void *args )
{
    struct glBindFramebuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindFramebuffer( params->target, params->framebuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindFramebufferEXT( void *args )
{
    struct glBindFramebufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindFramebufferEXT( params->target, params->framebuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindImageTexture( void *args )
{
    struct glBindImageTexture_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindImageTexture( params->unit, params->texture, params->level, params->layered, params->layer, params->access, params->format );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindImageTextureEXT( void *args )
{
    struct glBindImageTextureEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindImageTextureEXT( params->index, params->texture, params->level, params->layered, params->layer, params->access, params->format );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindImageTextures( void *args )
{
    struct glBindImageTextures_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindImageTextures( params->first, params->count, params->textures );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindLightParameterEXT( void *args )
{
    struct glBindLightParameterEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glBindLightParameterEXT( params->light, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindMaterialParameterEXT( void *args )
{
    struct glBindMaterialParameterEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glBindMaterialParameterEXT( params->face, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindMultiTextureEXT( void *args )
{
    struct glBindMultiTextureEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindMultiTextureEXT( params->texunit, params->target, params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindParameterEXT( void *args )
{
    struct glBindParameterEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glBindParameterEXT( params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindProgramARB( void *args )
{
    struct glBindProgramARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindProgramARB( params->target, params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindProgramNV( void *args )
{
    struct glBindProgramNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindProgramNV( params->target, params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindProgramPipeline( void *args )
{
    struct glBindProgramPipeline_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindProgramPipeline( params->pipeline );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindRenderbuffer( void *args )
{
    struct glBindRenderbuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindRenderbuffer( params->target, params->renderbuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindRenderbufferEXT( void *args )
{
    struct glBindRenderbufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindRenderbufferEXT( params->target, params->renderbuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindSampler( void *args )
{
    struct glBindSampler_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindSampler( params->unit, params->sampler );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindSamplers( void *args )
{
    struct glBindSamplers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindSamplers( params->first, params->count, params->samplers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindShadingRateImageNV( void *args )
{
    struct glBindShadingRateImageNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindShadingRateImageNV( params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindTexGenParameterEXT( void *args )
{
    struct glBindTexGenParameterEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glBindTexGenParameterEXT( params->unit, params->coord, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindTextureEXT( void *args )
{
    struct glBindTextureEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindTextureEXT( params->target, params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindTextureUnit( void *args )
{
    struct glBindTextureUnit_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindTextureUnit( params->unit, params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindTextureUnitParameterEXT( void *args )
{
    struct glBindTextureUnitParameterEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glBindTextureUnitParameterEXT( params->unit, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindTextures( void *args )
{
    struct glBindTextures_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindTextures( params->first, params->count, params->textures );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindTransformFeedback( void *args )
{
    struct glBindTransformFeedback_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindTransformFeedback( params->target, params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindTransformFeedbackNV( void *args )
{
    struct glBindTransformFeedbackNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindTransformFeedbackNV( params->target, params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindVertexArray( void *args )
{
    struct glBindVertexArray_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindVertexArray( params->array );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindVertexArrayAPPLE( void *args )
{
    struct glBindVertexArrayAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindVertexArrayAPPLE( params->array );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindVertexBuffer( void *args )
{
    struct glBindVertexBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindVertexBuffer( params->bindingindex, params->buffer, params->offset, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindVertexBuffers( void *args )
{
    struct glBindVertexBuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindVertexBuffers( params->first, params->count, params->buffers, params->offsets, params->strides );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindVertexShaderEXT( void *args )
{
    struct glBindVertexShaderEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindVertexShaderEXT( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindVideoCaptureStreamBufferNV( void *args )
{
    struct glBindVideoCaptureStreamBufferNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindVideoCaptureStreamBufferNV( params->video_capture_slot, params->stream, params->frame_region, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBindVideoCaptureStreamTextureNV( void *args )
{
    struct glBindVideoCaptureStreamTextureNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBindVideoCaptureStreamTextureNV( params->video_capture_slot, params->stream, params->frame_region, params->target, params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBinormal3bEXT( void *args )
{
    struct glBinormal3bEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBinormal3bEXT( params->bx, params->by, params->bz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBinormal3bvEXT( void *args )
{
    struct glBinormal3bvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBinormal3bvEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBinormal3dEXT( void *args )
{
    struct glBinormal3dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBinormal3dEXT( params->bx, params->by, params->bz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBinormal3dvEXT( void *args )
{
    struct glBinormal3dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBinormal3dvEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBinormal3fEXT( void *args )
{
    struct glBinormal3fEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBinormal3fEXT( params->bx, params->by, params->bz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBinormal3fvEXT( void *args )
{
    struct glBinormal3fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBinormal3fvEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBinormal3iEXT( void *args )
{
    struct glBinormal3iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBinormal3iEXT( params->bx, params->by, params->bz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBinormal3ivEXT( void *args )
{
    struct glBinormal3ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBinormal3ivEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBinormal3sEXT( void *args )
{
    struct glBinormal3sEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBinormal3sEXT( params->bx, params->by, params->bz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBinormal3svEXT( void *args )
{
    struct glBinormal3svEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBinormal3svEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBinormalPointerEXT( void *args )
{
    struct glBinormalPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBinormalPointerEXT( params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBitmapxOES( void *args )
{
    struct glBitmapxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBitmapxOES( params->width, params->height, params->xorig, params->yorig, params->xmove, params->ymove, params->bitmap );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendBarrierKHR( void *args )
{
    struct glBlendBarrierKHR_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendBarrierKHR();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendBarrierNV( void *args )
{
    struct glBlendBarrierNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendBarrierNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendColor( void *args )
{
    struct glBlendColor_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendColor( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendColorEXT( void *args )
{
    struct glBlendColorEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendColorEXT( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendColorxOES( void *args )
{
    struct glBlendColorxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendColorxOES( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendEquation( void *args )
{
    struct glBlendEquation_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendEquation( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendEquationEXT( void *args )
{
    struct glBlendEquationEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendEquationEXT( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendEquationIndexedAMD( void *args )
{
    struct glBlendEquationIndexedAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendEquationIndexedAMD( params->buf, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendEquationSeparate( void *args )
{
    struct glBlendEquationSeparate_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendEquationSeparate( params->modeRGB, params->modeAlpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendEquationSeparateEXT( void *args )
{
    struct glBlendEquationSeparateEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendEquationSeparateEXT( params->modeRGB, params->modeAlpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendEquationSeparateIndexedAMD( void *args )
{
    struct glBlendEquationSeparateIndexedAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendEquationSeparateIndexedAMD( params->buf, params->modeRGB, params->modeAlpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendEquationSeparatei( void *args )
{
    struct glBlendEquationSeparatei_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendEquationSeparatei( params->buf, params->modeRGB, params->modeAlpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendEquationSeparateiARB( void *args )
{
    struct glBlendEquationSeparateiARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendEquationSeparateiARB( params->buf, params->modeRGB, params->modeAlpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendEquationi( void *args )
{
    struct glBlendEquationi_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendEquationi( params->buf, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendEquationiARB( void *args )
{
    struct glBlendEquationiARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendEquationiARB( params->buf, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendFuncIndexedAMD( void *args )
{
    struct glBlendFuncIndexedAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendFuncIndexedAMD( params->buf, params->src, params->dst );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendFuncSeparate( void *args )
{
    struct glBlendFuncSeparate_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendFuncSeparate( params->sfactorRGB, params->dfactorRGB, params->sfactorAlpha, params->dfactorAlpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendFuncSeparateEXT( void *args )
{
    struct glBlendFuncSeparateEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendFuncSeparateEXT( params->sfactorRGB, params->dfactorRGB, params->sfactorAlpha, params->dfactorAlpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendFuncSeparateINGR( void *args )
{
    struct glBlendFuncSeparateINGR_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendFuncSeparateINGR( params->sfactorRGB, params->dfactorRGB, params->sfactorAlpha, params->dfactorAlpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendFuncSeparateIndexedAMD( void *args )
{
    struct glBlendFuncSeparateIndexedAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendFuncSeparateIndexedAMD( params->buf, params->srcRGB, params->dstRGB, params->srcAlpha, params->dstAlpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendFuncSeparatei( void *args )
{
    struct glBlendFuncSeparatei_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendFuncSeparatei( params->buf, params->srcRGB, params->dstRGB, params->srcAlpha, params->dstAlpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendFuncSeparateiARB( void *args )
{
    struct glBlendFuncSeparateiARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendFuncSeparateiARB( params->buf, params->srcRGB, params->dstRGB, params->srcAlpha, params->dstAlpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendFunci( void *args )
{
    struct glBlendFunci_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendFunci( params->buf, params->src, params->dst );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendFunciARB( void *args )
{
    struct glBlendFunciARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendFunciARB( params->buf, params->src, params->dst );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlendParameteriNV( void *args )
{
    struct glBlendParameteriNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlendParameteriNV( params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlitFramebuffer( void *args )
{
    struct glBlitFramebuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlitFramebuffer( params->srcX0, params->srcY0, params->srcX1, params->srcY1, params->dstX0, params->dstY0, params->dstX1, params->dstY1, params->mask, params->filter );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlitFramebufferEXT( void *args )
{
    struct glBlitFramebufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlitFramebufferEXT( params->srcX0, params->srcY0, params->srcX1, params->srcY1, params->dstX0, params->dstY0, params->dstX1, params->dstY1, params->mask, params->filter );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBlitNamedFramebuffer( void *args )
{
    struct glBlitNamedFramebuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBlitNamedFramebuffer( params->readFramebuffer, params->drawFramebuffer, params->srcX0, params->srcY0, params->srcX1, params->srcY1, params->dstX0, params->dstY0, params->dstX1, params->dstY1, params->mask, params->filter );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferAddressRangeNV( void *args )
{
    struct glBufferAddressRangeNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBufferAddressRangeNV( params->pname, params->index, params->address, params->length );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferAttachMemoryNV( void *args )
{
    struct glBufferAttachMemoryNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBufferAttachMemoryNV( params->target, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferData( void *args )
{
    struct glBufferData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBufferData( params->target, params->size, params->data, params->usage );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferDataARB( void *args )
{
    struct glBufferDataARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBufferDataARB( params->target, params->size, params->data, params->usage );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferPageCommitmentARB( void *args )
{
    struct glBufferPageCommitmentARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBufferPageCommitmentARB( params->target, params->offset, params->size, params->commit );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferParameteriAPPLE( void *args )
{
    struct glBufferParameteriAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBufferParameteriAPPLE( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferRegionEnabled( void *args )
{
    struct glBufferRegionEnabled_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glBufferRegionEnabled();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferStorage( void *args )
{
    struct glBufferStorage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBufferStorage( params->target, params->size, params->data, params->flags );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferStorageExternalEXT( void *args )
{
    struct glBufferStorageExternalEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBufferStorageExternalEXT( params->target, params->offset, params->size, params->clientBuffer, params->flags );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferStorageMemEXT( void *args )
{
    struct glBufferStorageMemEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBufferStorageMemEXT( params->target, params->size, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferSubData( void *args )
{
    struct glBufferSubData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBufferSubData( params->target, params->offset, params->size, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glBufferSubDataARB( void *args )
{
    struct glBufferSubDataARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glBufferSubDataARB( params->target, params->offset, params->size, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCallCommandListNV( void *args )
{
    struct glCallCommandListNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCallCommandListNV( params->list );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCheckFramebufferStatus( void *args )
{
    struct glCheckFramebufferStatus_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCheckFramebufferStatus( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCheckFramebufferStatusEXT( void *args )
{
    struct glCheckFramebufferStatusEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCheckFramebufferStatusEXT( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCheckNamedFramebufferStatus( void *args )
{
    struct glCheckNamedFramebufferStatus_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCheckNamedFramebufferStatus( params->framebuffer, params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCheckNamedFramebufferStatusEXT( void *args )
{
    struct glCheckNamedFramebufferStatusEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCheckNamedFramebufferStatusEXT( params->framebuffer, params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClampColor( void *args )
{
    struct glClampColor_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClampColor( params->target, params->clamp );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClampColorARB( void *args )
{
    struct glClampColorARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClampColorARB( params->target, params->clamp );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearAccumxOES( void *args )
{
    struct glClearAccumxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearAccumxOES( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearBufferData( void *args )
{
    struct glClearBufferData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearBufferData( params->target, params->internalformat, params->format, params->type, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearBufferSubData( void *args )
{
    struct glClearBufferSubData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearBufferSubData( params->target, params->internalformat, params->offset, params->size, params->format, params->type, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearBufferfi( void *args )
{
    struct glClearBufferfi_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearBufferfi( params->buffer, params->drawbuffer, params->depth, params->stencil );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearBufferfv( void *args )
{
    struct glClearBufferfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearBufferfv( params->buffer, params->drawbuffer, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearBufferiv( void *args )
{
    struct glClearBufferiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearBufferiv( params->buffer, params->drawbuffer, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearBufferuiv( void *args )
{
    struct glClearBufferuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearBufferuiv( params->buffer, params->drawbuffer, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearColorIiEXT( void *args )
{
    struct glClearColorIiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearColorIiEXT( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearColorIuiEXT( void *args )
{
    struct glClearColorIuiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearColorIuiEXT( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearColorxOES( void *args )
{
    struct glClearColorxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearColorxOES( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearDepthdNV( void *args )
{
    struct glClearDepthdNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearDepthdNV( params->depth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearDepthf( void *args )
{
    struct glClearDepthf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearDepthf( params->d );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearDepthfOES( void *args )
{
    struct glClearDepthfOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearDepthfOES( params->depth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearDepthxOES( void *args )
{
    struct glClearDepthxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearDepthxOES( params->depth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearNamedBufferData( void *args )
{
    struct glClearNamedBufferData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearNamedBufferData( params->buffer, params->internalformat, params->format, params->type, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearNamedBufferDataEXT( void *args )
{
    struct glClearNamedBufferDataEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearNamedBufferDataEXT( params->buffer, params->internalformat, params->format, params->type, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearNamedBufferSubData( void *args )
{
    struct glClearNamedBufferSubData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearNamedBufferSubData( params->buffer, params->internalformat, params->offset, params->size, params->format, params->type, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearNamedBufferSubDataEXT( void *args )
{
    struct glClearNamedBufferSubDataEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearNamedBufferSubDataEXT( params->buffer, params->internalformat, params->offset, params->size, params->format, params->type, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearNamedFramebufferfi( void *args )
{
    struct glClearNamedFramebufferfi_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearNamedFramebufferfi( params->framebuffer, params->buffer, params->drawbuffer, params->depth, params->stencil );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearNamedFramebufferfv( void *args )
{
    struct glClearNamedFramebufferfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearNamedFramebufferfv( params->framebuffer, params->buffer, params->drawbuffer, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearNamedFramebufferiv( void *args )
{
    struct glClearNamedFramebufferiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearNamedFramebufferiv( params->framebuffer, params->buffer, params->drawbuffer, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearNamedFramebufferuiv( void *args )
{
    struct glClearNamedFramebufferuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearNamedFramebufferuiv( params->framebuffer, params->buffer, params->drawbuffer, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearTexImage( void *args )
{
    struct glClearTexImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearTexImage( params->texture, params->level, params->format, params->type, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClearTexSubImage( void *args )
{
    struct glClearTexSubImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClearTexSubImage( params->texture, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->type, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClientActiveTexture( void *args )
{
    struct glClientActiveTexture_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClientActiveTexture( params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClientActiveTextureARB( void *args )
{
    struct glClientActiveTextureARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClientActiveTextureARB( params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClientActiveVertexStreamATI( void *args )
{
    struct glClientActiveVertexStreamATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClientActiveVertexStreamATI( params->stream );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClientAttribDefaultEXT( void *args )
{
    struct glClientAttribDefaultEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClientAttribDefaultEXT( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClientWaitSemaphoreui64NVX( void *args )
{
    struct glClientWaitSemaphoreui64NVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClientWaitSemaphoreui64NVX( params->fenceObjectCount, params->semaphoreArray, params->fenceValueArray );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glClientWaitSync( void *args )
{
    struct glClientWaitSync_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glClientWaitSync( params->sync, params->flags, params->timeout );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClipControl( void *args )
{
    struct glClipControl_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClipControl( params->origin, params->depth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClipPlanefOES( void *args )
{
    struct glClipPlanefOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClipPlanefOES( params->plane, params->equation );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glClipPlanexOES( void *args )
{
    struct glClipPlanexOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glClipPlanexOES( params->plane, params->equation );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor3fVertex3fSUN( void *args )
{
    struct glColor3fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor3fVertex3fSUN( params->r, params->g, params->b, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor3fVertex3fvSUN( void *args )
{
    struct glColor3fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor3fVertex3fvSUN( params->c, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor3hNV( void *args )
{
    struct glColor3hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor3hNV( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor3hvNV( void *args )
{
    struct glColor3hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor3hvNV( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor3xOES( void *args )
{
    struct glColor3xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor3xOES( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor3xvOES( void *args )
{
    struct glColor3xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor3xvOES( params->components );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor4fNormal3fVertex3fSUN( void *args )
{
    struct glColor4fNormal3fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor4fNormal3fVertex3fSUN( params->r, params->g, params->b, params->a, params->nx, params->ny, params->nz, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor4fNormal3fVertex3fvSUN( void *args )
{
    struct glColor4fNormal3fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor4fNormal3fVertex3fvSUN( params->c, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor4hNV( void *args )
{
    struct glColor4hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor4hNV( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor4hvNV( void *args )
{
    struct glColor4hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor4hvNV( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor4ubVertex2fSUN( void *args )
{
    struct glColor4ubVertex2fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor4ubVertex2fSUN( params->r, params->g, params->b, params->a, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor4ubVertex2fvSUN( void *args )
{
    struct glColor4ubVertex2fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor4ubVertex2fvSUN( params->c, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor4ubVertex3fSUN( void *args )
{
    struct glColor4ubVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor4ubVertex3fSUN( params->r, params->g, params->b, params->a, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor4ubVertex3fvSUN( void *args )
{
    struct glColor4ubVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor4ubVertex3fvSUN( params->c, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor4xOES( void *args )
{
    struct glColor4xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor4xOES( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColor4xvOES( void *args )
{
    struct glColor4xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColor4xvOES( params->components );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorFormatNV( void *args )
{
    struct glColorFormatNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorFormatNV( params->size, params->type, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorFragmentOp1ATI( void *args )
{
    struct glColorFragmentOp1ATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorFragmentOp1ATI( params->op, params->dst, params->dstMask, params->dstMod, params->arg1, params->arg1Rep, params->arg1Mod );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorFragmentOp2ATI( void *args )
{
    struct glColorFragmentOp2ATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorFragmentOp2ATI( params->op, params->dst, params->dstMask, params->dstMod, params->arg1, params->arg1Rep, params->arg1Mod, params->arg2, params->arg2Rep, params->arg2Mod );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorFragmentOp3ATI( void *args )
{
    struct glColorFragmentOp3ATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorFragmentOp3ATI( params->op, params->dst, params->dstMask, params->dstMod, params->arg1, params->arg1Rep, params->arg1Mod, params->arg2, params->arg2Rep, params->arg2Mod, params->arg3, params->arg3Rep, params->arg3Mod );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorMaskIndexedEXT( void *args )
{
    struct glColorMaskIndexedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorMaskIndexedEXT( params->index, params->r, params->g, params->b, params->a );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorMaski( void *args )
{
    struct glColorMaski_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorMaski( params->index, params->r, params->g, params->b, params->a );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorP3ui( void *args )
{
    struct glColorP3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorP3ui( params->type, params->color );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorP3uiv( void *args )
{
    struct glColorP3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorP3uiv( params->type, params->color );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorP4ui( void *args )
{
    struct glColorP4ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorP4ui( params->type, params->color );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorP4uiv( void *args )
{
    struct glColorP4uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorP4uiv( params->type, params->color );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorPointerEXT( void *args )
{
    struct glColorPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorPointerEXT( params->size, params->type, params->stride, params->count, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorPointerListIBM( void *args )
{
    struct glColorPointerListIBM_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorPointerListIBM( params->size, params->type, params->stride, params->pointer, params->ptrstride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorPointervINTEL( void *args )
{
    struct glColorPointervINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorPointervINTEL( params->size, params->type, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorSubTable( void *args )
{
    struct glColorSubTable_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorSubTable( params->target, params->start, params->count, params->format, params->type, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorSubTableEXT( void *args )
{
    struct glColorSubTableEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorSubTableEXT( params->target, params->start, params->count, params->format, params->type, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorTable( void *args )
{
    struct glColorTable_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorTable( params->target, params->internalformat, params->width, params->format, params->type, params->table );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorTableEXT( void *args )
{
    struct glColorTableEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorTableEXT( params->target, params->internalFormat, params->width, params->format, params->type, params->table );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorTableParameterfv( void *args )
{
    struct glColorTableParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorTableParameterfv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorTableParameterfvSGI( void *args )
{
    struct glColorTableParameterfvSGI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorTableParameterfvSGI( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorTableParameteriv( void *args )
{
    struct glColorTableParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorTableParameteriv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorTableParameterivSGI( void *args )
{
    struct glColorTableParameterivSGI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorTableParameterivSGI( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glColorTableSGI( void *args )
{
    struct glColorTableSGI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glColorTableSGI( params->target, params->internalformat, params->width, params->format, params->type, params->table );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCombinerInputNV( void *args )
{
    struct glCombinerInputNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCombinerInputNV( params->stage, params->portion, params->variable, params->input, params->mapping, params->componentUsage );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCombinerOutputNV( void *args )
{
    struct glCombinerOutputNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCombinerOutputNV( params->stage, params->portion, params->abOutput, params->cdOutput, params->sumOutput, params->scale, params->bias, params->abDotProduct, params->cdDotProduct, params->muxSum );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCombinerParameterfNV( void *args )
{
    struct glCombinerParameterfNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCombinerParameterfNV( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCombinerParameterfvNV( void *args )
{
    struct glCombinerParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCombinerParameterfvNV( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCombinerParameteriNV( void *args )
{
    struct glCombinerParameteriNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCombinerParameteriNV( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCombinerParameterivNV( void *args )
{
    struct glCombinerParameterivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCombinerParameterivNV( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCombinerStageParameterfvNV( void *args )
{
    struct glCombinerStageParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCombinerStageParameterfvNV( params->stage, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCommandListSegmentsNV( void *args )
{
    struct glCommandListSegmentsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCommandListSegmentsNV( params->list, params->segments );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompileCommandListNV( void *args )
{
    struct glCompileCommandListNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompileCommandListNV( params->list );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompileShader( void *args )
{
    struct glCompileShader_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompileShader( params->shader );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompileShaderARB( void *args )
{
    struct glCompileShaderARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompileShaderARB( params->shaderObj );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompileShaderIncludeARB( void *args )
{
    struct glCompileShaderIncludeARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompileShaderIncludeARB( params->shader, params->count, params->path, params->length );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedMultiTexImage1DEXT( void *args )
{
    struct glCompressedMultiTexImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedMultiTexImage1DEXT( params->texunit, params->target, params->level, params->internalformat, params->width, params->border, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedMultiTexImage2DEXT( void *args )
{
    struct glCompressedMultiTexImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedMultiTexImage2DEXT( params->texunit, params->target, params->level, params->internalformat, params->width, params->height, params->border, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedMultiTexImage3DEXT( void *args )
{
    struct glCompressedMultiTexImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedMultiTexImage3DEXT( params->texunit, params->target, params->level, params->internalformat, params->width, params->height, params->depth, params->border, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedMultiTexSubImage1DEXT( void *args )
{
    struct glCompressedMultiTexSubImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedMultiTexSubImage1DEXT( params->texunit, params->target, params->level, params->xoffset, params->width, params->format, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedMultiTexSubImage2DEXT( void *args )
{
    struct glCompressedMultiTexSubImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedMultiTexSubImage2DEXT( params->texunit, params->target, params->level, params->xoffset, params->yoffset, params->width, params->height, params->format, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedMultiTexSubImage3DEXT( void *args )
{
    struct glCompressedMultiTexSubImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedMultiTexSubImage3DEXT( params->texunit, params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexImage1D( void *args )
{
    struct glCompressedTexImage1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexImage1D( params->target, params->level, params->internalformat, params->width, params->border, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexImage1DARB( void *args )
{
    struct glCompressedTexImage1DARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexImage1DARB( params->target, params->level, params->internalformat, params->width, params->border, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexImage2D( void *args )
{
    struct glCompressedTexImage2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexImage2D( params->target, params->level, params->internalformat, params->width, params->height, params->border, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexImage2DARB( void *args )
{
    struct glCompressedTexImage2DARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexImage2DARB( params->target, params->level, params->internalformat, params->width, params->height, params->border, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexImage3D( void *args )
{
    struct glCompressedTexImage3D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexImage3D( params->target, params->level, params->internalformat, params->width, params->height, params->depth, params->border, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexImage3DARB( void *args )
{
    struct glCompressedTexImage3DARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexImage3DARB( params->target, params->level, params->internalformat, params->width, params->height, params->depth, params->border, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexSubImage1D( void *args )
{
    struct glCompressedTexSubImage1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexSubImage1D( params->target, params->level, params->xoffset, params->width, params->format, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexSubImage1DARB( void *args )
{
    struct glCompressedTexSubImage1DARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexSubImage1DARB( params->target, params->level, params->xoffset, params->width, params->format, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexSubImage2D( void *args )
{
    struct glCompressedTexSubImage2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexSubImage2D( params->target, params->level, params->xoffset, params->yoffset, params->width, params->height, params->format, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexSubImage2DARB( void *args )
{
    struct glCompressedTexSubImage2DARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexSubImage2DARB( params->target, params->level, params->xoffset, params->yoffset, params->width, params->height, params->format, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexSubImage3D( void *args )
{
    struct glCompressedTexSubImage3D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexSubImage3D( params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTexSubImage3DARB( void *args )
{
    struct glCompressedTexSubImage3DARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTexSubImage3DARB( params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTextureImage1DEXT( void *args )
{
    struct glCompressedTextureImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTextureImage1DEXT( params->texture, params->target, params->level, params->internalformat, params->width, params->border, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTextureImage2DEXT( void *args )
{
    struct glCompressedTextureImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTextureImage2DEXT( params->texture, params->target, params->level, params->internalformat, params->width, params->height, params->border, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTextureImage3DEXT( void *args )
{
    struct glCompressedTextureImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTextureImage3DEXT( params->texture, params->target, params->level, params->internalformat, params->width, params->height, params->depth, params->border, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTextureSubImage1D( void *args )
{
    struct glCompressedTextureSubImage1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTextureSubImage1D( params->texture, params->level, params->xoffset, params->width, params->format, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTextureSubImage1DEXT( void *args )
{
    struct glCompressedTextureSubImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTextureSubImage1DEXT( params->texture, params->target, params->level, params->xoffset, params->width, params->format, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTextureSubImage2D( void *args )
{
    struct glCompressedTextureSubImage2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTextureSubImage2D( params->texture, params->level, params->xoffset, params->yoffset, params->width, params->height, params->format, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTextureSubImage2DEXT( void *args )
{
    struct glCompressedTextureSubImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTextureSubImage2DEXT( params->texture, params->target, params->level, params->xoffset, params->yoffset, params->width, params->height, params->format, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTextureSubImage3D( void *args )
{
    struct glCompressedTextureSubImage3D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTextureSubImage3D( params->texture, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->imageSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCompressedTextureSubImage3DEXT( void *args )
{
    struct glCompressedTextureSubImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCompressedTextureSubImage3DEXT( params->texture, params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->imageSize, params->bits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConservativeRasterParameterfNV( void *args )
{
    struct glConservativeRasterParameterfNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConservativeRasterParameterfNV( params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConservativeRasterParameteriNV( void *args )
{
    struct glConservativeRasterParameteriNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConservativeRasterParameteriNV( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionFilter1D( void *args )
{
    struct glConvolutionFilter1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionFilter1D( params->target, params->internalformat, params->width, params->format, params->type, params->image );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionFilter1DEXT( void *args )
{
    struct glConvolutionFilter1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionFilter1DEXT( params->target, params->internalformat, params->width, params->format, params->type, params->image );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionFilter2D( void *args )
{
    struct glConvolutionFilter2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionFilter2D( params->target, params->internalformat, params->width, params->height, params->format, params->type, params->image );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionFilter2DEXT( void *args )
{
    struct glConvolutionFilter2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionFilter2DEXT( params->target, params->internalformat, params->width, params->height, params->format, params->type, params->image );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionParameterf( void *args )
{
    struct glConvolutionParameterf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionParameterf( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionParameterfEXT( void *args )
{
    struct glConvolutionParameterfEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionParameterfEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionParameterfv( void *args )
{
    struct glConvolutionParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionParameterfv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionParameterfvEXT( void *args )
{
    struct glConvolutionParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionParameterfvEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionParameteri( void *args )
{
    struct glConvolutionParameteri_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionParameteri( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionParameteriEXT( void *args )
{
    struct glConvolutionParameteriEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionParameteriEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionParameteriv( void *args )
{
    struct glConvolutionParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionParameteriv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionParameterivEXT( void *args )
{
    struct glConvolutionParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionParameterivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionParameterxOES( void *args )
{
    struct glConvolutionParameterxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionParameterxOES( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glConvolutionParameterxvOES( void *args )
{
    struct glConvolutionParameterxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glConvolutionParameterxvOES( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyBufferSubData( void *args )
{
    struct glCopyBufferSubData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyBufferSubData( params->readTarget, params->writeTarget, params->readOffset, params->writeOffset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyColorSubTable( void *args )
{
    struct glCopyColorSubTable_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyColorSubTable( params->target, params->start, params->x, params->y, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyColorSubTableEXT( void *args )
{
    struct glCopyColorSubTableEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyColorSubTableEXT( params->target, params->start, params->x, params->y, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyColorTable( void *args )
{
    struct glCopyColorTable_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyColorTable( params->target, params->internalformat, params->x, params->y, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyColorTableSGI( void *args )
{
    struct glCopyColorTableSGI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyColorTableSGI( params->target, params->internalformat, params->x, params->y, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyConvolutionFilter1D( void *args )
{
    struct glCopyConvolutionFilter1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyConvolutionFilter1D( params->target, params->internalformat, params->x, params->y, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyConvolutionFilter1DEXT( void *args )
{
    struct glCopyConvolutionFilter1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyConvolutionFilter1DEXT( params->target, params->internalformat, params->x, params->y, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyConvolutionFilter2D( void *args )
{
    struct glCopyConvolutionFilter2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyConvolutionFilter2D( params->target, params->internalformat, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyConvolutionFilter2DEXT( void *args )
{
    struct glCopyConvolutionFilter2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyConvolutionFilter2DEXT( params->target, params->internalformat, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyImageSubData( void *args )
{
    struct glCopyImageSubData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyImageSubData( params->srcName, params->srcTarget, params->srcLevel, params->srcX, params->srcY, params->srcZ, params->dstName, params->dstTarget, params->dstLevel, params->dstX, params->dstY, params->dstZ, params->srcWidth, params->srcHeight, params->srcDepth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyImageSubDataNV( void *args )
{
    struct glCopyImageSubDataNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyImageSubDataNV( params->srcName, params->srcTarget, params->srcLevel, params->srcX, params->srcY, params->srcZ, params->dstName, params->dstTarget, params->dstLevel, params->dstX, params->dstY, params->dstZ, params->width, params->height, params->depth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyMultiTexImage1DEXT( void *args )
{
    struct glCopyMultiTexImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyMultiTexImage1DEXT( params->texunit, params->target, params->level, params->internalformat, params->x, params->y, params->width, params->border );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyMultiTexImage2DEXT( void *args )
{
    struct glCopyMultiTexImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyMultiTexImage2DEXT( params->texunit, params->target, params->level, params->internalformat, params->x, params->y, params->width, params->height, params->border );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyMultiTexSubImage1DEXT( void *args )
{
    struct glCopyMultiTexSubImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyMultiTexSubImage1DEXT( params->texunit, params->target, params->level, params->xoffset, params->x, params->y, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyMultiTexSubImage2DEXT( void *args )
{
    struct glCopyMultiTexSubImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyMultiTexSubImage2DEXT( params->texunit, params->target, params->level, params->xoffset, params->yoffset, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyMultiTexSubImage3DEXT( void *args )
{
    struct glCopyMultiTexSubImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyMultiTexSubImage3DEXT( params->texunit, params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyNamedBufferSubData( void *args )
{
    struct glCopyNamedBufferSubData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyNamedBufferSubData( params->readBuffer, params->writeBuffer, params->readOffset, params->writeOffset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyPathNV( void *args )
{
    struct glCopyPathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyPathNV( params->resultPath, params->srcPath );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTexImage1DEXT( void *args )
{
    struct glCopyTexImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTexImage1DEXT( params->target, params->level, params->internalformat, params->x, params->y, params->width, params->border );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTexImage2DEXT( void *args )
{
    struct glCopyTexImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTexImage2DEXT( params->target, params->level, params->internalformat, params->x, params->y, params->width, params->height, params->border );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTexSubImage1DEXT( void *args )
{
    struct glCopyTexSubImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTexSubImage1DEXT( params->target, params->level, params->xoffset, params->x, params->y, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTexSubImage2DEXT( void *args )
{
    struct glCopyTexSubImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTexSubImage2DEXT( params->target, params->level, params->xoffset, params->yoffset, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTexSubImage3D( void *args )
{
    struct glCopyTexSubImage3D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTexSubImage3D( params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTexSubImage3DEXT( void *args )
{
    struct glCopyTexSubImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTexSubImage3DEXT( params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTextureImage1DEXT( void *args )
{
    struct glCopyTextureImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTextureImage1DEXT( params->texture, params->target, params->level, params->internalformat, params->x, params->y, params->width, params->border );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTextureImage2DEXT( void *args )
{
    struct glCopyTextureImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTextureImage2DEXT( params->texture, params->target, params->level, params->internalformat, params->x, params->y, params->width, params->height, params->border );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTextureSubImage1D( void *args )
{
    struct glCopyTextureSubImage1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTextureSubImage1D( params->texture, params->level, params->xoffset, params->x, params->y, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTextureSubImage1DEXT( void *args )
{
    struct glCopyTextureSubImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTextureSubImage1DEXT( params->texture, params->target, params->level, params->xoffset, params->x, params->y, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTextureSubImage2D( void *args )
{
    struct glCopyTextureSubImage2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTextureSubImage2D( params->texture, params->level, params->xoffset, params->yoffset, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTextureSubImage2DEXT( void *args )
{
    struct glCopyTextureSubImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTextureSubImage2DEXT( params->texture, params->target, params->level, params->xoffset, params->yoffset, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTextureSubImage3D( void *args )
{
    struct glCopyTextureSubImage3D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTextureSubImage3D( params->texture, params->level, params->xoffset, params->yoffset, params->zoffset, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCopyTextureSubImage3DEXT( void *args )
{
    struct glCopyTextureSubImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCopyTextureSubImage3DEXT( params->texture, params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCoverFillPathInstancedNV( void *args )
{
    struct glCoverFillPathInstancedNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCoverFillPathInstancedNV( params->numPaths, params->pathNameType, params->paths, params->pathBase, params->coverMode, params->transformType, params->transformValues );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCoverFillPathNV( void *args )
{
    struct glCoverFillPathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCoverFillPathNV( params->path, params->coverMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCoverStrokePathInstancedNV( void *args )
{
    struct glCoverStrokePathInstancedNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCoverStrokePathInstancedNV( params->numPaths, params->pathNameType, params->paths, params->pathBase, params->coverMode, params->transformType, params->transformValues );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCoverStrokePathNV( void *args )
{
    struct glCoverStrokePathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCoverStrokePathNV( params->path, params->coverMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCoverageModulationNV( void *args )
{
    struct glCoverageModulationNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCoverageModulationNV( params->components );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCoverageModulationTableNV( void *args )
{
    struct glCoverageModulationTableNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCoverageModulationTableNV( params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateBuffers( void *args )
{
    struct glCreateBuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateBuffers( params->n, params->buffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateCommandListsNV( void *args )
{
    struct glCreateCommandListsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateCommandListsNV( params->n, params->lists );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateFramebuffers( void *args )
{
    struct glCreateFramebuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateFramebuffers( params->n, params->framebuffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateMemoryObjectsEXT( void *args )
{
    struct glCreateMemoryObjectsEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateMemoryObjectsEXT( params->n, params->memoryObjects );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreatePerfQueryINTEL( void *args )
{
    struct glCreatePerfQueryINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreatePerfQueryINTEL( params->queryId, params->queryHandle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateProgram( void *args )
{
    struct glCreateProgram_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCreateProgram();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateProgramObjectARB( void *args )
{
    struct glCreateProgramObjectARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCreateProgramObjectARB();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateProgramPipelines( void *args )
{
    struct glCreateProgramPipelines_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateProgramPipelines( params->n, params->pipelines );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateProgressFenceNVX( void *args )
{
    struct glCreateProgressFenceNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCreateProgressFenceNVX();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateQueries( void *args )
{
    struct glCreateQueries_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateQueries( params->target, params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateRenderbuffers( void *args )
{
    struct glCreateRenderbuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateRenderbuffers( params->n, params->renderbuffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateSamplers( void *args )
{
    struct glCreateSamplers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateSamplers( params->n, params->samplers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateShader( void *args )
{
    struct glCreateShader_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCreateShader( params->type );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateShaderObjectARB( void *args )
{
    struct glCreateShaderObjectARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCreateShaderObjectARB( params->shaderType );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateShaderProgramEXT( void *args )
{
    struct glCreateShaderProgramEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCreateShaderProgramEXT( params->type, params->string );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateShaderProgramv( void *args )
{
    struct glCreateShaderProgramv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCreateShaderProgramv( params->type, params->count, params->strings );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateStatesNV( void *args )
{
    struct glCreateStatesNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateStatesNV( params->n, params->states );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateSyncFromCLeventARB( void *args )
{
    struct glCreateSyncFromCLeventARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glCreateSyncFromCLeventARB( params->context, params->event, params->flags );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateTextures( void *args )
{
    struct glCreateTextures_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateTextures( params->target, params->n, params->textures );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateTransformFeedbacks( void *args )
{
    struct glCreateTransformFeedbacks_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateTransformFeedbacks( params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCreateVertexArrays( void *args )
{
    struct glCreateVertexArrays_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCreateVertexArrays( params->n, params->arrays );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCullParameterdvEXT( void *args )
{
    struct glCullParameterdvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCullParameterdvEXT( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCullParameterfvEXT( void *args )
{
    struct glCullParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCullParameterfvEXT( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glCurrentPaletteMatrixARB( void *args )
{
    struct glCurrentPaletteMatrixARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glCurrentPaletteMatrixARB( params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDebugMessageControl( void *args )
{
    struct glDebugMessageControl_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDebugMessageControl( params->source, params->type, params->severity, params->count, params->ids, params->enabled );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDebugMessageControlARB( void *args )
{
    struct glDebugMessageControlARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDebugMessageControlARB( params->source, params->type, params->severity, params->count, params->ids, params->enabled );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDebugMessageEnableAMD( void *args )
{
    struct glDebugMessageEnableAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDebugMessageEnableAMD( params->category, params->severity, params->count, params->ids, params->enabled );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDebugMessageInsert( void *args )
{
    struct glDebugMessageInsert_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDebugMessageInsert( params->source, params->type, params->id, params->severity, params->length, params->buf );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDebugMessageInsertAMD( void *args )
{
    struct glDebugMessageInsertAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDebugMessageInsertAMD( params->category, params->severity, params->id, params->length, params->buf );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDebugMessageInsertARB( void *args )
{
    struct glDebugMessageInsertARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDebugMessageInsertARB( params->source, params->type, params->id, params->severity, params->length, params->buf );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeformSGIX( void *args )
{
    struct glDeformSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeformSGIX( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeformationMap3dSGIX( void *args )
{
    struct glDeformationMap3dSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeformationMap3dSGIX( params->target, params->u1, params->u2, params->ustride, params->uorder, params->v1, params->v2, params->vstride, params->vorder, params->w1, params->w2, params->wstride, params->worder, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeformationMap3fSGIX( void *args )
{
    struct glDeformationMap3fSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeformationMap3fSGIX( params->target, params->u1, params->u2, params->ustride, params->uorder, params->v1, params->v2, params->vstride, params->vorder, params->w1, params->w2, params->wstride, params->worder, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteAsyncMarkersSGIX( void *args )
{
    struct glDeleteAsyncMarkersSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteAsyncMarkersSGIX( params->marker, params->range );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteBufferRegion( void *args )
{
    struct glDeleteBufferRegion_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteBufferRegion( params->region );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteBuffers( void *args )
{
    struct glDeleteBuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteBuffers( params->n, params->buffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteBuffersARB( void *args )
{
    struct glDeleteBuffersARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteBuffersARB( params->n, params->buffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteCommandListsNV( void *args )
{
    struct glDeleteCommandListsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteCommandListsNV( params->n, params->lists );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteFencesAPPLE( void *args )
{
    struct glDeleteFencesAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteFencesAPPLE( params->n, params->fences );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteFencesNV( void *args )
{
    struct glDeleteFencesNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteFencesNV( params->n, params->fences );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteFragmentShaderATI( void *args )
{
    struct glDeleteFragmentShaderATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteFragmentShaderATI( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteFramebuffers( void *args )
{
    struct glDeleteFramebuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteFramebuffers( params->n, params->framebuffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteFramebuffersEXT( void *args )
{
    struct glDeleteFramebuffersEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteFramebuffersEXT( params->n, params->framebuffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteMemoryObjectsEXT( void *args )
{
    struct glDeleteMemoryObjectsEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteMemoryObjectsEXT( params->n, params->memoryObjects );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteNamedStringARB( void *args )
{
    struct glDeleteNamedStringARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteNamedStringARB( params->namelen, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteNamesAMD( void *args )
{
    struct glDeleteNamesAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteNamesAMD( params->identifier, params->num, params->names );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteObjectARB( void *args )
{
    struct glDeleteObjectARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteObjectARB( params->obj );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteObjectBufferATI( void *args )
{
    struct glDeleteObjectBufferATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteObjectBufferATI( params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteOcclusionQueriesNV( void *args )
{
    struct glDeleteOcclusionQueriesNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteOcclusionQueriesNV( params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeletePathsNV( void *args )
{
    struct glDeletePathsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeletePathsNV( params->path, params->range );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeletePerfMonitorsAMD( void *args )
{
    struct glDeletePerfMonitorsAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeletePerfMonitorsAMD( params->n, params->monitors );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeletePerfQueryINTEL( void *args )
{
    struct glDeletePerfQueryINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeletePerfQueryINTEL( params->queryHandle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteProgram( void *args )
{
    struct glDeleteProgram_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteProgram( params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteProgramPipelines( void *args )
{
    struct glDeleteProgramPipelines_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteProgramPipelines( params->n, params->pipelines );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteProgramsARB( void *args )
{
    struct glDeleteProgramsARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteProgramsARB( params->n, params->programs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteProgramsNV( void *args )
{
    struct glDeleteProgramsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteProgramsNV( params->n, params->programs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteQueries( void *args )
{
    struct glDeleteQueries_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteQueries( params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteQueriesARB( void *args )
{
    struct glDeleteQueriesARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteQueriesARB( params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteQueryResourceTagNV( void *args )
{
    struct glDeleteQueryResourceTagNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteQueryResourceTagNV( params->n, params->tagIds );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteRenderbuffers( void *args )
{
    struct glDeleteRenderbuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteRenderbuffers( params->n, params->renderbuffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteRenderbuffersEXT( void *args )
{
    struct glDeleteRenderbuffersEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteRenderbuffersEXT( params->n, params->renderbuffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteSamplers( void *args )
{
    struct glDeleteSamplers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteSamplers( params->count, params->samplers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteSemaphoresEXT( void *args )
{
    struct glDeleteSemaphoresEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteSemaphoresEXT( params->n, params->semaphores );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteShader( void *args )
{
    struct glDeleteShader_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteShader( params->shader );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteStatesNV( void *args )
{
    struct glDeleteStatesNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteStatesNV( params->n, params->states );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glDeleteSync( void *args )
{
    struct glDeleteSync_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteSync( params->sync );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteTexturesEXT( void *args )
{
    struct glDeleteTexturesEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteTexturesEXT( params->n, params->textures );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteTransformFeedbacks( void *args )
{
    struct glDeleteTransformFeedbacks_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteTransformFeedbacks( params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteTransformFeedbacksNV( void *args )
{
    struct glDeleteTransformFeedbacksNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteTransformFeedbacksNV( params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteVertexArrays( void *args )
{
    struct glDeleteVertexArrays_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteVertexArrays( params->n, params->arrays );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteVertexArraysAPPLE( void *args )
{
    struct glDeleteVertexArraysAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteVertexArraysAPPLE( params->n, params->arrays );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDeleteVertexShaderEXT( void *args )
{
    struct glDeleteVertexShaderEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDeleteVertexShaderEXT( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDepthBoundsEXT( void *args )
{
    struct glDepthBoundsEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDepthBoundsEXT( params->zmin, params->zmax );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDepthBoundsdNV( void *args )
{
    struct glDepthBoundsdNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDepthBoundsdNV( params->zmin, params->zmax );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDepthRangeArraydvNV( void *args )
{
    struct glDepthRangeArraydvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDepthRangeArraydvNV( params->first, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDepthRangeArrayv( void *args )
{
    struct glDepthRangeArrayv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDepthRangeArrayv( params->first, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDepthRangeIndexed( void *args )
{
    struct glDepthRangeIndexed_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDepthRangeIndexed( params->index, params->n, params->f );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDepthRangeIndexeddNV( void *args )
{
    struct glDepthRangeIndexeddNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDepthRangeIndexeddNV( params->index, params->n, params->f );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDepthRangedNV( void *args )
{
    struct glDepthRangedNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDepthRangedNV( params->zNear, params->zFar );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDepthRangef( void *args )
{
    struct glDepthRangef_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDepthRangef( params->n, params->f );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDepthRangefOES( void *args )
{
    struct glDepthRangefOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDepthRangefOES( params->n, params->f );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDepthRangexOES( void *args )
{
    struct glDepthRangexOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDepthRangexOES( params->n, params->f );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDetachObjectARB( void *args )
{
    struct glDetachObjectARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDetachObjectARB( params->containerObj, params->attachedObj );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDetachShader( void *args )
{
    struct glDetachShader_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDetachShader( params->program, params->shader );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDetailTexFuncSGIS( void *args )
{
    struct glDetailTexFuncSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDetailTexFuncSGIS( params->target, params->n, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDisableClientStateIndexedEXT( void *args )
{
    struct glDisableClientStateIndexedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDisableClientStateIndexedEXT( params->array, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDisableClientStateiEXT( void *args )
{
    struct glDisableClientStateiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDisableClientStateiEXT( params->array, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDisableIndexedEXT( void *args )
{
    struct glDisableIndexedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDisableIndexedEXT( params->target, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDisableVariantClientStateEXT( void *args )
{
    struct glDisableVariantClientStateEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDisableVariantClientStateEXT( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDisableVertexArrayAttrib( void *args )
{
    struct glDisableVertexArrayAttrib_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDisableVertexArrayAttrib( params->vaobj, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDisableVertexArrayAttribEXT( void *args )
{
    struct glDisableVertexArrayAttribEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDisableVertexArrayAttribEXT( params->vaobj, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDisableVertexArrayEXT( void *args )
{
    struct glDisableVertexArrayEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDisableVertexArrayEXT( params->vaobj, params->array );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDisableVertexAttribAPPLE( void *args )
{
    struct glDisableVertexAttribAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDisableVertexAttribAPPLE( params->index, params->pname );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDisableVertexAttribArray( void *args )
{
    struct glDisableVertexAttribArray_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDisableVertexAttribArray( params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDisableVertexAttribArrayARB( void *args )
{
    struct glDisableVertexAttribArrayARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDisableVertexAttribArrayARB( params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDisablei( void *args )
{
    struct glDisablei_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDisablei( params->target, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDispatchCompute( void *args )
{
    struct glDispatchCompute_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDispatchCompute( params->num_groups_x, params->num_groups_y, params->num_groups_z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDispatchComputeGroupSizeARB( void *args )
{
    struct glDispatchComputeGroupSizeARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDispatchComputeGroupSizeARB( params->num_groups_x, params->num_groups_y, params->num_groups_z, params->group_size_x, params->group_size_y, params->group_size_z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDispatchComputeIndirect( void *args )
{
    struct glDispatchComputeIndirect_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDispatchComputeIndirect( params->indirect );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawArraysEXT( void *args )
{
    struct glDrawArraysEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawArraysEXT( params->mode, params->first, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawArraysIndirect( void *args )
{
    struct glDrawArraysIndirect_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawArraysIndirect( params->mode, params->indirect );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawArraysInstanced( void *args )
{
    struct glDrawArraysInstanced_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawArraysInstanced( params->mode, params->first, params->count, params->instancecount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawArraysInstancedARB( void *args )
{
    struct glDrawArraysInstancedARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawArraysInstancedARB( params->mode, params->first, params->count, params->primcount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawArraysInstancedBaseInstance( void *args )
{
    struct glDrawArraysInstancedBaseInstance_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawArraysInstancedBaseInstance( params->mode, params->first, params->count, params->instancecount, params->baseinstance );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawArraysInstancedEXT( void *args )
{
    struct glDrawArraysInstancedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawArraysInstancedEXT( params->mode, params->start, params->count, params->primcount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawBufferRegion( void *args )
{
    struct glDrawBufferRegion_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawBufferRegion( params->region, params->x, params->y, params->width, params->height, params->xDest, params->yDest );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawBuffers( void *args )
{
    struct glDrawBuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawBuffers( params->n, params->bufs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawBuffersARB( void *args )
{
    struct glDrawBuffersARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawBuffersARB( params->n, params->bufs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawBuffersATI( void *args )
{
    struct glDrawBuffersATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawBuffersATI( params->n, params->bufs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawCommandsAddressNV( void *args )
{
    struct glDrawCommandsAddressNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawCommandsAddressNV( params->primitiveMode, params->indirects, params->sizes, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawCommandsNV( void *args )
{
    struct glDrawCommandsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawCommandsNV( params->primitiveMode, params->buffer, params->indirects, params->sizes, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawCommandsStatesAddressNV( void *args )
{
    struct glDrawCommandsStatesAddressNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawCommandsStatesAddressNV( params->indirects, params->sizes, params->states, params->fbos, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawCommandsStatesNV( void *args )
{
    struct glDrawCommandsStatesNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawCommandsStatesNV( params->buffer, params->indirects, params->sizes, params->states, params->fbos, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawElementArrayAPPLE( void *args )
{
    struct glDrawElementArrayAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawElementArrayAPPLE( params->mode, params->first, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawElementArrayATI( void *args )
{
    struct glDrawElementArrayATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawElementArrayATI( params->mode, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawElementsBaseVertex( void *args )
{
    struct glDrawElementsBaseVertex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawElementsBaseVertex( params->mode, params->count, params->type, params->indices, params->basevertex );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawElementsIndirect( void *args )
{
    struct glDrawElementsIndirect_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawElementsIndirect( params->mode, params->type, params->indirect );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawElementsInstanced( void *args )
{
    struct glDrawElementsInstanced_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawElementsInstanced( params->mode, params->count, params->type, params->indices, params->instancecount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawElementsInstancedARB( void *args )
{
    struct glDrawElementsInstancedARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawElementsInstancedARB( params->mode, params->count, params->type, params->indices, params->primcount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawElementsInstancedBaseInstance( void *args )
{
    struct glDrawElementsInstancedBaseInstance_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawElementsInstancedBaseInstance( params->mode, params->count, params->type, params->indices, params->instancecount, params->baseinstance );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawElementsInstancedBaseVertex( void *args )
{
    struct glDrawElementsInstancedBaseVertex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawElementsInstancedBaseVertex( params->mode, params->count, params->type, params->indices, params->instancecount, params->basevertex );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawElementsInstancedBaseVertexBaseInstance( void *args )
{
    struct glDrawElementsInstancedBaseVertexBaseInstance_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawElementsInstancedBaseVertexBaseInstance( params->mode, params->count, params->type, params->indices, params->instancecount, params->basevertex, params->baseinstance );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawElementsInstancedEXT( void *args )
{
    struct glDrawElementsInstancedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawElementsInstancedEXT( params->mode, params->count, params->type, params->indices, params->primcount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawMeshArraysSUN( void *args )
{
    struct glDrawMeshArraysSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawMeshArraysSUN( params->mode, params->first, params->count, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawMeshTasksIndirectNV( void *args )
{
    struct glDrawMeshTasksIndirectNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawMeshTasksIndirectNV( params->indirect );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawMeshTasksNV( void *args )
{
    struct glDrawMeshTasksNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawMeshTasksNV( params->first, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawRangeElementArrayAPPLE( void *args )
{
    struct glDrawRangeElementArrayAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawRangeElementArrayAPPLE( params->mode, params->start, params->end, params->first, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawRangeElementArrayATI( void *args )
{
    struct glDrawRangeElementArrayATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawRangeElementArrayATI( params->mode, params->start, params->end, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawRangeElements( void *args )
{
    struct glDrawRangeElements_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawRangeElements( params->mode, params->start, params->end, params->count, params->type, params->indices );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawRangeElementsBaseVertex( void *args )
{
    struct glDrawRangeElementsBaseVertex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawRangeElementsBaseVertex( params->mode, params->start, params->end, params->count, params->type, params->indices, params->basevertex );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawRangeElementsEXT( void *args )
{
    struct glDrawRangeElementsEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawRangeElementsEXT( params->mode, params->start, params->end, params->count, params->type, params->indices );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawTextureNV( void *args )
{
    struct glDrawTextureNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawTextureNV( params->texture, params->sampler, params->x0, params->y0, params->x1, params->y1, params->z, params->s0, params->t0, params->s1, params->t1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawTransformFeedback( void *args )
{
    struct glDrawTransformFeedback_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawTransformFeedback( params->mode, params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawTransformFeedbackInstanced( void *args )
{
    struct glDrawTransformFeedbackInstanced_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawTransformFeedbackInstanced( params->mode, params->id, params->instancecount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawTransformFeedbackNV( void *args )
{
    struct glDrawTransformFeedbackNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawTransformFeedbackNV( params->mode, params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawTransformFeedbackStream( void *args )
{
    struct glDrawTransformFeedbackStream_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawTransformFeedbackStream( params->mode, params->id, params->stream );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawTransformFeedbackStreamInstanced( void *args )
{
    struct glDrawTransformFeedbackStreamInstanced_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawTransformFeedbackStreamInstanced( params->mode, params->id, params->stream, params->instancecount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glDrawVkImageNV( void *args )
{
    struct glDrawVkImageNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glDrawVkImageNV( params->vkImage, params->sampler, params->x0, params->y0, params->x1, params->y1, params->z, params->s0, params->t0, params->s1, params->t1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEGLImageTargetTexStorageEXT( void *args )
{
    struct glEGLImageTargetTexStorageEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEGLImageTargetTexStorageEXT( params->target, params->image, params->attrib_list );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEGLImageTargetTextureStorageEXT( void *args )
{
    struct glEGLImageTargetTextureStorageEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEGLImageTargetTextureStorageEXT( params->texture, params->image, params->attrib_list );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEdgeFlagFormatNV( void *args )
{
    struct glEdgeFlagFormatNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEdgeFlagFormatNV( params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEdgeFlagPointerEXT( void *args )
{
    struct glEdgeFlagPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEdgeFlagPointerEXT( params->stride, params->count, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEdgeFlagPointerListIBM( void *args )
{
    struct glEdgeFlagPointerListIBM_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEdgeFlagPointerListIBM( params->stride, params->pointer, params->ptrstride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glElementPointerAPPLE( void *args )
{
    struct glElementPointerAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glElementPointerAPPLE( params->type, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glElementPointerATI( void *args )
{
    struct glElementPointerATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glElementPointerATI( params->type, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEnableClientStateIndexedEXT( void *args )
{
    struct glEnableClientStateIndexedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEnableClientStateIndexedEXT( params->array, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEnableClientStateiEXT( void *args )
{
    struct glEnableClientStateiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEnableClientStateiEXT( params->array, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEnableIndexedEXT( void *args )
{
    struct glEnableIndexedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEnableIndexedEXT( params->target, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEnableVariantClientStateEXT( void *args )
{
    struct glEnableVariantClientStateEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEnableVariantClientStateEXT( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEnableVertexArrayAttrib( void *args )
{
    struct glEnableVertexArrayAttrib_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEnableVertexArrayAttrib( params->vaobj, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEnableVertexArrayAttribEXT( void *args )
{
    struct glEnableVertexArrayAttribEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEnableVertexArrayAttribEXT( params->vaobj, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEnableVertexArrayEXT( void *args )
{
    struct glEnableVertexArrayEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEnableVertexArrayEXT( params->vaobj, params->array );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEnableVertexAttribAPPLE( void *args )
{
    struct glEnableVertexAttribAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEnableVertexAttribAPPLE( params->index, params->pname );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEnableVertexAttribArray( void *args )
{
    struct glEnableVertexAttribArray_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEnableVertexAttribArray( params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEnableVertexAttribArrayARB( void *args )
{
    struct glEnableVertexAttribArrayARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEnableVertexAttribArrayARB( params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEnablei( void *args )
{
    struct glEnablei_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEnablei( params->target, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndConditionalRender( void *args )
{
    struct glEndConditionalRender_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndConditionalRender();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndConditionalRenderNV( void *args )
{
    struct glEndConditionalRenderNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndConditionalRenderNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndConditionalRenderNVX( void *args )
{
    struct glEndConditionalRenderNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndConditionalRenderNVX();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndFragmentShaderATI( void *args )
{
    struct glEndFragmentShaderATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndFragmentShaderATI();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndOcclusionQueryNV( void *args )
{
    struct glEndOcclusionQueryNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndOcclusionQueryNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndPerfMonitorAMD( void *args )
{
    struct glEndPerfMonitorAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndPerfMonitorAMD( params->monitor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndPerfQueryINTEL( void *args )
{
    struct glEndPerfQueryINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndPerfQueryINTEL( params->queryHandle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndQuery( void *args )
{
    struct glEndQuery_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndQuery( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndQueryARB( void *args )
{
    struct glEndQueryARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndQueryARB( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndQueryIndexed( void *args )
{
    struct glEndQueryIndexed_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndQueryIndexed( params->target, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndTransformFeedback( void *args )
{
    struct glEndTransformFeedback_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndTransformFeedback();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndTransformFeedbackEXT( void *args )
{
    struct glEndTransformFeedbackEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndTransformFeedbackEXT();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndTransformFeedbackNV( void *args )
{
    struct glEndTransformFeedbackNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndTransformFeedbackNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndVertexShaderEXT( void *args )
{
    struct glEndVertexShaderEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndVertexShaderEXT();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEndVideoCaptureNV( void *args )
{
    struct glEndVideoCaptureNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEndVideoCaptureNV( params->video_capture_slot );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEvalCoord1xOES( void *args )
{
    struct glEvalCoord1xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEvalCoord1xOES( params->u );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEvalCoord1xvOES( void *args )
{
    struct glEvalCoord1xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEvalCoord1xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEvalCoord2xOES( void *args )
{
    struct glEvalCoord2xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEvalCoord2xOES( params->u, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEvalCoord2xvOES( void *args )
{
    struct glEvalCoord2xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEvalCoord2xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEvalMapsNV( void *args )
{
    struct glEvalMapsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEvalMapsNV( params->target, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glEvaluateDepthValuesARB( void *args )
{
    struct glEvaluateDepthValuesARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glEvaluateDepthValuesARB();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glExecuteProgramNV( void *args )
{
    struct glExecuteProgramNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glExecuteProgramNV( params->target, params->id, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glExtractComponentEXT( void *args )
{
    struct glExtractComponentEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glExtractComponentEXT( params->res, params->src, params->num );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFeedbackBufferxOES( void *args )
{
    struct glFeedbackBufferxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFeedbackBufferxOES( params->n, params->type, params->buffer );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glFenceSync( void *args )
{
    struct glFenceSync_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glFenceSync( params->condition, params->flags );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFinalCombinerInputNV( void *args )
{
    struct glFinalCombinerInputNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFinalCombinerInputNV( params->variable, params->input, params->mapping, params->componentUsage );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFinishAsyncSGIX( void *args )
{
    struct glFinishAsyncSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glFinishAsyncSGIX( params->markerp );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFinishFenceAPPLE( void *args )
{
    struct glFinishFenceAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFinishFenceAPPLE( params->fence );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFinishFenceNV( void *args )
{
    struct glFinishFenceNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFinishFenceNV( params->fence );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFinishObjectAPPLE( void *args )
{
    struct glFinishObjectAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFinishObjectAPPLE( params->object, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFinishTextureSUNX( void *args )
{
    struct glFinishTextureSUNX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFinishTextureSUNX();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFlushMappedBufferRange( void *args )
{
    struct glFlushMappedBufferRange_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFlushMappedBufferRange( params->target, params->offset, params->length );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFlushMappedBufferRangeAPPLE( void *args )
{
    struct glFlushMappedBufferRangeAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFlushMappedBufferRangeAPPLE( params->target, params->offset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFlushMappedNamedBufferRange( void *args )
{
    struct glFlushMappedNamedBufferRange_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFlushMappedNamedBufferRange( params->buffer, params->offset, params->length );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFlushMappedNamedBufferRangeEXT( void *args )
{
    struct glFlushMappedNamedBufferRangeEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFlushMappedNamedBufferRangeEXT( params->buffer, params->offset, params->length );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFlushPixelDataRangeNV( void *args )
{
    struct glFlushPixelDataRangeNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFlushPixelDataRangeNV( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFlushRasterSGIX( void *args )
{
    struct glFlushRasterSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFlushRasterSGIX();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFlushStaticDataIBM( void *args )
{
    struct glFlushStaticDataIBM_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFlushStaticDataIBM( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFlushVertexArrayRangeAPPLE( void *args )
{
    struct glFlushVertexArrayRangeAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFlushVertexArrayRangeAPPLE( params->length, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFlushVertexArrayRangeNV( void *args )
{
    struct glFlushVertexArrayRangeNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFlushVertexArrayRangeNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoordFormatNV( void *args )
{
    struct glFogCoordFormatNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoordFormatNV( params->type, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoordPointer( void *args )
{
    struct glFogCoordPointer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoordPointer( params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoordPointerEXT( void *args )
{
    struct glFogCoordPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoordPointerEXT( params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoordPointerListIBM( void *args )
{
    struct glFogCoordPointerListIBM_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoordPointerListIBM( params->type, params->stride, params->pointer, params->ptrstride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoordd( void *args )
{
    struct glFogCoordd_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoordd( params->coord );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoorddEXT( void *args )
{
    struct glFogCoorddEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoorddEXT( params->coord );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoorddv( void *args )
{
    struct glFogCoorddv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoorddv( params->coord );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoorddvEXT( void *args )
{
    struct glFogCoorddvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoorddvEXT( params->coord );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoordf( void *args )
{
    struct glFogCoordf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoordf( params->coord );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoordfEXT( void *args )
{
    struct glFogCoordfEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoordfEXT( params->coord );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoordfv( void *args )
{
    struct glFogCoordfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoordfv( params->coord );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoordfvEXT( void *args )
{
    struct glFogCoordfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoordfvEXT( params->coord );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoordhNV( void *args )
{
    struct glFogCoordhNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoordhNV( params->fog );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogCoordhvNV( void *args )
{
    struct glFogCoordhvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogCoordhvNV( params->fog );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogFuncSGIS( void *args )
{
    struct glFogFuncSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogFuncSGIS( params->n, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogxOES( void *args )
{
    struct glFogxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogxOES( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFogxvOES( void *args )
{
    struct glFogxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFogxvOES( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentColorMaterialSGIX( void *args )
{
    struct glFragmentColorMaterialSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentColorMaterialSGIX( params->face, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentCoverageColorNV( void *args )
{
    struct glFragmentCoverageColorNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentCoverageColorNV( params->color );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentLightModelfSGIX( void *args )
{
    struct glFragmentLightModelfSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentLightModelfSGIX( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentLightModelfvSGIX( void *args )
{
    struct glFragmentLightModelfvSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentLightModelfvSGIX( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentLightModeliSGIX( void *args )
{
    struct glFragmentLightModeliSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentLightModeliSGIX( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentLightModelivSGIX( void *args )
{
    struct glFragmentLightModelivSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentLightModelivSGIX( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentLightfSGIX( void *args )
{
    struct glFragmentLightfSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentLightfSGIX( params->light, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentLightfvSGIX( void *args )
{
    struct glFragmentLightfvSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentLightfvSGIX( params->light, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentLightiSGIX( void *args )
{
    struct glFragmentLightiSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentLightiSGIX( params->light, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentLightivSGIX( void *args )
{
    struct glFragmentLightivSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentLightivSGIX( params->light, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentMaterialfSGIX( void *args )
{
    struct glFragmentMaterialfSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentMaterialfSGIX( params->face, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentMaterialfvSGIX( void *args )
{
    struct glFragmentMaterialfvSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentMaterialfvSGIX( params->face, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentMaterialiSGIX( void *args )
{
    struct glFragmentMaterialiSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentMaterialiSGIX( params->face, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFragmentMaterialivSGIX( void *args )
{
    struct glFragmentMaterialivSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFragmentMaterialivSGIX( params->face, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFrameTerminatorGREMEDY( void *args )
{
    struct glFrameTerminatorGREMEDY_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFrameTerminatorGREMEDY();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFrameZoomSGIX( void *args )
{
    struct glFrameZoomSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFrameZoomSGIX( params->factor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferDrawBufferEXT( void *args )
{
    struct glFramebufferDrawBufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferDrawBufferEXT( params->framebuffer, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferDrawBuffersEXT( void *args )
{
    struct glFramebufferDrawBuffersEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferDrawBuffersEXT( params->framebuffer, params->n, params->bufs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferFetchBarrierEXT( void *args )
{
    struct glFramebufferFetchBarrierEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferFetchBarrierEXT();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferParameteri( void *args )
{
    struct glFramebufferParameteri_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferParameteri( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferParameteriMESA( void *args )
{
    struct glFramebufferParameteriMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferParameteriMESA( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferReadBufferEXT( void *args )
{
    struct glFramebufferReadBufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferReadBufferEXT( params->framebuffer, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferRenderbuffer( void *args )
{
    struct glFramebufferRenderbuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferRenderbuffer( params->target, params->attachment, params->renderbuffertarget, params->renderbuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferRenderbufferEXT( void *args )
{
    struct glFramebufferRenderbufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferRenderbufferEXT( params->target, params->attachment, params->renderbuffertarget, params->renderbuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferSampleLocationsfvARB( void *args )
{
    struct glFramebufferSampleLocationsfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferSampleLocationsfvARB( params->target, params->start, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferSampleLocationsfvNV( void *args )
{
    struct glFramebufferSampleLocationsfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferSampleLocationsfvNV( params->target, params->start, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferSamplePositionsfvAMD( void *args )
{
    struct glFramebufferSamplePositionsfvAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferSamplePositionsfvAMD( params->target, params->numsamples, params->pixelindex, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTexture( void *args )
{
    struct glFramebufferTexture_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTexture( params->target, params->attachment, params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTexture1D( void *args )
{
    struct glFramebufferTexture1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTexture1D( params->target, params->attachment, params->textarget, params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTexture1DEXT( void *args )
{
    struct glFramebufferTexture1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTexture1DEXT( params->target, params->attachment, params->textarget, params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTexture2D( void *args )
{
    struct glFramebufferTexture2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTexture2D( params->target, params->attachment, params->textarget, params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTexture2DEXT( void *args )
{
    struct glFramebufferTexture2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTexture2DEXT( params->target, params->attachment, params->textarget, params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTexture3D( void *args )
{
    struct glFramebufferTexture3D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTexture3D( params->target, params->attachment, params->textarget, params->texture, params->level, params->zoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTexture3DEXT( void *args )
{
    struct glFramebufferTexture3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTexture3DEXT( params->target, params->attachment, params->textarget, params->texture, params->level, params->zoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTextureARB( void *args )
{
    struct glFramebufferTextureARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTextureARB( params->target, params->attachment, params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTextureEXT( void *args )
{
    struct glFramebufferTextureEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTextureEXT( params->target, params->attachment, params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTextureFaceARB( void *args )
{
    struct glFramebufferTextureFaceARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTextureFaceARB( params->target, params->attachment, params->texture, params->level, params->face );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTextureFaceEXT( void *args )
{
    struct glFramebufferTextureFaceEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTextureFaceEXT( params->target, params->attachment, params->texture, params->level, params->face );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTextureLayer( void *args )
{
    struct glFramebufferTextureLayer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTextureLayer( params->target, params->attachment, params->texture, params->level, params->layer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTextureLayerARB( void *args )
{
    struct glFramebufferTextureLayerARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTextureLayerARB( params->target, params->attachment, params->texture, params->level, params->layer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTextureLayerEXT( void *args )
{
    struct glFramebufferTextureLayerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTextureLayerEXT( params->target, params->attachment, params->texture, params->level, params->layer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFramebufferTextureMultiviewOVR( void *args )
{
    struct glFramebufferTextureMultiviewOVR_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFramebufferTextureMultiviewOVR( params->target, params->attachment, params->texture, params->level, params->baseViewIndex, params->numViews );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFreeObjectBufferATI( void *args )
{
    struct glFreeObjectBufferATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFreeObjectBufferATI( params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFrustumfOES( void *args )
{
    struct glFrustumfOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFrustumfOES( params->l, params->r, params->b, params->t, params->n, params->f );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glFrustumxOES( void *args )
{
    struct glFrustumxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glFrustumxOES( params->l, params->r, params->b, params->t, params->n, params->f );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenAsyncMarkersSGIX( void *args )
{
    struct glGenAsyncMarkersSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGenAsyncMarkersSGIX( params->range );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenBuffers( void *args )
{
    struct glGenBuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenBuffers( params->n, params->buffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenBuffersARB( void *args )
{
    struct glGenBuffersARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenBuffersARB( params->n, params->buffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenFencesAPPLE( void *args )
{
    struct glGenFencesAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenFencesAPPLE( params->n, params->fences );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenFencesNV( void *args )
{
    struct glGenFencesNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenFencesNV( params->n, params->fences );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenFragmentShadersATI( void *args )
{
    struct glGenFragmentShadersATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGenFragmentShadersATI( params->range );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenFramebuffers( void *args )
{
    struct glGenFramebuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenFramebuffers( params->n, params->framebuffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenFramebuffersEXT( void *args )
{
    struct glGenFramebuffersEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenFramebuffersEXT( params->n, params->framebuffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenNamesAMD( void *args )
{
    struct glGenNamesAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenNamesAMD( params->identifier, params->num, params->names );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenOcclusionQueriesNV( void *args )
{
    struct glGenOcclusionQueriesNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenOcclusionQueriesNV( params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenPathsNV( void *args )
{
    struct glGenPathsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGenPathsNV( params->range );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenPerfMonitorsAMD( void *args )
{
    struct glGenPerfMonitorsAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenPerfMonitorsAMD( params->n, params->monitors );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenProgramPipelines( void *args )
{
    struct glGenProgramPipelines_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenProgramPipelines( params->n, params->pipelines );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenProgramsARB( void *args )
{
    struct glGenProgramsARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenProgramsARB( params->n, params->programs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenProgramsNV( void *args )
{
    struct glGenProgramsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenProgramsNV( params->n, params->programs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenQueries( void *args )
{
    struct glGenQueries_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenQueries( params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenQueriesARB( void *args )
{
    struct glGenQueriesARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenQueriesARB( params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenQueryResourceTagNV( void *args )
{
    struct glGenQueryResourceTagNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenQueryResourceTagNV( params->n, params->tagIds );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenRenderbuffers( void *args )
{
    struct glGenRenderbuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenRenderbuffers( params->n, params->renderbuffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenRenderbuffersEXT( void *args )
{
    struct glGenRenderbuffersEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenRenderbuffersEXT( params->n, params->renderbuffers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenSamplers( void *args )
{
    struct glGenSamplers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenSamplers( params->count, params->samplers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenSemaphoresEXT( void *args )
{
    struct glGenSemaphoresEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenSemaphoresEXT( params->n, params->semaphores );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenSymbolsEXT( void *args )
{
    struct glGenSymbolsEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGenSymbolsEXT( params->datatype, params->storagetype, params->range, params->components );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenTexturesEXT( void *args )
{
    struct glGenTexturesEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenTexturesEXT( params->n, params->textures );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenTransformFeedbacks( void *args )
{
    struct glGenTransformFeedbacks_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenTransformFeedbacks( params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenTransformFeedbacksNV( void *args )
{
    struct glGenTransformFeedbacksNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenTransformFeedbacksNV( params->n, params->ids );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenVertexArrays( void *args )
{
    struct glGenVertexArrays_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenVertexArrays( params->n, params->arrays );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenVertexArraysAPPLE( void *args )
{
    struct glGenVertexArraysAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenVertexArraysAPPLE( params->n, params->arrays );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenVertexShadersEXT( void *args )
{
    struct glGenVertexShadersEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGenVertexShadersEXT( params->range );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenerateMipmap( void *args )
{
    struct glGenerateMipmap_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenerateMipmap( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenerateMipmapEXT( void *args )
{
    struct glGenerateMipmapEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenerateMipmapEXT( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenerateMultiTexMipmapEXT( void *args )
{
    struct glGenerateMultiTexMipmapEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenerateMultiTexMipmapEXT( params->texunit, params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenerateTextureMipmap( void *args )
{
    struct glGenerateTextureMipmap_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenerateTextureMipmap( params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGenerateTextureMipmapEXT( void *args )
{
    struct glGenerateTextureMipmapEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGenerateTextureMipmapEXT( params->texture, params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveAtomicCounterBufferiv( void *args )
{
    struct glGetActiveAtomicCounterBufferiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveAtomicCounterBufferiv( params->program, params->bufferIndex, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveAttrib( void *args )
{
    struct glGetActiveAttrib_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveAttrib( params->program, params->index, params->bufSize, params->length, params->size, params->type, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveAttribARB( void *args )
{
    struct glGetActiveAttribARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveAttribARB( params->programObj, params->index, params->maxLength, params->length, params->size, params->type, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveSubroutineName( void *args )
{
    struct glGetActiveSubroutineName_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveSubroutineName( params->program, params->shadertype, params->index, params->bufSize, params->length, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveSubroutineUniformName( void *args )
{
    struct glGetActiveSubroutineUniformName_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveSubroutineUniformName( params->program, params->shadertype, params->index, params->bufSize, params->length, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveSubroutineUniformiv( void *args )
{
    struct glGetActiveSubroutineUniformiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveSubroutineUniformiv( params->program, params->shadertype, params->index, params->pname, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveUniform( void *args )
{
    struct glGetActiveUniform_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveUniform( params->program, params->index, params->bufSize, params->length, params->size, params->type, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveUniformARB( void *args )
{
    struct glGetActiveUniformARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveUniformARB( params->programObj, params->index, params->maxLength, params->length, params->size, params->type, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveUniformBlockName( void *args )
{
    struct glGetActiveUniformBlockName_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveUniformBlockName( params->program, params->uniformBlockIndex, params->bufSize, params->length, params->uniformBlockName );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveUniformBlockiv( void *args )
{
    struct glGetActiveUniformBlockiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveUniformBlockiv( params->program, params->uniformBlockIndex, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveUniformName( void *args )
{
    struct glGetActiveUniformName_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveUniformName( params->program, params->uniformIndex, params->bufSize, params->length, params->uniformName );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveUniformsiv( void *args )
{
    struct glGetActiveUniformsiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveUniformsiv( params->program, params->uniformCount, params->uniformIndices, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetActiveVaryingNV( void *args )
{
    struct glGetActiveVaryingNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetActiveVaryingNV( params->program, params->index, params->bufSize, params->length, params->size, params->type, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetArrayObjectfvATI( void *args )
{
    struct glGetArrayObjectfvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetArrayObjectfvATI( params->array, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetArrayObjectivATI( void *args )
{
    struct glGetArrayObjectivATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetArrayObjectivATI( params->array, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetAttachedObjectsARB( void *args )
{
    struct glGetAttachedObjectsARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetAttachedObjectsARB( params->containerObj, params->maxCount, params->count, params->obj );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetAttachedShaders( void *args )
{
    struct glGetAttachedShaders_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetAttachedShaders( params->program, params->maxCount, params->count, params->shaders );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetAttribLocation( void *args )
{
    struct glGetAttribLocation_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetAttribLocation( params->program, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetAttribLocationARB( void *args )
{
    struct glGetAttribLocationARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetAttribLocationARB( params->programObj, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetBooleanIndexedvEXT( void *args )
{
    struct glGetBooleanIndexedvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetBooleanIndexedvEXT( params->target, params->index, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetBooleani_v( void *args )
{
    struct glGetBooleani_v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetBooleani_v( params->target, params->index, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetBufferParameteri64v( void *args )
{
    struct glGetBufferParameteri64v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetBufferParameteri64v( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetBufferParameteriv( void *args )
{
    struct glGetBufferParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetBufferParameteriv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetBufferParameterivARB( void *args )
{
    struct glGetBufferParameterivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetBufferParameterivARB( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetBufferParameterui64vNV( void *args )
{
    struct glGetBufferParameterui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetBufferParameterui64vNV( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glGetBufferPointerv( void *args )
{
    struct glGetBufferPointerv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetBufferPointerv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glGetBufferPointervARB( void *args )
{
    struct glGetBufferPointervARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetBufferPointervARB( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetBufferSubData( void *args )
{
    struct glGetBufferSubData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetBufferSubData( params->target, params->offset, params->size, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetBufferSubDataARB( void *args )
{
    struct glGetBufferSubDataARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetBufferSubDataARB( params->target, params->offset, params->size, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetClipPlanefOES( void *args )
{
    struct glGetClipPlanefOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetClipPlanefOES( params->plane, params->equation );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetClipPlanexOES( void *args )
{
    struct glGetClipPlanexOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetClipPlanexOES( params->plane, params->equation );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetColorTable( void *args )
{
    struct glGetColorTable_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetColorTable( params->target, params->format, params->type, params->table );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetColorTableEXT( void *args )
{
    struct glGetColorTableEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetColorTableEXT( params->target, params->format, params->type, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetColorTableParameterfv( void *args )
{
    struct glGetColorTableParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetColorTableParameterfv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetColorTableParameterfvEXT( void *args )
{
    struct glGetColorTableParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetColorTableParameterfvEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetColorTableParameterfvSGI( void *args )
{
    struct glGetColorTableParameterfvSGI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetColorTableParameterfvSGI( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetColorTableParameteriv( void *args )
{
    struct glGetColorTableParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetColorTableParameteriv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetColorTableParameterivEXT( void *args )
{
    struct glGetColorTableParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetColorTableParameterivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetColorTableParameterivSGI( void *args )
{
    struct glGetColorTableParameterivSGI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetColorTableParameterivSGI( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetColorTableSGI( void *args )
{
    struct glGetColorTableSGI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetColorTableSGI( params->target, params->format, params->type, params->table );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCombinerInputParameterfvNV( void *args )
{
    struct glGetCombinerInputParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCombinerInputParameterfvNV( params->stage, params->portion, params->variable, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCombinerInputParameterivNV( void *args )
{
    struct glGetCombinerInputParameterivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCombinerInputParameterivNV( params->stage, params->portion, params->variable, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCombinerOutputParameterfvNV( void *args )
{
    struct glGetCombinerOutputParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCombinerOutputParameterfvNV( params->stage, params->portion, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCombinerOutputParameterivNV( void *args )
{
    struct glGetCombinerOutputParameterivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCombinerOutputParameterivNV( params->stage, params->portion, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCombinerStageParameterfvNV( void *args )
{
    struct glGetCombinerStageParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCombinerStageParameterfvNV( params->stage, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCommandHeaderNV( void *args )
{
    struct glGetCommandHeaderNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetCommandHeaderNV( params->tokenID, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCompressedMultiTexImageEXT( void *args )
{
    struct glGetCompressedMultiTexImageEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCompressedMultiTexImageEXT( params->texunit, params->target, params->lod, params->img );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCompressedTexImage( void *args )
{
    struct glGetCompressedTexImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCompressedTexImage( params->target, params->level, params->img );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCompressedTexImageARB( void *args )
{
    struct glGetCompressedTexImageARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCompressedTexImageARB( params->target, params->level, params->img );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCompressedTextureImage( void *args )
{
    struct glGetCompressedTextureImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCompressedTextureImage( params->texture, params->level, params->bufSize, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCompressedTextureImageEXT( void *args )
{
    struct glGetCompressedTextureImageEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCompressedTextureImageEXT( params->texture, params->target, params->lod, params->img );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCompressedTextureSubImage( void *args )
{
    struct glGetCompressedTextureSubImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCompressedTextureSubImage( params->texture, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->bufSize, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetConvolutionFilter( void *args )
{
    struct glGetConvolutionFilter_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetConvolutionFilter( params->target, params->format, params->type, params->image );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetConvolutionFilterEXT( void *args )
{
    struct glGetConvolutionFilterEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetConvolutionFilterEXT( params->target, params->format, params->type, params->image );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetConvolutionParameterfv( void *args )
{
    struct glGetConvolutionParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetConvolutionParameterfv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetConvolutionParameterfvEXT( void *args )
{
    struct glGetConvolutionParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetConvolutionParameterfvEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetConvolutionParameteriv( void *args )
{
    struct glGetConvolutionParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetConvolutionParameteriv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetConvolutionParameterivEXT( void *args )
{
    struct glGetConvolutionParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetConvolutionParameterivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetConvolutionParameterxvOES( void *args )
{
    struct glGetConvolutionParameterxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetConvolutionParameterxvOES( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetCoverageModulationTableNV( void *args )
{
    struct glGetCoverageModulationTableNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetCoverageModulationTableNV( params->bufSize, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetDebugMessageLog( void *args )
{
    struct glGetDebugMessageLog_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetDebugMessageLog( params->count, params->bufSize, params->sources, params->types, params->ids, params->severities, params->lengths, params->messageLog );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetDebugMessageLogAMD( void *args )
{
    struct glGetDebugMessageLogAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetDebugMessageLogAMD( params->count, params->bufSize, params->categories, params->severities, params->ids, params->lengths, params->message );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetDebugMessageLogARB( void *args )
{
    struct glGetDebugMessageLogARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetDebugMessageLogARB( params->count, params->bufSize, params->sources, params->types, params->ids, params->severities, params->lengths, params->messageLog );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetDetailTexFuncSGIS( void *args )
{
    struct glGetDetailTexFuncSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetDetailTexFuncSGIS( params->target, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetDoubleIndexedvEXT( void *args )
{
    struct glGetDoubleIndexedvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetDoubleIndexedvEXT( params->target, params->index, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetDoublei_v( void *args )
{
    struct glGetDoublei_v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetDoublei_v( params->target, params->index, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetDoublei_vEXT( void *args )
{
    struct glGetDoublei_vEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetDoublei_vEXT( params->pname, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFenceivNV( void *args )
{
    struct glGetFenceivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFenceivNV( params->fence, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFinalCombinerInputParameterfvNV( void *args )
{
    struct glGetFinalCombinerInputParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFinalCombinerInputParameterfvNV( params->variable, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFinalCombinerInputParameterivNV( void *args )
{
    struct glGetFinalCombinerInputParameterivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFinalCombinerInputParameterivNV( params->variable, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFirstPerfQueryIdINTEL( void *args )
{
    struct glGetFirstPerfQueryIdINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFirstPerfQueryIdINTEL( params->queryId );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFixedvOES( void *args )
{
    struct glGetFixedvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFixedvOES( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFloatIndexedvEXT( void *args )
{
    struct glGetFloatIndexedvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFloatIndexedvEXT( params->target, params->index, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFloati_v( void *args )
{
    struct glGetFloati_v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFloati_v( params->target, params->index, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFloati_vEXT( void *args )
{
    struct glGetFloati_vEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFloati_vEXT( params->pname, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFogFuncSGIS( void *args )
{
    struct glGetFogFuncSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFogFuncSGIS( params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFragDataIndex( void *args )
{
    struct glGetFragDataIndex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetFragDataIndex( params->program, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFragDataLocation( void *args )
{
    struct glGetFragDataLocation_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetFragDataLocation( params->program, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFragDataLocationEXT( void *args )
{
    struct glGetFragDataLocationEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetFragDataLocationEXT( params->program, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFragmentLightfvSGIX( void *args )
{
    struct glGetFragmentLightfvSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFragmentLightfvSGIX( params->light, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFragmentLightivSGIX( void *args )
{
    struct glGetFragmentLightivSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFragmentLightivSGIX( params->light, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFragmentMaterialfvSGIX( void *args )
{
    struct glGetFragmentMaterialfvSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFragmentMaterialfvSGIX( params->face, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFragmentMaterialivSGIX( void *args )
{
    struct glGetFragmentMaterialivSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFragmentMaterialivSGIX( params->face, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFramebufferAttachmentParameteriv( void *args )
{
    struct glGetFramebufferAttachmentParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFramebufferAttachmentParameteriv( params->target, params->attachment, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFramebufferAttachmentParameterivEXT( void *args )
{
    struct glGetFramebufferAttachmentParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFramebufferAttachmentParameterivEXT( params->target, params->attachment, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFramebufferParameterfvAMD( void *args )
{
    struct glGetFramebufferParameterfvAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFramebufferParameterfvAMD( params->target, params->pname, params->numsamples, params->pixelindex, params->size, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFramebufferParameteriv( void *args )
{
    struct glGetFramebufferParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFramebufferParameteriv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFramebufferParameterivEXT( void *args )
{
    struct glGetFramebufferParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFramebufferParameterivEXT( params->framebuffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetFramebufferParameterivMESA( void *args )
{
    struct glGetFramebufferParameterivMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetFramebufferParameterivMESA( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetGraphicsResetStatus( void *args )
{
    struct glGetGraphicsResetStatus_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetGraphicsResetStatus();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetGraphicsResetStatusARB( void *args )
{
    struct glGetGraphicsResetStatusARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetGraphicsResetStatusARB();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetHandleARB( void *args )
{
    struct glGetHandleARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetHandleARB( params->pname );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetHistogram( void *args )
{
    struct glGetHistogram_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetHistogram( params->target, params->reset, params->format, params->type, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetHistogramEXT( void *args )
{
    struct glGetHistogramEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetHistogramEXT( params->target, params->reset, params->format, params->type, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetHistogramParameterfv( void *args )
{
    struct glGetHistogramParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetHistogramParameterfv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetHistogramParameterfvEXT( void *args )
{
    struct glGetHistogramParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetHistogramParameterfvEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetHistogramParameteriv( void *args )
{
    struct glGetHistogramParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetHistogramParameteriv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetHistogramParameterivEXT( void *args )
{
    struct glGetHistogramParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetHistogramParameterivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetHistogramParameterxvOES( void *args )
{
    struct glGetHistogramParameterxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetHistogramParameterxvOES( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetImageHandleARB( void *args )
{
    struct glGetImageHandleARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetImageHandleARB( params->texture, params->level, params->layered, params->layer, params->format );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetImageHandleNV( void *args )
{
    struct glGetImageHandleNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetImageHandleNV( params->texture, params->level, params->layered, params->layer, params->format );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetImageTransformParameterfvHP( void *args )
{
    struct glGetImageTransformParameterfvHP_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetImageTransformParameterfvHP( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetImageTransformParameterivHP( void *args )
{
    struct glGetImageTransformParameterivHP_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetImageTransformParameterivHP( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetInfoLogARB( void *args )
{
    struct glGetInfoLogARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetInfoLogARB( params->obj, params->maxLength, params->length, params->infoLog );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetInstrumentsSGIX( void *args )
{
    struct glGetInstrumentsSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetInstrumentsSGIX();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetInteger64i_v( void *args )
{
    struct glGetInteger64i_v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetInteger64i_v( params->target, params->index, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetInteger64v( void *args )
{
    struct glGetInteger64v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetInteger64v( params->pname, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetIntegerIndexedvEXT( void *args )
{
    struct glGetIntegerIndexedvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetIntegerIndexedvEXT( params->target, params->index, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetIntegeri_v( void *args )
{
    struct glGetIntegeri_v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetIntegeri_v( params->target, params->index, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetIntegerui64i_vNV( void *args )
{
    struct glGetIntegerui64i_vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetIntegerui64i_vNV( params->value, params->index, params->result );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetIntegerui64vNV( void *args )
{
    struct glGetIntegerui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetIntegerui64vNV( params->value, params->result );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetInternalformatSampleivNV( void *args )
{
    struct glGetInternalformatSampleivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetInternalformatSampleivNV( params->target, params->internalformat, params->samples, params->pname, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetInternalformati64v( void *args )
{
    struct glGetInternalformati64v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetInternalformati64v( params->target, params->internalformat, params->pname, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetInternalformativ( void *args )
{
    struct glGetInternalformativ_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetInternalformativ( params->target, params->internalformat, params->pname, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetInvariantBooleanvEXT( void *args )
{
    struct glGetInvariantBooleanvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetInvariantBooleanvEXT( params->id, params->value, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetInvariantFloatvEXT( void *args )
{
    struct glGetInvariantFloatvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetInvariantFloatvEXT( params->id, params->value, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetInvariantIntegervEXT( void *args )
{
    struct glGetInvariantIntegervEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetInvariantIntegervEXT( params->id, params->value, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetLightxOES( void *args )
{
    struct glGetLightxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetLightxOES( params->light, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetListParameterfvSGIX( void *args )
{
    struct glGetListParameterfvSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetListParameterfvSGIX( params->list, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetListParameterivSGIX( void *args )
{
    struct glGetListParameterivSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetListParameterivSGIX( params->list, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetLocalConstantBooleanvEXT( void *args )
{
    struct glGetLocalConstantBooleanvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetLocalConstantBooleanvEXT( params->id, params->value, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetLocalConstantFloatvEXT( void *args )
{
    struct glGetLocalConstantFloatvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetLocalConstantFloatvEXT( params->id, params->value, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetLocalConstantIntegervEXT( void *args )
{
    struct glGetLocalConstantIntegervEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetLocalConstantIntegervEXT( params->id, params->value, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMapAttribParameterfvNV( void *args )
{
    struct glGetMapAttribParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMapAttribParameterfvNV( params->target, params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMapAttribParameterivNV( void *args )
{
    struct glGetMapAttribParameterivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMapAttribParameterivNV( params->target, params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMapControlPointsNV( void *args )
{
    struct glGetMapControlPointsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMapControlPointsNV( params->target, params->index, params->type, params->ustride, params->vstride, params->packed, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMapParameterfvNV( void *args )
{
    struct glGetMapParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMapParameterfvNV( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMapParameterivNV( void *args )
{
    struct glGetMapParameterivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMapParameterivNV( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMapxvOES( void *args )
{
    struct glGetMapxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMapxvOES( params->target, params->query, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMaterialxOES( void *args )
{
    struct glGetMaterialxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMaterialxOES( params->face, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMemoryObjectDetachedResourcesuivNV( void *args )
{
    struct glGetMemoryObjectDetachedResourcesuivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMemoryObjectDetachedResourcesuivNV( params->memory, params->pname, params->first, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMemoryObjectParameterivEXT( void *args )
{
    struct glGetMemoryObjectParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMemoryObjectParameterivEXT( params->memoryObject, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMinmax( void *args )
{
    struct glGetMinmax_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMinmax( params->target, params->reset, params->format, params->type, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMinmaxEXT( void *args )
{
    struct glGetMinmaxEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMinmaxEXT( params->target, params->reset, params->format, params->type, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMinmaxParameterfv( void *args )
{
    struct glGetMinmaxParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMinmaxParameterfv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMinmaxParameterfvEXT( void *args )
{
    struct glGetMinmaxParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMinmaxParameterfvEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMinmaxParameteriv( void *args )
{
    struct glGetMinmaxParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMinmaxParameteriv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMinmaxParameterivEXT( void *args )
{
    struct glGetMinmaxParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMinmaxParameterivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexEnvfvEXT( void *args )
{
    struct glGetMultiTexEnvfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexEnvfvEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexEnvivEXT( void *args )
{
    struct glGetMultiTexEnvivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexEnvivEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexGendvEXT( void *args )
{
    struct glGetMultiTexGendvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexGendvEXT( params->texunit, params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexGenfvEXT( void *args )
{
    struct glGetMultiTexGenfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexGenfvEXT( params->texunit, params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexGenivEXT( void *args )
{
    struct glGetMultiTexGenivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexGenivEXT( params->texunit, params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexImageEXT( void *args )
{
    struct glGetMultiTexImageEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexImageEXT( params->texunit, params->target, params->level, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexLevelParameterfvEXT( void *args )
{
    struct glGetMultiTexLevelParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexLevelParameterfvEXT( params->texunit, params->target, params->level, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexLevelParameterivEXT( void *args )
{
    struct glGetMultiTexLevelParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexLevelParameterivEXT( params->texunit, params->target, params->level, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexParameterIivEXT( void *args )
{
    struct glGetMultiTexParameterIivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexParameterIivEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexParameterIuivEXT( void *args )
{
    struct glGetMultiTexParameterIuivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexParameterIuivEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexParameterfvEXT( void *args )
{
    struct glGetMultiTexParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexParameterfvEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultiTexParameterivEXT( void *args )
{
    struct glGetMultiTexParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultiTexParameterivEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultisamplefv( void *args )
{
    struct glGetMultisamplefv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultisamplefv( params->pname, params->index, params->val );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetMultisamplefvNV( void *args )
{
    struct glGetMultisamplefvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetMultisamplefvNV( params->pname, params->index, params->val );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedBufferParameteri64v( void *args )
{
    struct glGetNamedBufferParameteri64v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedBufferParameteri64v( params->buffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedBufferParameteriv( void *args )
{
    struct glGetNamedBufferParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedBufferParameteriv( params->buffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedBufferParameterivEXT( void *args )
{
    struct glGetNamedBufferParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedBufferParameterivEXT( params->buffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedBufferParameterui64vNV( void *args )
{
    struct glGetNamedBufferParameterui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedBufferParameterui64vNV( params->buffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glGetNamedBufferPointerv( void *args )
{
    struct glGetNamedBufferPointerv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedBufferPointerv( params->buffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glGetNamedBufferPointervEXT( void *args )
{
    struct glGetNamedBufferPointervEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedBufferPointervEXT( params->buffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedBufferSubData( void *args )
{
    struct glGetNamedBufferSubData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedBufferSubData( params->buffer, params->offset, params->size, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedBufferSubDataEXT( void *args )
{
    struct glGetNamedBufferSubDataEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedBufferSubDataEXT( params->buffer, params->offset, params->size, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedFramebufferAttachmentParameteriv( void *args )
{
    struct glGetNamedFramebufferAttachmentParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedFramebufferAttachmentParameteriv( params->framebuffer, params->attachment, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedFramebufferAttachmentParameterivEXT( void *args )
{
    struct glGetNamedFramebufferAttachmentParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedFramebufferAttachmentParameterivEXT( params->framebuffer, params->attachment, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedFramebufferParameterfvAMD( void *args )
{
    struct glGetNamedFramebufferParameterfvAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedFramebufferParameterfvAMD( params->framebuffer, params->pname, params->numsamples, params->pixelindex, params->size, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedFramebufferParameteriv( void *args )
{
    struct glGetNamedFramebufferParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedFramebufferParameteriv( params->framebuffer, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedFramebufferParameterivEXT( void *args )
{
    struct glGetNamedFramebufferParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedFramebufferParameterivEXT( params->framebuffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedProgramLocalParameterIivEXT( void *args )
{
    struct glGetNamedProgramLocalParameterIivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedProgramLocalParameterIivEXT( params->program, params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedProgramLocalParameterIuivEXT( void *args )
{
    struct glGetNamedProgramLocalParameterIuivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedProgramLocalParameterIuivEXT( params->program, params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedProgramLocalParameterdvEXT( void *args )
{
    struct glGetNamedProgramLocalParameterdvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedProgramLocalParameterdvEXT( params->program, params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedProgramLocalParameterfvEXT( void *args )
{
    struct glGetNamedProgramLocalParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedProgramLocalParameterfvEXT( params->program, params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedProgramStringEXT( void *args )
{
    struct glGetNamedProgramStringEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedProgramStringEXT( params->program, params->target, params->pname, params->string );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedProgramivEXT( void *args )
{
    struct glGetNamedProgramivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedProgramivEXT( params->program, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedRenderbufferParameteriv( void *args )
{
    struct glGetNamedRenderbufferParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedRenderbufferParameteriv( params->renderbuffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedRenderbufferParameterivEXT( void *args )
{
    struct glGetNamedRenderbufferParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedRenderbufferParameterivEXT( params->renderbuffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedStringARB( void *args )
{
    struct glGetNamedStringARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedStringARB( params->namelen, params->name, params->bufSize, params->stringlen, params->string );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNamedStringivARB( void *args )
{
    struct glGetNamedStringivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNamedStringivARB( params->namelen, params->name, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetNextPerfQueryIdINTEL( void *args )
{
    struct glGetNextPerfQueryIdINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetNextPerfQueryIdINTEL( params->queryId, params->nextQueryId );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetObjectBufferfvATI( void *args )
{
    struct glGetObjectBufferfvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetObjectBufferfvATI( params->buffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetObjectBufferivATI( void *args )
{
    struct glGetObjectBufferivATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetObjectBufferivATI( params->buffer, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetObjectLabel( void *args )
{
    struct glGetObjectLabel_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetObjectLabel( params->identifier, params->name, params->bufSize, params->length, params->label );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetObjectLabelEXT( void *args )
{
    struct glGetObjectLabelEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetObjectLabelEXT( params->type, params->object, params->bufSize, params->length, params->label );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetObjectParameterfvARB( void *args )
{
    struct glGetObjectParameterfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetObjectParameterfvARB( params->obj, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetObjectParameterivAPPLE( void *args )
{
    struct glGetObjectParameterivAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetObjectParameterivAPPLE( params->objectType, params->name, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetObjectParameterivARB( void *args )
{
    struct glGetObjectParameterivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetObjectParameterivARB( params->obj, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetObjectPtrLabel( void *args )
{
    struct glGetObjectPtrLabel_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetObjectPtrLabel( params->ptr, params->bufSize, params->length, params->label );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetOcclusionQueryivNV( void *args )
{
    struct glGetOcclusionQueryivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetOcclusionQueryivNV( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetOcclusionQueryuivNV( void *args )
{
    struct glGetOcclusionQueryuivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetOcclusionQueryuivNV( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathColorGenfvNV( void *args )
{
    struct glGetPathColorGenfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathColorGenfvNV( params->color, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathColorGenivNV( void *args )
{
    struct glGetPathColorGenivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathColorGenivNV( params->color, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathCommandsNV( void *args )
{
    struct glGetPathCommandsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathCommandsNV( params->path, params->commands );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathCoordsNV( void *args )
{
    struct glGetPathCoordsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathCoordsNV( params->path, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathDashArrayNV( void *args )
{
    struct glGetPathDashArrayNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathDashArrayNV( params->path, params->dashArray );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathLengthNV( void *args )
{
    struct glGetPathLengthNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetPathLengthNV( params->path, params->startSegment, params->numSegments );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathMetricRangeNV( void *args )
{
    struct glGetPathMetricRangeNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathMetricRangeNV( params->metricQueryMask, params->firstPathName, params->numPaths, params->stride, params->metrics );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathMetricsNV( void *args )
{
    struct glGetPathMetricsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathMetricsNV( params->metricQueryMask, params->numPaths, params->pathNameType, params->paths, params->pathBase, params->stride, params->metrics );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathParameterfvNV( void *args )
{
    struct glGetPathParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathParameterfvNV( params->path, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathParameterivNV( void *args )
{
    struct glGetPathParameterivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathParameterivNV( params->path, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathSpacingNV( void *args )
{
    struct glGetPathSpacingNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathSpacingNV( params->pathListMode, params->numPaths, params->pathNameType, params->paths, params->pathBase, params->advanceScale, params->kerningScale, params->transformType, params->returnedSpacing );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathTexGenfvNV( void *args )
{
    struct glGetPathTexGenfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathTexGenfvNV( params->texCoordSet, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPathTexGenivNV( void *args )
{
    struct glGetPathTexGenivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPathTexGenivNV( params->texCoordSet, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPerfCounterInfoINTEL( void *args )
{
    struct glGetPerfCounterInfoINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPerfCounterInfoINTEL( params->queryId, params->counterId, params->counterNameLength, params->counterName, params->counterDescLength, params->counterDesc, params->counterOffset, params->counterDataSize, params->counterTypeEnum, params->counterDataTypeEnum, params->rawCounterMaxValue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPerfMonitorCounterDataAMD( void *args )
{
    struct glGetPerfMonitorCounterDataAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPerfMonitorCounterDataAMD( params->monitor, params->pname, params->dataSize, params->data, params->bytesWritten );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPerfMonitorCounterInfoAMD( void *args )
{
    struct glGetPerfMonitorCounterInfoAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPerfMonitorCounterInfoAMD( params->group, params->counter, params->pname, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPerfMonitorCounterStringAMD( void *args )
{
    struct glGetPerfMonitorCounterStringAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPerfMonitorCounterStringAMD( params->group, params->counter, params->bufSize, params->length, params->counterString );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPerfMonitorCountersAMD( void *args )
{
    struct glGetPerfMonitorCountersAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPerfMonitorCountersAMD( params->group, params->numCounters, params->maxActiveCounters, params->counterSize, params->counters );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPerfMonitorGroupStringAMD( void *args )
{
    struct glGetPerfMonitorGroupStringAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPerfMonitorGroupStringAMD( params->group, params->bufSize, params->length, params->groupString );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPerfMonitorGroupsAMD( void *args )
{
    struct glGetPerfMonitorGroupsAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPerfMonitorGroupsAMD( params->numGroups, params->groupsSize, params->groups );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPerfQueryDataINTEL( void *args )
{
    struct glGetPerfQueryDataINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPerfQueryDataINTEL( params->queryHandle, params->flags, params->dataSize, params->data, params->bytesWritten );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPerfQueryIdByNameINTEL( void *args )
{
    struct glGetPerfQueryIdByNameINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPerfQueryIdByNameINTEL( params->queryName, params->queryId );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPerfQueryInfoINTEL( void *args )
{
    struct glGetPerfQueryInfoINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPerfQueryInfoINTEL( params->queryId, params->queryNameLength, params->queryName, params->dataSize, params->noCounters, params->noInstances, params->capsMask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPixelMapxv( void *args )
{
    struct glGetPixelMapxv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPixelMapxv( params->map, params->size, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPixelTexGenParameterfvSGIS( void *args )
{
    struct glGetPixelTexGenParameterfvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPixelTexGenParameterfvSGIS( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPixelTexGenParameterivSGIS( void *args )
{
    struct glGetPixelTexGenParameterivSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPixelTexGenParameterivSGIS( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPixelTransformParameterfvEXT( void *args )
{
    struct glGetPixelTransformParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPixelTransformParameterfvEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPixelTransformParameterivEXT( void *args )
{
    struct glGetPixelTransformParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPixelTransformParameterivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPointerIndexedvEXT( void *args )
{
    struct glGetPointerIndexedvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPointerIndexedvEXT( params->target, params->index, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPointeri_vEXT( void *args )
{
    struct glGetPointeri_vEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPointeri_vEXT( params->pname, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetPointervEXT( void *args )
{
    struct glGetPointervEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetPointervEXT( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramBinary( void *args )
{
    struct glGetProgramBinary_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramBinary( params->program, params->bufSize, params->length, params->binaryFormat, params->binary );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramEnvParameterIivNV( void *args )
{
    struct glGetProgramEnvParameterIivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramEnvParameterIivNV( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramEnvParameterIuivNV( void *args )
{
    struct glGetProgramEnvParameterIuivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramEnvParameterIuivNV( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramEnvParameterdvARB( void *args )
{
    struct glGetProgramEnvParameterdvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramEnvParameterdvARB( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramEnvParameterfvARB( void *args )
{
    struct glGetProgramEnvParameterfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramEnvParameterfvARB( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramInfoLog( void *args )
{
    struct glGetProgramInfoLog_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramInfoLog( params->program, params->bufSize, params->length, params->infoLog );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramInterfaceiv( void *args )
{
    struct glGetProgramInterfaceiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramInterfaceiv( params->program, params->programInterface, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramLocalParameterIivNV( void *args )
{
    struct glGetProgramLocalParameterIivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramLocalParameterIivNV( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramLocalParameterIuivNV( void *args )
{
    struct glGetProgramLocalParameterIuivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramLocalParameterIuivNV( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramLocalParameterdvARB( void *args )
{
    struct glGetProgramLocalParameterdvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramLocalParameterdvARB( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramLocalParameterfvARB( void *args )
{
    struct glGetProgramLocalParameterfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramLocalParameterfvARB( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramNamedParameterdvNV( void *args )
{
    struct glGetProgramNamedParameterdvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramNamedParameterdvNV( params->id, params->len, params->name, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramNamedParameterfvNV( void *args )
{
    struct glGetProgramNamedParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramNamedParameterfvNV( params->id, params->len, params->name, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramParameterdvNV( void *args )
{
    struct glGetProgramParameterdvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramParameterdvNV( params->target, params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramParameterfvNV( void *args )
{
    struct glGetProgramParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramParameterfvNV( params->target, params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramPipelineInfoLog( void *args )
{
    struct glGetProgramPipelineInfoLog_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramPipelineInfoLog( params->pipeline, params->bufSize, params->length, params->infoLog );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramPipelineiv( void *args )
{
    struct glGetProgramPipelineiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramPipelineiv( params->pipeline, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramResourceIndex( void *args )
{
    struct glGetProgramResourceIndex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetProgramResourceIndex( params->program, params->programInterface, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramResourceLocation( void *args )
{
    struct glGetProgramResourceLocation_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetProgramResourceLocation( params->program, params->programInterface, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramResourceLocationIndex( void *args )
{
    struct glGetProgramResourceLocationIndex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetProgramResourceLocationIndex( params->program, params->programInterface, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramResourceName( void *args )
{
    struct glGetProgramResourceName_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramResourceName( params->program, params->programInterface, params->index, params->bufSize, params->length, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramResourcefvNV( void *args )
{
    struct glGetProgramResourcefvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramResourcefvNV( params->program, params->programInterface, params->index, params->propCount, params->props, params->count, params->length, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramResourceiv( void *args )
{
    struct glGetProgramResourceiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramResourceiv( params->program, params->programInterface, params->index, params->propCount, params->props, params->count, params->length, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramStageiv( void *args )
{
    struct glGetProgramStageiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramStageiv( params->program, params->shadertype, params->pname, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramStringARB( void *args )
{
    struct glGetProgramStringARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramStringARB( params->target, params->pname, params->string );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramStringNV( void *args )
{
    struct glGetProgramStringNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramStringNV( params->id, params->pname, params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramSubroutineParameteruivNV( void *args )
{
    struct glGetProgramSubroutineParameteruivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramSubroutineParameteruivNV( params->target, params->index, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramiv( void *args )
{
    struct glGetProgramiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramiv( params->program, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramivARB( void *args )
{
    struct glGetProgramivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramivARB( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetProgramivNV( void *args )
{
    struct glGetProgramivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetProgramivNV( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryBufferObjecti64v( void *args )
{
    struct glGetQueryBufferObjecti64v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryBufferObjecti64v( params->id, params->buffer, params->pname, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryBufferObjectiv( void *args )
{
    struct glGetQueryBufferObjectiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryBufferObjectiv( params->id, params->buffer, params->pname, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryBufferObjectui64v( void *args )
{
    struct glGetQueryBufferObjectui64v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryBufferObjectui64v( params->id, params->buffer, params->pname, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryBufferObjectuiv( void *args )
{
    struct glGetQueryBufferObjectuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryBufferObjectuiv( params->id, params->buffer, params->pname, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryIndexediv( void *args )
{
    struct glGetQueryIndexediv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryIndexediv( params->target, params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryObjecti64v( void *args )
{
    struct glGetQueryObjecti64v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryObjecti64v( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryObjecti64vEXT( void *args )
{
    struct glGetQueryObjecti64vEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryObjecti64vEXT( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryObjectiv( void *args )
{
    struct glGetQueryObjectiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryObjectiv( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryObjectivARB( void *args )
{
    struct glGetQueryObjectivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryObjectivARB( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryObjectui64v( void *args )
{
    struct glGetQueryObjectui64v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryObjectui64v( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryObjectui64vEXT( void *args )
{
    struct glGetQueryObjectui64vEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryObjectui64vEXT( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryObjectuiv( void *args )
{
    struct glGetQueryObjectuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryObjectuiv( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryObjectuivARB( void *args )
{
    struct glGetQueryObjectuivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryObjectuivARB( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryiv( void *args )
{
    struct glGetQueryiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryiv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetQueryivARB( void *args )
{
    struct glGetQueryivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetQueryivARB( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetRenderbufferParameteriv( void *args )
{
    struct glGetRenderbufferParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetRenderbufferParameteriv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetRenderbufferParameterivEXT( void *args )
{
    struct glGetRenderbufferParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetRenderbufferParameterivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetSamplerParameterIiv( void *args )
{
    struct glGetSamplerParameterIiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetSamplerParameterIiv( params->sampler, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetSamplerParameterIuiv( void *args )
{
    struct glGetSamplerParameterIuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetSamplerParameterIuiv( params->sampler, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetSamplerParameterfv( void *args )
{
    struct glGetSamplerParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetSamplerParameterfv( params->sampler, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetSamplerParameteriv( void *args )
{
    struct glGetSamplerParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetSamplerParameteriv( params->sampler, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetSemaphoreParameterui64vEXT( void *args )
{
    struct glGetSemaphoreParameterui64vEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetSemaphoreParameterui64vEXT( params->semaphore, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetSeparableFilter( void *args )
{
    struct glGetSeparableFilter_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetSeparableFilter( params->target, params->format, params->type, params->row, params->column, params->span );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetSeparableFilterEXT( void *args )
{
    struct glGetSeparableFilterEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetSeparableFilterEXT( params->target, params->format, params->type, params->row, params->column, params->span );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetShaderInfoLog( void *args )
{
    struct glGetShaderInfoLog_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetShaderInfoLog( params->shader, params->bufSize, params->length, params->infoLog );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetShaderPrecisionFormat( void *args )
{
    struct glGetShaderPrecisionFormat_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetShaderPrecisionFormat( params->shadertype, params->precisiontype, params->range, params->precision );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetShaderSource( void *args )
{
    struct glGetShaderSource_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetShaderSource( params->shader, params->bufSize, params->length, params->source );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetShaderSourceARB( void *args )
{
    struct glGetShaderSourceARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetShaderSourceARB( params->obj, params->maxLength, params->length, params->source );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetShaderiv( void *args )
{
    struct glGetShaderiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetShaderiv( params->shader, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetShadingRateImagePaletteNV( void *args )
{
    struct glGetShadingRateImagePaletteNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetShadingRateImagePaletteNV( params->viewport, params->entry, params->rate );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetShadingRateSampleLocationivNV( void *args )
{
    struct glGetShadingRateSampleLocationivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetShadingRateSampleLocationivNV( params->rate, params->samples, params->index, params->location );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetSharpenTexFuncSGIS( void *args )
{
    struct glGetSharpenTexFuncSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetSharpenTexFuncSGIS( params->target, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetStageIndexNV( void *args )
{
    struct glGetStageIndexNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetStageIndexNV( params->shadertype );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetSubroutineIndex( void *args )
{
    struct glGetSubroutineIndex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetSubroutineIndex( params->program, params->shadertype, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetSubroutineUniformLocation( void *args )
{
    struct glGetSubroutineUniformLocation_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetSubroutineUniformLocation( params->program, params->shadertype, params->name );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glGetSynciv( void *args )
{
    struct glGetSynciv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetSynciv( params->sync, params->pname, params->count, params->length, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexBumpParameterfvATI( void *args )
{
    struct glGetTexBumpParameterfvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexBumpParameterfvATI( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexBumpParameterivATI( void *args )
{
    struct glGetTexBumpParameterivATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexBumpParameterivATI( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexEnvxvOES( void *args )
{
    struct glGetTexEnvxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexEnvxvOES( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexFilterFuncSGIS( void *args )
{
    struct glGetTexFilterFuncSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexFilterFuncSGIS( params->target, params->filter, params->weights );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexGenxvOES( void *args )
{
    struct glGetTexGenxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexGenxvOES( params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexLevelParameterxvOES( void *args )
{
    struct glGetTexLevelParameterxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexLevelParameterxvOES( params->target, params->level, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexParameterIiv( void *args )
{
    struct glGetTexParameterIiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexParameterIiv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexParameterIivEXT( void *args )
{
    struct glGetTexParameterIivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexParameterIivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexParameterIuiv( void *args )
{
    struct glGetTexParameterIuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexParameterIuiv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexParameterIuivEXT( void *args )
{
    struct glGetTexParameterIuivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexParameterIuivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexParameterPointervAPPLE( void *args )
{
    struct glGetTexParameterPointervAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexParameterPointervAPPLE( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTexParameterxvOES( void *args )
{
    struct glGetTexParameterxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTexParameterxvOES( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureHandleARB( void *args )
{
    struct glGetTextureHandleARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetTextureHandleARB( params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureHandleNV( void *args )
{
    struct glGetTextureHandleNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetTextureHandleNV( params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureImage( void *args )
{
    struct glGetTextureImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureImage( params->texture, params->level, params->format, params->type, params->bufSize, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureImageEXT( void *args )
{
    struct glGetTextureImageEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureImageEXT( params->texture, params->target, params->level, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureLevelParameterfv( void *args )
{
    struct glGetTextureLevelParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureLevelParameterfv( params->texture, params->level, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureLevelParameterfvEXT( void *args )
{
    struct glGetTextureLevelParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureLevelParameterfvEXT( params->texture, params->target, params->level, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureLevelParameteriv( void *args )
{
    struct glGetTextureLevelParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureLevelParameteriv( params->texture, params->level, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureLevelParameterivEXT( void *args )
{
    struct glGetTextureLevelParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureLevelParameterivEXT( params->texture, params->target, params->level, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureParameterIiv( void *args )
{
    struct glGetTextureParameterIiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureParameterIiv( params->texture, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureParameterIivEXT( void *args )
{
    struct glGetTextureParameterIivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureParameterIivEXT( params->texture, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureParameterIuiv( void *args )
{
    struct glGetTextureParameterIuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureParameterIuiv( params->texture, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureParameterIuivEXT( void *args )
{
    struct glGetTextureParameterIuivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureParameterIuivEXT( params->texture, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureParameterfv( void *args )
{
    struct glGetTextureParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureParameterfv( params->texture, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureParameterfvEXT( void *args )
{
    struct glGetTextureParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureParameterfvEXT( params->texture, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureParameteriv( void *args )
{
    struct glGetTextureParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureParameteriv( params->texture, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureParameterivEXT( void *args )
{
    struct glGetTextureParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureParameterivEXT( params->texture, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureSamplerHandleARB( void *args )
{
    struct glGetTextureSamplerHandleARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetTextureSamplerHandleARB( params->texture, params->sampler );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureSamplerHandleNV( void *args )
{
    struct glGetTextureSamplerHandleNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetTextureSamplerHandleNV( params->texture, params->sampler );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTextureSubImage( void *args )
{
    struct glGetTextureSubImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTextureSubImage( params->texture, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->type, params->bufSize, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTrackMatrixivNV( void *args )
{
    struct glGetTrackMatrixivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTrackMatrixivNV( params->target, params->address, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTransformFeedbackVarying( void *args )
{
    struct glGetTransformFeedbackVarying_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTransformFeedbackVarying( params->program, params->index, params->bufSize, params->length, params->size, params->type, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTransformFeedbackVaryingEXT( void *args )
{
    struct glGetTransformFeedbackVaryingEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTransformFeedbackVaryingEXT( params->program, params->index, params->bufSize, params->length, params->size, params->type, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTransformFeedbackVaryingNV( void *args )
{
    struct glGetTransformFeedbackVaryingNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTransformFeedbackVaryingNV( params->program, params->index, params->location );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTransformFeedbacki64_v( void *args )
{
    struct glGetTransformFeedbacki64_v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTransformFeedbacki64_v( params->xfb, params->pname, params->index, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTransformFeedbacki_v( void *args )
{
    struct glGetTransformFeedbacki_v_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTransformFeedbacki_v( params->xfb, params->pname, params->index, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetTransformFeedbackiv( void *args )
{
    struct glGetTransformFeedbackiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetTransformFeedbackiv( params->xfb, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformBlockIndex( void *args )
{
    struct glGetUniformBlockIndex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetUniformBlockIndex( params->program, params->uniformBlockName );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformBufferSizeEXT( void *args )
{
    struct glGetUniformBufferSizeEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetUniformBufferSizeEXT( params->program, params->location );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformIndices( void *args )
{
    struct glGetUniformIndices_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformIndices( params->program, params->uniformCount, params->uniformNames, params->uniformIndices );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformLocation( void *args )
{
    struct glGetUniformLocation_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetUniformLocation( params->program, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformLocationARB( void *args )
{
    struct glGetUniformLocationARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetUniformLocationARB( params->programObj, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformOffsetEXT( void *args )
{
    struct glGetUniformOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetUniformOffsetEXT( params->program, params->location );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformSubroutineuiv( void *args )
{
    struct glGetUniformSubroutineuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformSubroutineuiv( params->shadertype, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformdv( void *args )
{
    struct glGetUniformdv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformdv( params->program, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformfv( void *args )
{
    struct glGetUniformfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformfv( params->program, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformfvARB( void *args )
{
    struct glGetUniformfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformfvARB( params->programObj, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformi64vARB( void *args )
{
    struct glGetUniformi64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformi64vARB( params->program, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformi64vNV( void *args )
{
    struct glGetUniformi64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformi64vNV( params->program, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformiv( void *args )
{
    struct glGetUniformiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformiv( params->program, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformivARB( void *args )
{
    struct glGetUniformivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformivARB( params->programObj, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformui64vARB( void *args )
{
    struct glGetUniformui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformui64vARB( params->program, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformui64vNV( void *args )
{
    struct glGetUniformui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformui64vNV( params->program, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformuiv( void *args )
{
    struct glGetUniformuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformuiv( params->program, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUniformuivEXT( void *args )
{
    struct glGetUniformuivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUniformuivEXT( params->program, params->location, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUnsignedBytei_vEXT( void *args )
{
    struct glGetUnsignedBytei_vEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUnsignedBytei_vEXT( params->target, params->index, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetUnsignedBytevEXT( void *args )
{
    struct glGetUnsignedBytevEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetUnsignedBytevEXT( params->pname, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVariantArrayObjectfvATI( void *args )
{
    struct glGetVariantArrayObjectfvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVariantArrayObjectfvATI( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVariantArrayObjectivATI( void *args )
{
    struct glGetVariantArrayObjectivATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVariantArrayObjectivATI( params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVariantBooleanvEXT( void *args )
{
    struct glGetVariantBooleanvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVariantBooleanvEXT( params->id, params->value, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVariantFloatvEXT( void *args )
{
    struct glGetVariantFloatvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVariantFloatvEXT( params->id, params->value, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVariantIntegervEXT( void *args )
{
    struct glGetVariantIntegervEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVariantIntegervEXT( params->id, params->value, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVariantPointervEXT( void *args )
{
    struct glGetVariantPointervEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVariantPointervEXT( params->id, params->value, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVaryingLocationNV( void *args )
{
    struct glGetVaryingLocationNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetVaryingLocationNV( params->program, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexArrayIndexed64iv( void *args )
{
    struct glGetVertexArrayIndexed64iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexArrayIndexed64iv( params->vaobj, params->index, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexArrayIndexediv( void *args )
{
    struct glGetVertexArrayIndexediv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexArrayIndexediv( params->vaobj, params->index, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexArrayIntegeri_vEXT( void *args )
{
    struct glGetVertexArrayIntegeri_vEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexArrayIntegeri_vEXT( params->vaobj, params->index, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexArrayIntegervEXT( void *args )
{
    struct glGetVertexArrayIntegervEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexArrayIntegervEXT( params->vaobj, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexArrayPointeri_vEXT( void *args )
{
    struct glGetVertexArrayPointeri_vEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexArrayPointeri_vEXT( params->vaobj, params->index, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexArrayPointervEXT( void *args )
{
    struct glGetVertexArrayPointervEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexArrayPointervEXT( params->vaobj, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexArrayiv( void *args )
{
    struct glGetVertexArrayiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexArrayiv( params->vaobj, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribArrayObjectfvATI( void *args )
{
    struct glGetVertexAttribArrayObjectfvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribArrayObjectfvATI( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribArrayObjectivATI( void *args )
{
    struct glGetVertexAttribArrayObjectivATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribArrayObjectivATI( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribIiv( void *args )
{
    struct glGetVertexAttribIiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribIiv( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribIivEXT( void *args )
{
    struct glGetVertexAttribIivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribIivEXT( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribIuiv( void *args )
{
    struct glGetVertexAttribIuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribIuiv( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribIuivEXT( void *args )
{
    struct glGetVertexAttribIuivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribIuivEXT( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribLdv( void *args )
{
    struct glGetVertexAttribLdv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribLdv( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribLdvEXT( void *args )
{
    struct glGetVertexAttribLdvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribLdvEXT( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribLi64vNV( void *args )
{
    struct glGetVertexAttribLi64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribLi64vNV( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribLui64vARB( void *args )
{
    struct glGetVertexAttribLui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribLui64vARB( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribLui64vNV( void *args )
{
    struct glGetVertexAttribLui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribLui64vNV( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribPointerv( void *args )
{
    struct glGetVertexAttribPointerv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribPointerv( params->index, params->pname, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribPointervARB( void *args )
{
    struct glGetVertexAttribPointervARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribPointervARB( params->index, params->pname, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribPointervNV( void *args )
{
    struct glGetVertexAttribPointervNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribPointervNV( params->index, params->pname, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribdv( void *args )
{
    struct glGetVertexAttribdv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribdv( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribdvARB( void *args )
{
    struct glGetVertexAttribdvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribdvARB( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribdvNV( void *args )
{
    struct glGetVertexAttribdvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribdvNV( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribfv( void *args )
{
    struct glGetVertexAttribfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribfv( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribfvARB( void *args )
{
    struct glGetVertexAttribfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribfvARB( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribfvNV( void *args )
{
    struct glGetVertexAttribfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribfvNV( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribiv( void *args )
{
    struct glGetVertexAttribiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribiv( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribivARB( void *args )
{
    struct glGetVertexAttribivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribivARB( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVertexAttribivNV( void *args )
{
    struct glGetVertexAttribivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVertexAttribivNV( params->index, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVideoCaptureStreamdvNV( void *args )
{
    struct glGetVideoCaptureStreamdvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVideoCaptureStreamdvNV( params->video_capture_slot, params->stream, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVideoCaptureStreamfvNV( void *args )
{
    struct glGetVideoCaptureStreamfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVideoCaptureStreamfvNV( params->video_capture_slot, params->stream, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVideoCaptureStreamivNV( void *args )
{
    struct glGetVideoCaptureStreamivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVideoCaptureStreamivNV( params->video_capture_slot, params->stream, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVideoCaptureivNV( void *args )
{
    struct glGetVideoCaptureivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVideoCaptureivNV( params->video_capture_slot, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVideoi64vNV( void *args )
{
    struct glGetVideoi64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVideoi64vNV( params->video_slot, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVideoivNV( void *args )
{
    struct glGetVideoivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVideoivNV( params->video_slot, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVideoui64vNV( void *args )
{
    struct glGetVideoui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVideoui64vNV( params->video_slot, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVideouivNV( void *args )
{
    struct glGetVideouivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetVideouivNV( params->video_slot, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetVkProcAddrNV( void *args )
{
    struct glGetVkProcAddrNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glGetVkProcAddrNV( params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnColorTable( void *args )
{
    struct glGetnColorTable_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnColorTable( params->target, params->format, params->type, params->bufSize, params->table );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnColorTableARB( void *args )
{
    struct glGetnColorTableARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnColorTableARB( params->target, params->format, params->type, params->bufSize, params->table );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnCompressedTexImage( void *args )
{
    struct glGetnCompressedTexImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnCompressedTexImage( params->target, params->lod, params->bufSize, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnCompressedTexImageARB( void *args )
{
    struct glGetnCompressedTexImageARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnCompressedTexImageARB( params->target, params->lod, params->bufSize, params->img );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnConvolutionFilter( void *args )
{
    struct glGetnConvolutionFilter_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnConvolutionFilter( params->target, params->format, params->type, params->bufSize, params->image );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnConvolutionFilterARB( void *args )
{
    struct glGetnConvolutionFilterARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnConvolutionFilterARB( params->target, params->format, params->type, params->bufSize, params->image );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnHistogram( void *args )
{
    struct glGetnHistogram_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnHistogram( params->target, params->reset, params->format, params->type, params->bufSize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnHistogramARB( void *args )
{
    struct glGetnHistogramARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnHistogramARB( params->target, params->reset, params->format, params->type, params->bufSize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnMapdv( void *args )
{
    struct glGetnMapdv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnMapdv( params->target, params->query, params->bufSize, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnMapdvARB( void *args )
{
    struct glGetnMapdvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnMapdvARB( params->target, params->query, params->bufSize, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnMapfv( void *args )
{
    struct glGetnMapfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnMapfv( params->target, params->query, params->bufSize, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnMapfvARB( void *args )
{
    struct glGetnMapfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnMapfvARB( params->target, params->query, params->bufSize, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnMapiv( void *args )
{
    struct glGetnMapiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnMapiv( params->target, params->query, params->bufSize, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnMapivARB( void *args )
{
    struct glGetnMapivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnMapivARB( params->target, params->query, params->bufSize, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnMinmax( void *args )
{
    struct glGetnMinmax_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnMinmax( params->target, params->reset, params->format, params->type, params->bufSize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnMinmaxARB( void *args )
{
    struct glGetnMinmaxARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnMinmaxARB( params->target, params->reset, params->format, params->type, params->bufSize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnPixelMapfv( void *args )
{
    struct glGetnPixelMapfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnPixelMapfv( params->map, params->bufSize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnPixelMapfvARB( void *args )
{
    struct glGetnPixelMapfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnPixelMapfvARB( params->map, params->bufSize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnPixelMapuiv( void *args )
{
    struct glGetnPixelMapuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnPixelMapuiv( params->map, params->bufSize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnPixelMapuivARB( void *args )
{
    struct glGetnPixelMapuivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnPixelMapuivARB( params->map, params->bufSize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnPixelMapusv( void *args )
{
    struct glGetnPixelMapusv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnPixelMapusv( params->map, params->bufSize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnPixelMapusvARB( void *args )
{
    struct glGetnPixelMapusvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnPixelMapusvARB( params->map, params->bufSize, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnPolygonStipple( void *args )
{
    struct glGetnPolygonStipple_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnPolygonStipple( params->bufSize, params->pattern );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnPolygonStippleARB( void *args )
{
    struct glGetnPolygonStippleARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnPolygonStippleARB( params->bufSize, params->pattern );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnSeparableFilter( void *args )
{
    struct glGetnSeparableFilter_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnSeparableFilter( params->target, params->format, params->type, params->rowBufSize, params->row, params->columnBufSize, params->column, params->span );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnSeparableFilterARB( void *args )
{
    struct glGetnSeparableFilterARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnSeparableFilterARB( params->target, params->format, params->type, params->rowBufSize, params->row, params->columnBufSize, params->column, params->span );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnTexImage( void *args )
{
    struct glGetnTexImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnTexImage( params->target, params->level, params->format, params->type, params->bufSize, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnTexImageARB( void *args )
{
    struct glGetnTexImageARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnTexImageARB( params->target, params->level, params->format, params->type, params->bufSize, params->img );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnUniformdv( void *args )
{
    struct glGetnUniformdv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnUniformdv( params->program, params->location, params->bufSize, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnUniformdvARB( void *args )
{
    struct glGetnUniformdvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnUniformdvARB( params->program, params->location, params->bufSize, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnUniformfv( void *args )
{
    struct glGetnUniformfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnUniformfv( params->program, params->location, params->bufSize, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnUniformfvARB( void *args )
{
    struct glGetnUniformfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnUniformfvARB( params->program, params->location, params->bufSize, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnUniformi64vARB( void *args )
{
    struct glGetnUniformi64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnUniformi64vARB( params->program, params->location, params->bufSize, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnUniformiv( void *args )
{
    struct glGetnUniformiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnUniformiv( params->program, params->location, params->bufSize, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnUniformivARB( void *args )
{
    struct glGetnUniformivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnUniformivARB( params->program, params->location, params->bufSize, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnUniformui64vARB( void *args )
{
    struct glGetnUniformui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnUniformui64vARB( params->program, params->location, params->bufSize, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnUniformuiv( void *args )
{
    struct glGetnUniformuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnUniformuiv( params->program, params->location, params->bufSize, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGetnUniformuivARB( void *args )
{
    struct glGetnUniformuivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGetnUniformuivARB( params->program, params->location, params->bufSize, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGlobalAlphaFactorbSUN( void *args )
{
    struct glGlobalAlphaFactorbSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGlobalAlphaFactorbSUN( params->factor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGlobalAlphaFactordSUN( void *args )
{
    struct glGlobalAlphaFactordSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGlobalAlphaFactordSUN( params->factor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGlobalAlphaFactorfSUN( void *args )
{
    struct glGlobalAlphaFactorfSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGlobalAlphaFactorfSUN( params->factor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGlobalAlphaFactoriSUN( void *args )
{
    struct glGlobalAlphaFactoriSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGlobalAlphaFactoriSUN( params->factor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGlobalAlphaFactorsSUN( void *args )
{
    struct glGlobalAlphaFactorsSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGlobalAlphaFactorsSUN( params->factor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGlobalAlphaFactorubSUN( void *args )
{
    struct glGlobalAlphaFactorubSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGlobalAlphaFactorubSUN( params->factor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGlobalAlphaFactoruiSUN( void *args )
{
    struct glGlobalAlphaFactoruiSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGlobalAlphaFactoruiSUN( params->factor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glGlobalAlphaFactorusSUN( void *args )
{
    struct glGlobalAlphaFactorusSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glGlobalAlphaFactorusSUN( params->factor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glHintPGI( void *args )
{
    struct glHintPGI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glHintPGI( params->target, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glHistogram( void *args )
{
    struct glHistogram_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glHistogram( params->target, params->width, params->internalformat, params->sink );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glHistogramEXT( void *args )
{
    struct glHistogramEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glHistogramEXT( params->target, params->width, params->internalformat, params->sink );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIglooInterfaceSGIX( void *args )
{
    struct glIglooInterfaceSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glIglooInterfaceSGIX( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glImageTransformParameterfHP( void *args )
{
    struct glImageTransformParameterfHP_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glImageTransformParameterfHP( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glImageTransformParameterfvHP( void *args )
{
    struct glImageTransformParameterfvHP_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glImageTransformParameterfvHP( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glImageTransformParameteriHP( void *args )
{
    struct glImageTransformParameteriHP_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glImageTransformParameteriHP( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glImageTransformParameterivHP( void *args )
{
    struct glImageTransformParameterivHP_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glImageTransformParameterivHP( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glImportMemoryFdEXT( void *args )
{
    struct glImportMemoryFdEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glImportMemoryFdEXT( params->memory, params->size, params->handleType, params->fd );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glImportMemoryWin32HandleEXT( void *args )
{
    struct glImportMemoryWin32HandleEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glImportMemoryWin32HandleEXT( params->memory, params->size, params->handleType, params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glImportMemoryWin32NameEXT( void *args )
{
    struct glImportMemoryWin32NameEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glImportMemoryWin32NameEXT( params->memory, params->size, params->handleType, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glImportSemaphoreFdEXT( void *args )
{
    struct glImportSemaphoreFdEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glImportSemaphoreFdEXT( params->semaphore, params->handleType, params->fd );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glImportSemaphoreWin32HandleEXT( void *args )
{
    struct glImportSemaphoreWin32HandleEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glImportSemaphoreWin32HandleEXT( params->semaphore, params->handleType, params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glImportSemaphoreWin32NameEXT( void *args )
{
    struct glImportSemaphoreWin32NameEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glImportSemaphoreWin32NameEXT( params->semaphore, params->handleType, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glImportSyncEXT( void *args )
{
    struct glImportSyncEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glImportSyncEXT( params->external_sync_type, params->external_sync, params->flags );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIndexFormatNV( void *args )
{
    struct glIndexFormatNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glIndexFormatNV( params->type, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIndexFuncEXT( void *args )
{
    struct glIndexFuncEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glIndexFuncEXT( params->func, params->ref );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIndexMaterialEXT( void *args )
{
    struct glIndexMaterialEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glIndexMaterialEXT( params->face, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIndexPointerEXT( void *args )
{
    struct glIndexPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glIndexPointerEXT( params->type, params->stride, params->count, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIndexPointerListIBM( void *args )
{
    struct glIndexPointerListIBM_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glIndexPointerListIBM( params->type, params->stride, params->pointer, params->ptrstride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIndexxOES( void *args )
{
    struct glIndexxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glIndexxOES( params->component );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIndexxvOES( void *args )
{
    struct glIndexxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glIndexxvOES( params->component );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInsertComponentEXT( void *args )
{
    struct glInsertComponentEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInsertComponentEXT( params->res, params->src, params->num );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInsertEventMarkerEXT( void *args )
{
    struct glInsertEventMarkerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInsertEventMarkerEXT( params->length, params->marker );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInstrumentsBufferSGIX( void *args )
{
    struct glInstrumentsBufferSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInstrumentsBufferSGIX( params->size, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInterpolatePathsNV( void *args )
{
    struct glInterpolatePathsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInterpolatePathsNV( params->resultPath, params->pathA, params->pathB, params->weight );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInvalidateBufferData( void *args )
{
    struct glInvalidateBufferData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInvalidateBufferData( params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInvalidateBufferSubData( void *args )
{
    struct glInvalidateBufferSubData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInvalidateBufferSubData( params->buffer, params->offset, params->length );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInvalidateFramebuffer( void *args )
{
    struct glInvalidateFramebuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInvalidateFramebuffer( params->target, params->numAttachments, params->attachments );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInvalidateNamedFramebufferData( void *args )
{
    struct glInvalidateNamedFramebufferData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInvalidateNamedFramebufferData( params->framebuffer, params->numAttachments, params->attachments );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInvalidateNamedFramebufferSubData( void *args )
{
    struct glInvalidateNamedFramebufferSubData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInvalidateNamedFramebufferSubData( params->framebuffer, params->numAttachments, params->attachments, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInvalidateSubFramebuffer( void *args )
{
    struct glInvalidateSubFramebuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInvalidateSubFramebuffer( params->target, params->numAttachments, params->attachments, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInvalidateTexImage( void *args )
{
    struct glInvalidateTexImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInvalidateTexImage( params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glInvalidateTexSubImage( void *args )
{
    struct glInvalidateTexSubImage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glInvalidateTexSubImage( params->texture, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsAsyncMarkerSGIX( void *args )
{
    struct glIsAsyncMarkerSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsAsyncMarkerSGIX( params->marker );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsBuffer( void *args )
{
    struct glIsBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsBuffer( params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsBufferARB( void *args )
{
    struct glIsBufferARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsBufferARB( params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsBufferResidentNV( void *args )
{
    struct glIsBufferResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsBufferResidentNV( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsCommandListNV( void *args )
{
    struct glIsCommandListNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsCommandListNV( params->list );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsEnabledIndexedEXT( void *args )
{
    struct glIsEnabledIndexedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsEnabledIndexedEXT( params->target, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsEnabledi( void *args )
{
    struct glIsEnabledi_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsEnabledi( params->target, params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsFenceAPPLE( void *args )
{
    struct glIsFenceAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsFenceAPPLE( params->fence );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsFenceNV( void *args )
{
    struct glIsFenceNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsFenceNV( params->fence );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsFramebuffer( void *args )
{
    struct glIsFramebuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsFramebuffer( params->framebuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsFramebufferEXT( void *args )
{
    struct glIsFramebufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsFramebufferEXT( params->framebuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsImageHandleResidentARB( void *args )
{
    struct glIsImageHandleResidentARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsImageHandleResidentARB( params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsImageHandleResidentNV( void *args )
{
    struct glIsImageHandleResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsImageHandleResidentNV( params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsMemoryObjectEXT( void *args )
{
    struct glIsMemoryObjectEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsMemoryObjectEXT( params->memoryObject );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsNameAMD( void *args )
{
    struct glIsNameAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsNameAMD( params->identifier, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsNamedBufferResidentNV( void *args )
{
    struct glIsNamedBufferResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsNamedBufferResidentNV( params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsNamedStringARB( void *args )
{
    struct glIsNamedStringARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsNamedStringARB( params->namelen, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsObjectBufferATI( void *args )
{
    struct glIsObjectBufferATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsObjectBufferATI( params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsOcclusionQueryNV( void *args )
{
    struct glIsOcclusionQueryNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsOcclusionQueryNV( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsPathNV( void *args )
{
    struct glIsPathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsPathNV( params->path );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsPointInFillPathNV( void *args )
{
    struct glIsPointInFillPathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsPointInFillPathNV( params->path, params->mask, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsPointInStrokePathNV( void *args )
{
    struct glIsPointInStrokePathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsPointInStrokePathNV( params->path, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsProgram( void *args )
{
    struct glIsProgram_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsProgram( params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsProgramARB( void *args )
{
    struct glIsProgramARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsProgramARB( params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsProgramNV( void *args )
{
    struct glIsProgramNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsProgramNV( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsProgramPipeline( void *args )
{
    struct glIsProgramPipeline_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsProgramPipeline( params->pipeline );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsQuery( void *args )
{
    struct glIsQuery_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsQuery( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsQueryARB( void *args )
{
    struct glIsQueryARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsQueryARB( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsRenderbuffer( void *args )
{
    struct glIsRenderbuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsRenderbuffer( params->renderbuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsRenderbufferEXT( void *args )
{
    struct glIsRenderbufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsRenderbufferEXT( params->renderbuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsSampler( void *args )
{
    struct glIsSampler_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsSampler( params->sampler );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsSemaphoreEXT( void *args )
{
    struct glIsSemaphoreEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsSemaphoreEXT( params->semaphore );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsShader( void *args )
{
    struct glIsShader_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsShader( params->shader );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsStateNV( void *args )
{
    struct glIsStateNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsStateNV( params->state );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glIsSync( void *args )
{
    struct glIsSync_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsSync( params->sync );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsTextureEXT( void *args )
{
    struct glIsTextureEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsTextureEXT( params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsTextureHandleResidentARB( void *args )
{
    struct glIsTextureHandleResidentARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsTextureHandleResidentARB( params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsTextureHandleResidentNV( void *args )
{
    struct glIsTextureHandleResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsTextureHandleResidentNV( params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsTransformFeedback( void *args )
{
    struct glIsTransformFeedback_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsTransformFeedback( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsTransformFeedbackNV( void *args )
{
    struct glIsTransformFeedbackNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsTransformFeedbackNV( params->id );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsVariantEnabledEXT( void *args )
{
    struct glIsVariantEnabledEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsVariantEnabledEXT( params->id, params->cap );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsVertexArray( void *args )
{
    struct glIsVertexArray_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsVertexArray( params->array );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsVertexArrayAPPLE( void *args )
{
    struct glIsVertexArrayAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsVertexArrayAPPLE( params->array );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glIsVertexAttribEnabledAPPLE( void *args )
{
    struct glIsVertexAttribEnabledAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glIsVertexAttribEnabledAPPLE( params->index, params->pname );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLGPUCopyImageSubDataNVX( void *args )
{
    struct glLGPUCopyImageSubDataNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLGPUCopyImageSubDataNVX( params->sourceGpu, params->destinationGpuMask, params->srcName, params->srcTarget, params->srcLevel, params->srcX, params->srxY, params->srcZ, params->dstName, params->dstTarget, params->dstLevel, params->dstX, params->dstY, params->dstZ, params->width, params->height, params->depth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLGPUInterlockNVX( void *args )
{
    struct glLGPUInterlockNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLGPUInterlockNVX();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLGPUNamedBufferSubDataNVX( void *args )
{
    struct glLGPUNamedBufferSubDataNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLGPUNamedBufferSubDataNVX( params->gpuMask, params->buffer, params->offset, params->size, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLabelObjectEXT( void *args )
{
    struct glLabelObjectEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLabelObjectEXT( params->type, params->object, params->length, params->label );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLightEnviSGIX( void *args )
{
    struct glLightEnviSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLightEnviSGIX( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLightModelxOES( void *args )
{
    struct glLightModelxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLightModelxOES( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLightModelxvOES( void *args )
{
    struct glLightModelxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLightModelxvOES( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLightxOES( void *args )
{
    struct glLightxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLightxOES( params->light, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLightxvOES( void *args )
{
    struct glLightxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLightxvOES( params->light, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLineWidthxOES( void *args )
{
    struct glLineWidthxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLineWidthxOES( params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLinkProgram( void *args )
{
    struct glLinkProgram_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLinkProgram( params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLinkProgramARB( void *args )
{
    struct glLinkProgramARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLinkProgramARB( params->programObj );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glListDrawCommandsStatesClientNV( void *args )
{
    struct glListDrawCommandsStatesClientNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glListDrawCommandsStatesClientNV( params->list, params->segment, params->indirects, params->sizes, params->states, params->fbos, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glListParameterfSGIX( void *args )
{
    struct glListParameterfSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glListParameterfSGIX( params->list, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glListParameterfvSGIX( void *args )
{
    struct glListParameterfvSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glListParameterfvSGIX( params->list, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glListParameteriSGIX( void *args )
{
    struct glListParameteriSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glListParameteriSGIX( params->list, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glListParameterivSGIX( void *args )
{
    struct glListParameterivSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glListParameterivSGIX( params->list, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLoadIdentityDeformationMapSGIX( void *args )
{
    struct glLoadIdentityDeformationMapSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLoadIdentityDeformationMapSGIX( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLoadMatrixxOES( void *args )
{
    struct glLoadMatrixxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLoadMatrixxOES( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLoadProgramNV( void *args )
{
    struct glLoadProgramNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLoadProgramNV( params->target, params->id, params->len, params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLoadTransposeMatrixd( void *args )
{
    struct glLoadTransposeMatrixd_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLoadTransposeMatrixd( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLoadTransposeMatrixdARB( void *args )
{
    struct glLoadTransposeMatrixdARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLoadTransposeMatrixdARB( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLoadTransposeMatrixf( void *args )
{
    struct glLoadTransposeMatrixf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLoadTransposeMatrixf( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLoadTransposeMatrixfARB( void *args )
{
    struct glLoadTransposeMatrixfARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLoadTransposeMatrixfARB( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLoadTransposeMatrixxOES( void *args )
{
    struct glLoadTransposeMatrixxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLoadTransposeMatrixxOES( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glLockArraysEXT( void *args )
{
    struct glLockArraysEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glLockArraysEXT( params->first, params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMTexCoord2fSGIS( void *args )
{
    struct glMTexCoord2fSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMTexCoord2fSGIS( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMTexCoord2fvSGIS( void *args )
{
    struct glMTexCoord2fvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMTexCoord2fvSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeBufferNonResidentNV( void *args )
{
    struct glMakeBufferNonResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeBufferNonResidentNV( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeBufferResidentNV( void *args )
{
    struct glMakeBufferResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeBufferResidentNV( params->target, params->access );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeImageHandleNonResidentARB( void *args )
{
    struct glMakeImageHandleNonResidentARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeImageHandleNonResidentARB( params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeImageHandleNonResidentNV( void *args )
{
    struct glMakeImageHandleNonResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeImageHandleNonResidentNV( params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeImageHandleResidentARB( void *args )
{
    struct glMakeImageHandleResidentARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeImageHandleResidentARB( params->handle, params->access );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeImageHandleResidentNV( void *args )
{
    struct glMakeImageHandleResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeImageHandleResidentNV( params->handle, params->access );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeNamedBufferNonResidentNV( void *args )
{
    struct glMakeNamedBufferNonResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeNamedBufferNonResidentNV( params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeNamedBufferResidentNV( void *args )
{
    struct glMakeNamedBufferResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeNamedBufferResidentNV( params->buffer, params->access );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeTextureHandleNonResidentARB( void *args )
{
    struct glMakeTextureHandleNonResidentARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeTextureHandleNonResidentARB( params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeTextureHandleNonResidentNV( void *args )
{
    struct glMakeTextureHandleNonResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeTextureHandleNonResidentNV( params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeTextureHandleResidentARB( void *args )
{
    struct glMakeTextureHandleResidentARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeTextureHandleResidentARB( params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMakeTextureHandleResidentNV( void *args )
{
    struct glMakeTextureHandleResidentNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMakeTextureHandleResidentNV( params->handle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMap1xOES( void *args )
{
    struct glMap1xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMap1xOES( params->target, params->u1, params->u2, params->stride, params->order, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMap2xOES( void *args )
{
    struct glMap2xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMap2xOES( params->target, params->u1, params->u2, params->ustride, params->uorder, params->v1, params->v2, params->vstride, params->vorder, params->points );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glMapBuffer( void *args )
{
    struct glMapBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glMapBuffer( params->target, params->access );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glMapBufferARB( void *args )
{
    struct glMapBufferARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glMapBufferARB( params->target, params->access );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glMapBufferRange( void *args )
{
    struct glMapBufferRange_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glMapBufferRange( params->target, params->offset, params->length, params->access );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMapControlPointsNV( void *args )
{
    struct glMapControlPointsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMapControlPointsNV( params->target, params->index, params->type, params->ustride, params->vstride, params->uorder, params->vorder, params->packed, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMapGrid1xOES( void *args )
{
    struct glMapGrid1xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMapGrid1xOES( params->n, params->u1, params->u2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMapGrid2xOES( void *args )
{
    struct glMapGrid2xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMapGrid2xOES( params->n, params->u1, params->u2, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glMapNamedBuffer( void *args )
{
    struct glMapNamedBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glMapNamedBuffer( params->buffer, params->access );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glMapNamedBufferEXT( void *args )
{
    struct glMapNamedBufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glMapNamedBufferEXT( params->buffer, params->access );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glMapNamedBufferRange( void *args )
{
    struct glMapNamedBufferRange_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glMapNamedBufferRange( params->buffer, params->offset, params->length, params->access );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glMapNamedBufferRangeEXT( void *args )
{
    struct glMapNamedBufferRangeEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glMapNamedBufferRangeEXT( params->buffer, params->offset, params->length, params->access );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMapObjectBufferATI( void *args )
{
    struct glMapObjectBufferATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glMapObjectBufferATI( params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMapParameterfvNV( void *args )
{
    struct glMapParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMapParameterfvNV( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMapParameterivNV( void *args )
{
    struct glMapParameterivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMapParameterivNV( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMapTexture2DINTEL( void *args )
{
    struct glMapTexture2DINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glMapTexture2DINTEL( params->texture, params->level, params->access, params->stride, params->layout );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMapVertexAttrib1dAPPLE( void *args )
{
    struct glMapVertexAttrib1dAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMapVertexAttrib1dAPPLE( params->index, params->size, params->u1, params->u2, params->stride, params->order, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMapVertexAttrib1fAPPLE( void *args )
{
    struct glMapVertexAttrib1fAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMapVertexAttrib1fAPPLE( params->index, params->size, params->u1, params->u2, params->stride, params->order, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMapVertexAttrib2dAPPLE( void *args )
{
    struct glMapVertexAttrib2dAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMapVertexAttrib2dAPPLE( params->index, params->size, params->u1, params->u2, params->ustride, params->uorder, params->v1, params->v2, params->vstride, params->vorder, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMapVertexAttrib2fAPPLE( void *args )
{
    struct glMapVertexAttrib2fAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMapVertexAttrib2fAPPLE( params->index, params->size, params->u1, params->u2, params->ustride, params->uorder, params->v1, params->v2, params->vstride, params->vorder, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMaterialxOES( void *args )
{
    struct glMaterialxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMaterialxOES( params->face, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMaterialxvOES( void *args )
{
    struct glMaterialxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMaterialxvOES( params->face, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixFrustumEXT( void *args )
{
    struct glMatrixFrustumEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixFrustumEXT( params->mode, params->left, params->right, params->bottom, params->top, params->zNear, params->zFar );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixIndexPointerARB( void *args )
{
    struct glMatrixIndexPointerARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixIndexPointerARB( params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixIndexubvARB( void *args )
{
    struct glMatrixIndexubvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixIndexubvARB( params->size, params->indices );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixIndexuivARB( void *args )
{
    struct glMatrixIndexuivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixIndexuivARB( params->size, params->indices );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixIndexusvARB( void *args )
{
    struct glMatrixIndexusvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixIndexusvARB( params->size, params->indices );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixLoad3x2fNV( void *args )
{
    struct glMatrixLoad3x2fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixLoad3x2fNV( params->matrixMode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixLoad3x3fNV( void *args )
{
    struct glMatrixLoad3x3fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixLoad3x3fNV( params->matrixMode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixLoadIdentityEXT( void *args )
{
    struct glMatrixLoadIdentityEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixLoadIdentityEXT( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixLoadTranspose3x3fNV( void *args )
{
    struct glMatrixLoadTranspose3x3fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixLoadTranspose3x3fNV( params->matrixMode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixLoadTransposedEXT( void *args )
{
    struct glMatrixLoadTransposedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixLoadTransposedEXT( params->mode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixLoadTransposefEXT( void *args )
{
    struct glMatrixLoadTransposefEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixLoadTransposefEXT( params->mode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixLoaddEXT( void *args )
{
    struct glMatrixLoaddEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixLoaddEXT( params->mode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixLoadfEXT( void *args )
{
    struct glMatrixLoadfEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixLoadfEXT( params->mode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixMult3x2fNV( void *args )
{
    struct glMatrixMult3x2fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixMult3x2fNV( params->matrixMode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixMult3x3fNV( void *args )
{
    struct glMatrixMult3x3fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixMult3x3fNV( params->matrixMode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixMultTranspose3x3fNV( void *args )
{
    struct glMatrixMultTranspose3x3fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixMultTranspose3x3fNV( params->matrixMode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixMultTransposedEXT( void *args )
{
    struct glMatrixMultTransposedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixMultTransposedEXT( params->mode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixMultTransposefEXT( void *args )
{
    struct glMatrixMultTransposefEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixMultTransposefEXT( params->mode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixMultdEXT( void *args )
{
    struct glMatrixMultdEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixMultdEXT( params->mode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixMultfEXT( void *args )
{
    struct glMatrixMultfEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixMultfEXT( params->mode, params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixOrthoEXT( void *args )
{
    struct glMatrixOrthoEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixOrthoEXT( params->mode, params->left, params->right, params->bottom, params->top, params->zNear, params->zFar );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixPopEXT( void *args )
{
    struct glMatrixPopEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixPopEXT( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixPushEXT( void *args )
{
    struct glMatrixPushEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixPushEXT( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixRotatedEXT( void *args )
{
    struct glMatrixRotatedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixRotatedEXT( params->mode, params->angle, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixRotatefEXT( void *args )
{
    struct glMatrixRotatefEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixRotatefEXT( params->mode, params->angle, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixScaledEXT( void *args )
{
    struct glMatrixScaledEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixScaledEXT( params->mode, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixScalefEXT( void *args )
{
    struct glMatrixScalefEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixScalefEXT( params->mode, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixTranslatedEXT( void *args )
{
    struct glMatrixTranslatedEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixTranslatedEXT( params->mode, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMatrixTranslatefEXT( void *args )
{
    struct glMatrixTranslatefEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMatrixTranslatefEXT( params->mode, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMaxShaderCompilerThreadsARB( void *args )
{
    struct glMaxShaderCompilerThreadsARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMaxShaderCompilerThreadsARB( params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMaxShaderCompilerThreadsKHR( void *args )
{
    struct glMaxShaderCompilerThreadsKHR_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMaxShaderCompilerThreadsKHR( params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMemoryBarrier( void *args )
{
    struct glMemoryBarrier_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMemoryBarrier( params->barriers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMemoryBarrierByRegion( void *args )
{
    struct glMemoryBarrierByRegion_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMemoryBarrierByRegion( params->barriers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMemoryBarrierEXT( void *args )
{
    struct glMemoryBarrierEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMemoryBarrierEXT( params->barriers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMemoryObjectParameterivEXT( void *args )
{
    struct glMemoryObjectParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMemoryObjectParameterivEXT( params->memoryObject, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMinSampleShading( void *args )
{
    struct glMinSampleShading_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMinSampleShading( params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMinSampleShadingARB( void *args )
{
    struct glMinSampleShadingARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMinSampleShadingARB( params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMinmax( void *args )
{
    struct glMinmax_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMinmax( params->target, params->internalformat, params->sink );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMinmaxEXT( void *args )
{
    struct glMinmaxEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMinmaxEXT( params->target, params->internalformat, params->sink );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultMatrixxOES( void *args )
{
    struct glMultMatrixxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultMatrixxOES( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultTransposeMatrixd( void *args )
{
    struct glMultTransposeMatrixd_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultTransposeMatrixd( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultTransposeMatrixdARB( void *args )
{
    struct glMultTransposeMatrixdARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultTransposeMatrixdARB( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultTransposeMatrixf( void *args )
{
    struct glMultTransposeMatrixf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultTransposeMatrixf( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultTransposeMatrixfARB( void *args )
{
    struct glMultTransposeMatrixfARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultTransposeMatrixfARB( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultTransposeMatrixxOES( void *args )
{
    struct glMultTransposeMatrixxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultTransposeMatrixxOES( params->m );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawArrays( void *args )
{
    struct glMultiDrawArrays_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawArrays( params->mode, params->first, params->count, params->drawcount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawArraysEXT( void *args )
{
    struct glMultiDrawArraysEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawArraysEXT( params->mode, params->first, params->count, params->primcount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawArraysIndirect( void *args )
{
    struct glMultiDrawArraysIndirect_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawArraysIndirect( params->mode, params->indirect, params->drawcount, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawArraysIndirectAMD( void *args )
{
    struct glMultiDrawArraysIndirectAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawArraysIndirectAMD( params->mode, params->indirect, params->primcount, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawArraysIndirectBindlessCountNV( void *args )
{
    struct glMultiDrawArraysIndirectBindlessCountNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawArraysIndirectBindlessCountNV( params->mode, params->indirect, params->drawCount, params->maxDrawCount, params->stride, params->vertexBufferCount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawArraysIndirectBindlessNV( void *args )
{
    struct glMultiDrawArraysIndirectBindlessNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawArraysIndirectBindlessNV( params->mode, params->indirect, params->drawCount, params->stride, params->vertexBufferCount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawArraysIndirectCount( void *args )
{
    struct glMultiDrawArraysIndirectCount_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawArraysIndirectCount( params->mode, params->indirect, params->drawcount, params->maxdrawcount, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawArraysIndirectCountARB( void *args )
{
    struct glMultiDrawArraysIndirectCountARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawArraysIndirectCountARB( params->mode, params->indirect, params->drawcount, params->maxdrawcount, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawElementArrayAPPLE( void *args )
{
    struct glMultiDrawElementArrayAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawElementArrayAPPLE( params->mode, params->first, params->count, params->primcount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawElements( void *args )
{
    struct glMultiDrawElements_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawElements( params->mode, params->count, params->type, params->indices, params->drawcount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawElementsBaseVertex( void *args )
{
    struct glMultiDrawElementsBaseVertex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawElementsBaseVertex( params->mode, params->count, params->type, params->indices, params->drawcount, params->basevertex );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawElementsEXT( void *args )
{
    struct glMultiDrawElementsEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawElementsEXT( params->mode, params->count, params->type, params->indices, params->primcount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawElementsIndirect( void *args )
{
    struct glMultiDrawElementsIndirect_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawElementsIndirect( params->mode, params->type, params->indirect, params->drawcount, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawElementsIndirectAMD( void *args )
{
    struct glMultiDrawElementsIndirectAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawElementsIndirectAMD( params->mode, params->type, params->indirect, params->primcount, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawElementsIndirectBindlessCountNV( void *args )
{
    struct glMultiDrawElementsIndirectBindlessCountNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawElementsIndirectBindlessCountNV( params->mode, params->type, params->indirect, params->drawCount, params->maxDrawCount, params->stride, params->vertexBufferCount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawElementsIndirectBindlessNV( void *args )
{
    struct glMultiDrawElementsIndirectBindlessNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawElementsIndirectBindlessNV( params->mode, params->type, params->indirect, params->drawCount, params->stride, params->vertexBufferCount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawElementsIndirectCount( void *args )
{
    struct glMultiDrawElementsIndirectCount_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawElementsIndirectCount( params->mode, params->type, params->indirect, params->drawcount, params->maxdrawcount, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawElementsIndirectCountARB( void *args )
{
    struct glMultiDrawElementsIndirectCountARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawElementsIndirectCountARB( params->mode, params->type, params->indirect, params->drawcount, params->maxdrawcount, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawMeshTasksIndirectCountNV( void *args )
{
    struct glMultiDrawMeshTasksIndirectCountNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawMeshTasksIndirectCountNV( params->indirect, params->drawcount, params->maxdrawcount, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawMeshTasksIndirectNV( void *args )
{
    struct glMultiDrawMeshTasksIndirectNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawMeshTasksIndirectNV( params->indirect, params->drawcount, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiDrawRangeElementArrayAPPLE( void *args )
{
    struct glMultiDrawRangeElementArrayAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiDrawRangeElementArrayAPPLE( params->mode, params->start, params->end, params->first, params->count, params->primcount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiModeDrawArraysIBM( void *args )
{
    struct glMultiModeDrawArraysIBM_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiModeDrawArraysIBM( params->mode, params->first, params->count, params->primcount, params->modestride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiModeDrawElementsIBM( void *args )
{
    struct glMultiModeDrawElementsIBM_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiModeDrawElementsIBM( params->mode, params->count, params->type, params->indices, params->primcount, params->modestride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexBufferEXT( void *args )
{
    struct glMultiTexBufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexBufferEXT( params->texunit, params->target, params->internalformat, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1bOES( void *args )
{
    struct glMultiTexCoord1bOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1bOES( params->texture, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1bvOES( void *args )
{
    struct glMultiTexCoord1bvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1bvOES( params->texture, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1d( void *args )
{
    struct glMultiTexCoord1d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1d( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1dARB( void *args )
{
    struct glMultiTexCoord1dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1dARB( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1dSGIS( void *args )
{
    struct glMultiTexCoord1dSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1dSGIS( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1dv( void *args )
{
    struct glMultiTexCoord1dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1dv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1dvARB( void *args )
{
    struct glMultiTexCoord1dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1dvARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1dvSGIS( void *args )
{
    struct glMultiTexCoord1dvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1dvSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1f( void *args )
{
    struct glMultiTexCoord1f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1f( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1fARB( void *args )
{
    struct glMultiTexCoord1fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1fARB( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1fSGIS( void *args )
{
    struct glMultiTexCoord1fSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1fSGIS( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1fv( void *args )
{
    struct glMultiTexCoord1fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1fv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1fvARB( void *args )
{
    struct glMultiTexCoord1fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1fvARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1fvSGIS( void *args )
{
    struct glMultiTexCoord1fvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1fvSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1hNV( void *args )
{
    struct glMultiTexCoord1hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1hNV( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1hvNV( void *args )
{
    struct glMultiTexCoord1hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1hvNV( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1i( void *args )
{
    struct glMultiTexCoord1i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1i( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1iARB( void *args )
{
    struct glMultiTexCoord1iARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1iARB( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1iSGIS( void *args )
{
    struct glMultiTexCoord1iSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1iSGIS( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1iv( void *args )
{
    struct glMultiTexCoord1iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1iv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1ivARB( void *args )
{
    struct glMultiTexCoord1ivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1ivARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1ivSGIS( void *args )
{
    struct glMultiTexCoord1ivSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1ivSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1s( void *args )
{
    struct glMultiTexCoord1s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1s( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1sARB( void *args )
{
    struct glMultiTexCoord1sARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1sARB( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1sSGIS( void *args )
{
    struct glMultiTexCoord1sSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1sSGIS( params->target, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1sv( void *args )
{
    struct glMultiTexCoord1sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1sv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1svARB( void *args )
{
    struct glMultiTexCoord1svARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1svARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1svSGIS( void *args )
{
    struct glMultiTexCoord1svSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1svSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1xOES( void *args )
{
    struct glMultiTexCoord1xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1xOES( params->texture, params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord1xvOES( void *args )
{
    struct glMultiTexCoord1xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord1xvOES( params->texture, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2bOES( void *args )
{
    struct glMultiTexCoord2bOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2bOES( params->texture, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2bvOES( void *args )
{
    struct glMultiTexCoord2bvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2bvOES( params->texture, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2d( void *args )
{
    struct glMultiTexCoord2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2d( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2dARB( void *args )
{
    struct glMultiTexCoord2dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2dARB( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2dSGIS( void *args )
{
    struct glMultiTexCoord2dSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2dSGIS( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2dv( void *args )
{
    struct glMultiTexCoord2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2dv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2dvARB( void *args )
{
    struct glMultiTexCoord2dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2dvARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2dvSGIS( void *args )
{
    struct glMultiTexCoord2dvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2dvSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2f( void *args )
{
    struct glMultiTexCoord2f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2f( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2fARB( void *args )
{
    struct glMultiTexCoord2fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2fARB( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2fSGIS( void *args )
{
    struct glMultiTexCoord2fSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2fSGIS( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2fv( void *args )
{
    struct glMultiTexCoord2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2fv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2fvARB( void *args )
{
    struct glMultiTexCoord2fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2fvARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2fvSGIS( void *args )
{
    struct glMultiTexCoord2fvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2fvSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2hNV( void *args )
{
    struct glMultiTexCoord2hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2hNV( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2hvNV( void *args )
{
    struct glMultiTexCoord2hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2hvNV( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2i( void *args )
{
    struct glMultiTexCoord2i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2i( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2iARB( void *args )
{
    struct glMultiTexCoord2iARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2iARB( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2iSGIS( void *args )
{
    struct glMultiTexCoord2iSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2iSGIS( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2iv( void *args )
{
    struct glMultiTexCoord2iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2iv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2ivARB( void *args )
{
    struct glMultiTexCoord2ivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2ivARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2ivSGIS( void *args )
{
    struct glMultiTexCoord2ivSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2ivSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2s( void *args )
{
    struct glMultiTexCoord2s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2s( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2sARB( void *args )
{
    struct glMultiTexCoord2sARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2sARB( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2sSGIS( void *args )
{
    struct glMultiTexCoord2sSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2sSGIS( params->target, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2sv( void *args )
{
    struct glMultiTexCoord2sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2sv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2svARB( void *args )
{
    struct glMultiTexCoord2svARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2svARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2svSGIS( void *args )
{
    struct glMultiTexCoord2svSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2svSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2xOES( void *args )
{
    struct glMultiTexCoord2xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2xOES( params->texture, params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord2xvOES( void *args )
{
    struct glMultiTexCoord2xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord2xvOES( params->texture, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3bOES( void *args )
{
    struct glMultiTexCoord3bOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3bOES( params->texture, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3bvOES( void *args )
{
    struct glMultiTexCoord3bvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3bvOES( params->texture, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3d( void *args )
{
    struct glMultiTexCoord3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3d( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3dARB( void *args )
{
    struct glMultiTexCoord3dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3dARB( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3dSGIS( void *args )
{
    struct glMultiTexCoord3dSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3dSGIS( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3dv( void *args )
{
    struct glMultiTexCoord3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3dv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3dvARB( void *args )
{
    struct glMultiTexCoord3dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3dvARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3dvSGIS( void *args )
{
    struct glMultiTexCoord3dvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3dvSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3f( void *args )
{
    struct glMultiTexCoord3f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3f( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3fARB( void *args )
{
    struct glMultiTexCoord3fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3fARB( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3fSGIS( void *args )
{
    struct glMultiTexCoord3fSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3fSGIS( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3fv( void *args )
{
    struct glMultiTexCoord3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3fv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3fvARB( void *args )
{
    struct glMultiTexCoord3fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3fvARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3fvSGIS( void *args )
{
    struct glMultiTexCoord3fvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3fvSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3hNV( void *args )
{
    struct glMultiTexCoord3hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3hNV( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3hvNV( void *args )
{
    struct glMultiTexCoord3hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3hvNV( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3i( void *args )
{
    struct glMultiTexCoord3i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3i( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3iARB( void *args )
{
    struct glMultiTexCoord3iARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3iARB( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3iSGIS( void *args )
{
    struct glMultiTexCoord3iSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3iSGIS( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3iv( void *args )
{
    struct glMultiTexCoord3iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3iv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3ivARB( void *args )
{
    struct glMultiTexCoord3ivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3ivARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3ivSGIS( void *args )
{
    struct glMultiTexCoord3ivSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3ivSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3s( void *args )
{
    struct glMultiTexCoord3s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3s( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3sARB( void *args )
{
    struct glMultiTexCoord3sARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3sARB( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3sSGIS( void *args )
{
    struct glMultiTexCoord3sSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3sSGIS( params->target, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3sv( void *args )
{
    struct glMultiTexCoord3sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3sv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3svARB( void *args )
{
    struct glMultiTexCoord3svARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3svARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3svSGIS( void *args )
{
    struct glMultiTexCoord3svSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3svSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3xOES( void *args )
{
    struct glMultiTexCoord3xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3xOES( params->texture, params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord3xvOES( void *args )
{
    struct glMultiTexCoord3xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord3xvOES( params->texture, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4bOES( void *args )
{
    struct glMultiTexCoord4bOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4bOES( params->texture, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4bvOES( void *args )
{
    struct glMultiTexCoord4bvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4bvOES( params->texture, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4d( void *args )
{
    struct glMultiTexCoord4d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4d( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4dARB( void *args )
{
    struct glMultiTexCoord4dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4dARB( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4dSGIS( void *args )
{
    struct glMultiTexCoord4dSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4dSGIS( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4dv( void *args )
{
    struct glMultiTexCoord4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4dv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4dvARB( void *args )
{
    struct glMultiTexCoord4dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4dvARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4dvSGIS( void *args )
{
    struct glMultiTexCoord4dvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4dvSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4f( void *args )
{
    struct glMultiTexCoord4f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4f( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4fARB( void *args )
{
    struct glMultiTexCoord4fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4fARB( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4fSGIS( void *args )
{
    struct glMultiTexCoord4fSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4fSGIS( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4fv( void *args )
{
    struct glMultiTexCoord4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4fv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4fvARB( void *args )
{
    struct glMultiTexCoord4fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4fvARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4fvSGIS( void *args )
{
    struct glMultiTexCoord4fvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4fvSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4hNV( void *args )
{
    struct glMultiTexCoord4hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4hNV( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4hvNV( void *args )
{
    struct glMultiTexCoord4hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4hvNV( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4i( void *args )
{
    struct glMultiTexCoord4i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4i( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4iARB( void *args )
{
    struct glMultiTexCoord4iARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4iARB( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4iSGIS( void *args )
{
    struct glMultiTexCoord4iSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4iSGIS( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4iv( void *args )
{
    struct glMultiTexCoord4iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4iv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4ivARB( void *args )
{
    struct glMultiTexCoord4ivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4ivARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4ivSGIS( void *args )
{
    struct glMultiTexCoord4ivSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4ivSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4s( void *args )
{
    struct glMultiTexCoord4s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4s( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4sARB( void *args )
{
    struct glMultiTexCoord4sARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4sARB( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4sSGIS( void *args )
{
    struct glMultiTexCoord4sSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4sSGIS( params->target, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4sv( void *args )
{
    struct glMultiTexCoord4sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4sv( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4svARB( void *args )
{
    struct glMultiTexCoord4svARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4svARB( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4svSGIS( void *args )
{
    struct glMultiTexCoord4svSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4svSGIS( params->target, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4xOES( void *args )
{
    struct glMultiTexCoord4xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4xOES( params->texture, params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoord4xvOES( void *args )
{
    struct glMultiTexCoord4xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoord4xvOES( params->texture, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoordP1ui( void *args )
{
    struct glMultiTexCoordP1ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoordP1ui( params->texture, params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoordP1uiv( void *args )
{
    struct glMultiTexCoordP1uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoordP1uiv( params->texture, params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoordP2ui( void *args )
{
    struct glMultiTexCoordP2ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoordP2ui( params->texture, params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoordP2uiv( void *args )
{
    struct glMultiTexCoordP2uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoordP2uiv( params->texture, params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoordP3ui( void *args )
{
    struct glMultiTexCoordP3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoordP3ui( params->texture, params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoordP3uiv( void *args )
{
    struct glMultiTexCoordP3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoordP3uiv( params->texture, params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoordP4ui( void *args )
{
    struct glMultiTexCoordP4ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoordP4ui( params->texture, params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoordP4uiv( void *args )
{
    struct glMultiTexCoordP4uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoordP4uiv( params->texture, params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoordPointerEXT( void *args )
{
    struct glMultiTexCoordPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoordPointerEXT( params->texunit, params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexCoordPointerSGIS( void *args )
{
    struct glMultiTexCoordPointerSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexCoordPointerSGIS( params->target, params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexEnvfEXT( void *args )
{
    struct glMultiTexEnvfEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexEnvfEXT( params->texunit, params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexEnvfvEXT( void *args )
{
    struct glMultiTexEnvfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexEnvfvEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexEnviEXT( void *args )
{
    struct glMultiTexEnviEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexEnviEXT( params->texunit, params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexEnvivEXT( void *args )
{
    struct glMultiTexEnvivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexEnvivEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexGendEXT( void *args )
{
    struct glMultiTexGendEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexGendEXT( params->texunit, params->coord, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexGendvEXT( void *args )
{
    struct glMultiTexGendvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexGendvEXT( params->texunit, params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexGenfEXT( void *args )
{
    struct glMultiTexGenfEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexGenfEXT( params->texunit, params->coord, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexGenfvEXT( void *args )
{
    struct glMultiTexGenfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexGenfvEXT( params->texunit, params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexGeniEXT( void *args )
{
    struct glMultiTexGeniEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexGeniEXT( params->texunit, params->coord, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexGenivEXT( void *args )
{
    struct glMultiTexGenivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexGenivEXT( params->texunit, params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexImage1DEXT( void *args )
{
    struct glMultiTexImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexImage1DEXT( params->texunit, params->target, params->level, params->internalformat, params->width, params->border, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexImage2DEXT( void *args )
{
    struct glMultiTexImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexImage2DEXT( params->texunit, params->target, params->level, params->internalformat, params->width, params->height, params->border, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexImage3DEXT( void *args )
{
    struct glMultiTexImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexImage3DEXT( params->texunit, params->target, params->level, params->internalformat, params->width, params->height, params->depth, params->border, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexParameterIivEXT( void *args )
{
    struct glMultiTexParameterIivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexParameterIivEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexParameterIuivEXT( void *args )
{
    struct glMultiTexParameterIuivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexParameterIuivEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexParameterfEXT( void *args )
{
    struct glMultiTexParameterfEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexParameterfEXT( params->texunit, params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexParameterfvEXT( void *args )
{
    struct glMultiTexParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexParameterfvEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexParameteriEXT( void *args )
{
    struct glMultiTexParameteriEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexParameteriEXT( params->texunit, params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexParameterivEXT( void *args )
{
    struct glMultiTexParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexParameterivEXT( params->texunit, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexRenderbufferEXT( void *args )
{
    struct glMultiTexRenderbufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexRenderbufferEXT( params->texunit, params->target, params->renderbuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexSubImage1DEXT( void *args )
{
    struct glMultiTexSubImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexSubImage1DEXT( params->texunit, params->target, params->level, params->xoffset, params->width, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexSubImage2DEXT( void *args )
{
    struct glMultiTexSubImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexSubImage2DEXT( params->texunit, params->target, params->level, params->xoffset, params->yoffset, params->width, params->height, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMultiTexSubImage3DEXT( void *args )
{
    struct glMultiTexSubImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMultiTexSubImage3DEXT( params->texunit, params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastBarrierNV( void *args )
{
    struct glMulticastBarrierNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastBarrierNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastBlitFramebufferNV( void *args )
{
    struct glMulticastBlitFramebufferNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastBlitFramebufferNV( params->srcGpu, params->dstGpu, params->srcX0, params->srcY0, params->srcX1, params->srcY1, params->dstX0, params->dstY0, params->dstX1, params->dstY1, params->mask, params->filter );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastBufferSubDataNV( void *args )
{
    struct glMulticastBufferSubDataNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastBufferSubDataNV( params->gpuMask, params->buffer, params->offset, params->size, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastCopyBufferSubDataNV( void *args )
{
    struct glMulticastCopyBufferSubDataNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastCopyBufferSubDataNV( params->readGpu, params->writeGpuMask, params->readBuffer, params->writeBuffer, params->readOffset, params->writeOffset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastCopyImageSubDataNV( void *args )
{
    struct glMulticastCopyImageSubDataNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastCopyImageSubDataNV( params->srcGpu, params->dstGpuMask, params->srcName, params->srcTarget, params->srcLevel, params->srcX, params->srcY, params->srcZ, params->dstName, params->dstTarget, params->dstLevel, params->dstX, params->dstY, params->dstZ, params->srcWidth, params->srcHeight, params->srcDepth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastFramebufferSampleLocationsfvNV( void *args )
{
    struct glMulticastFramebufferSampleLocationsfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastFramebufferSampleLocationsfvNV( params->gpu, params->framebuffer, params->start, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastGetQueryObjecti64vNV( void *args )
{
    struct glMulticastGetQueryObjecti64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastGetQueryObjecti64vNV( params->gpu, params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastGetQueryObjectivNV( void *args )
{
    struct glMulticastGetQueryObjectivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastGetQueryObjectivNV( params->gpu, params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastGetQueryObjectui64vNV( void *args )
{
    struct glMulticastGetQueryObjectui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastGetQueryObjectui64vNV( params->gpu, params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastGetQueryObjectuivNV( void *args )
{
    struct glMulticastGetQueryObjectuivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastGetQueryObjectuivNV( params->gpu, params->id, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastScissorArrayvNVX( void *args )
{
    struct glMulticastScissorArrayvNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastScissorArrayvNVX( params->gpu, params->first, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastViewportArrayvNVX( void *args )
{
    struct glMulticastViewportArrayvNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastViewportArrayvNVX( params->gpu, params->first, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastViewportPositionWScaleNVX( void *args )
{
    struct glMulticastViewportPositionWScaleNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastViewportPositionWScaleNVX( params->gpu, params->index, params->xcoeff, params->ycoeff );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glMulticastWaitSyncNV( void *args )
{
    struct glMulticastWaitSyncNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glMulticastWaitSyncNV( params->signalGpu, params->waitGpuMask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedBufferAttachMemoryNV( void *args )
{
    struct glNamedBufferAttachMemoryNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedBufferAttachMemoryNV( params->buffer, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedBufferData( void *args )
{
    struct glNamedBufferData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedBufferData( params->buffer, params->size, params->data, params->usage );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedBufferDataEXT( void *args )
{
    struct glNamedBufferDataEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedBufferDataEXT( params->buffer, params->size, params->data, params->usage );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedBufferPageCommitmentARB( void *args )
{
    struct glNamedBufferPageCommitmentARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedBufferPageCommitmentARB( params->buffer, params->offset, params->size, params->commit );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedBufferPageCommitmentEXT( void *args )
{
    struct glNamedBufferPageCommitmentEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedBufferPageCommitmentEXT( params->buffer, params->offset, params->size, params->commit );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedBufferStorage( void *args )
{
    struct glNamedBufferStorage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedBufferStorage( params->buffer, params->size, params->data, params->flags );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedBufferStorageEXT( void *args )
{
    struct glNamedBufferStorageEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedBufferStorageEXT( params->buffer, params->size, params->data, params->flags );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedBufferStorageExternalEXT( void *args )
{
    struct glNamedBufferStorageExternalEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedBufferStorageExternalEXT( params->buffer, params->offset, params->size, params->clientBuffer, params->flags );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedBufferStorageMemEXT( void *args )
{
    struct glNamedBufferStorageMemEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedBufferStorageMemEXT( params->buffer, params->size, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedBufferSubData( void *args )
{
    struct glNamedBufferSubData_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedBufferSubData( params->buffer, params->offset, params->size, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedBufferSubDataEXT( void *args )
{
    struct glNamedBufferSubDataEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedBufferSubDataEXT( params->buffer, params->offset, params->size, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedCopyBufferSubDataEXT( void *args )
{
    struct glNamedCopyBufferSubDataEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedCopyBufferSubDataEXT( params->readBuffer, params->writeBuffer, params->readOffset, params->writeOffset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferDrawBuffer( void *args )
{
    struct glNamedFramebufferDrawBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferDrawBuffer( params->framebuffer, params->buf );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferDrawBuffers( void *args )
{
    struct glNamedFramebufferDrawBuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferDrawBuffers( params->framebuffer, params->n, params->bufs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferParameteri( void *args )
{
    struct glNamedFramebufferParameteri_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferParameteri( params->framebuffer, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferParameteriEXT( void *args )
{
    struct glNamedFramebufferParameteriEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferParameteriEXT( params->framebuffer, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferReadBuffer( void *args )
{
    struct glNamedFramebufferReadBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferReadBuffer( params->framebuffer, params->src );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferRenderbuffer( void *args )
{
    struct glNamedFramebufferRenderbuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferRenderbuffer( params->framebuffer, params->attachment, params->renderbuffertarget, params->renderbuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferRenderbufferEXT( void *args )
{
    struct glNamedFramebufferRenderbufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferRenderbufferEXT( params->framebuffer, params->attachment, params->renderbuffertarget, params->renderbuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferSampleLocationsfvARB( void *args )
{
    struct glNamedFramebufferSampleLocationsfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferSampleLocationsfvARB( params->framebuffer, params->start, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferSampleLocationsfvNV( void *args )
{
    struct glNamedFramebufferSampleLocationsfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferSampleLocationsfvNV( params->framebuffer, params->start, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferSamplePositionsfvAMD( void *args )
{
    struct glNamedFramebufferSamplePositionsfvAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferSamplePositionsfvAMD( params->framebuffer, params->numsamples, params->pixelindex, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferTexture( void *args )
{
    struct glNamedFramebufferTexture_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferTexture( params->framebuffer, params->attachment, params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferTexture1DEXT( void *args )
{
    struct glNamedFramebufferTexture1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferTexture1DEXT( params->framebuffer, params->attachment, params->textarget, params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferTexture2DEXT( void *args )
{
    struct glNamedFramebufferTexture2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferTexture2DEXT( params->framebuffer, params->attachment, params->textarget, params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferTexture3DEXT( void *args )
{
    struct glNamedFramebufferTexture3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferTexture3DEXT( params->framebuffer, params->attachment, params->textarget, params->texture, params->level, params->zoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferTextureEXT( void *args )
{
    struct glNamedFramebufferTextureEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferTextureEXT( params->framebuffer, params->attachment, params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferTextureFaceEXT( void *args )
{
    struct glNamedFramebufferTextureFaceEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferTextureFaceEXT( params->framebuffer, params->attachment, params->texture, params->level, params->face );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferTextureLayer( void *args )
{
    struct glNamedFramebufferTextureLayer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferTextureLayer( params->framebuffer, params->attachment, params->texture, params->level, params->layer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedFramebufferTextureLayerEXT( void *args )
{
    struct glNamedFramebufferTextureLayerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedFramebufferTextureLayerEXT( params->framebuffer, params->attachment, params->texture, params->level, params->layer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramLocalParameter4dEXT( void *args )
{
    struct glNamedProgramLocalParameter4dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramLocalParameter4dEXT( params->program, params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramLocalParameter4dvEXT( void *args )
{
    struct glNamedProgramLocalParameter4dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramLocalParameter4dvEXT( params->program, params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramLocalParameter4fEXT( void *args )
{
    struct glNamedProgramLocalParameter4fEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramLocalParameter4fEXT( params->program, params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramLocalParameter4fvEXT( void *args )
{
    struct glNamedProgramLocalParameter4fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramLocalParameter4fvEXT( params->program, params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramLocalParameterI4iEXT( void *args )
{
    struct glNamedProgramLocalParameterI4iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramLocalParameterI4iEXT( params->program, params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramLocalParameterI4ivEXT( void *args )
{
    struct glNamedProgramLocalParameterI4ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramLocalParameterI4ivEXT( params->program, params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramLocalParameterI4uiEXT( void *args )
{
    struct glNamedProgramLocalParameterI4uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramLocalParameterI4uiEXT( params->program, params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramLocalParameterI4uivEXT( void *args )
{
    struct glNamedProgramLocalParameterI4uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramLocalParameterI4uivEXT( params->program, params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramLocalParameters4fvEXT( void *args )
{
    struct glNamedProgramLocalParameters4fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramLocalParameters4fvEXT( params->program, params->target, params->index, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramLocalParametersI4ivEXT( void *args )
{
    struct glNamedProgramLocalParametersI4ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramLocalParametersI4ivEXT( params->program, params->target, params->index, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramLocalParametersI4uivEXT( void *args )
{
    struct glNamedProgramLocalParametersI4uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramLocalParametersI4uivEXT( params->program, params->target, params->index, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedProgramStringEXT( void *args )
{
    struct glNamedProgramStringEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedProgramStringEXT( params->program, params->target, params->format, params->len, params->string );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedRenderbufferStorage( void *args )
{
    struct glNamedRenderbufferStorage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedRenderbufferStorage( params->renderbuffer, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedRenderbufferStorageEXT( void *args )
{
    struct glNamedRenderbufferStorageEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedRenderbufferStorageEXT( params->renderbuffer, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedRenderbufferStorageMultisample( void *args )
{
    struct glNamedRenderbufferStorageMultisample_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedRenderbufferStorageMultisample( params->renderbuffer, params->samples, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedRenderbufferStorageMultisampleAdvancedAMD( void *args )
{
    struct glNamedRenderbufferStorageMultisampleAdvancedAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedRenderbufferStorageMultisampleAdvancedAMD( params->renderbuffer, params->samples, params->storageSamples, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedRenderbufferStorageMultisampleCoverageEXT( void *args )
{
    struct glNamedRenderbufferStorageMultisampleCoverageEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedRenderbufferStorageMultisampleCoverageEXT( params->renderbuffer, params->coverageSamples, params->colorSamples, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedRenderbufferStorageMultisampleEXT( void *args )
{
    struct glNamedRenderbufferStorageMultisampleEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedRenderbufferStorageMultisampleEXT( params->renderbuffer, params->samples, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNamedStringARB( void *args )
{
    struct glNamedStringARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNamedStringARB( params->type, params->namelen, params->name, params->stringlen, params->string );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNewBufferRegion( void *args )
{
    struct glNewBufferRegion_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glNewBufferRegion( params->type );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNewObjectBufferATI( void *args )
{
    struct glNewObjectBufferATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glNewObjectBufferATI( params->size, params->pointer, params->usage );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormal3fVertex3fSUN( void *args )
{
    struct glNormal3fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormal3fVertex3fSUN( params->nx, params->ny, params->nz, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormal3fVertex3fvSUN( void *args )
{
    struct glNormal3fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormal3fVertex3fvSUN( params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormal3hNV( void *args )
{
    struct glNormal3hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormal3hNV( params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormal3hvNV( void *args )
{
    struct glNormal3hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormal3hvNV( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormal3xOES( void *args )
{
    struct glNormal3xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormal3xOES( params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormal3xvOES( void *args )
{
    struct glNormal3xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormal3xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalFormatNV( void *args )
{
    struct glNormalFormatNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalFormatNV( params->type, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalP3ui( void *args )
{
    struct glNormalP3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalP3ui( params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalP3uiv( void *args )
{
    struct glNormalP3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalP3uiv( params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalPointerEXT( void *args )
{
    struct glNormalPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalPointerEXT( params->type, params->stride, params->count, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalPointerListIBM( void *args )
{
    struct glNormalPointerListIBM_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalPointerListIBM( params->type, params->stride, params->pointer, params->ptrstride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalPointervINTEL( void *args )
{
    struct glNormalPointervINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalPointervINTEL( params->type, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalStream3bATI( void *args )
{
    struct glNormalStream3bATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalStream3bATI( params->stream, params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalStream3bvATI( void *args )
{
    struct glNormalStream3bvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalStream3bvATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalStream3dATI( void *args )
{
    struct glNormalStream3dATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalStream3dATI( params->stream, params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalStream3dvATI( void *args )
{
    struct glNormalStream3dvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalStream3dvATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalStream3fATI( void *args )
{
    struct glNormalStream3fATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalStream3fATI( params->stream, params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalStream3fvATI( void *args )
{
    struct glNormalStream3fvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalStream3fvATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalStream3iATI( void *args )
{
    struct glNormalStream3iATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalStream3iATI( params->stream, params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalStream3ivATI( void *args )
{
    struct glNormalStream3ivATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalStream3ivATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalStream3sATI( void *args )
{
    struct glNormalStream3sATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalStream3sATI( params->stream, params->nx, params->ny, params->nz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glNormalStream3svATI( void *args )
{
    struct glNormalStream3svATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glNormalStream3svATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glObjectLabel( void *args )
{
    struct glObjectLabel_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glObjectLabel( params->identifier, params->name, params->length, params->label );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glObjectPtrLabel( void *args )
{
    struct glObjectPtrLabel_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glObjectPtrLabel( params->ptr, params->length, params->label );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glObjectPurgeableAPPLE( void *args )
{
    struct glObjectPurgeableAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glObjectPurgeableAPPLE( params->objectType, params->name, params->option );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glObjectUnpurgeableAPPLE( void *args )
{
    struct glObjectUnpurgeableAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glObjectUnpurgeableAPPLE( params->objectType, params->name, params->option );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glOrthofOES( void *args )
{
    struct glOrthofOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glOrthofOES( params->l, params->r, params->b, params->t, params->n, params->f );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glOrthoxOES( void *args )
{
    struct glOrthoxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glOrthoxOES( params->l, params->r, params->b, params->t, params->n, params->f );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPNTrianglesfATI( void *args )
{
    struct glPNTrianglesfATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPNTrianglesfATI( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPNTrianglesiATI( void *args )
{
    struct glPNTrianglesiATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPNTrianglesiATI( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPassTexCoordATI( void *args )
{
    struct glPassTexCoordATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPassTexCoordATI( params->dst, params->coord, params->swizzle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPassThroughxOES( void *args )
{
    struct glPassThroughxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPassThroughxOES( params->token );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPatchParameterfv( void *args )
{
    struct glPatchParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPatchParameterfv( params->pname, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPatchParameteri( void *args )
{
    struct glPatchParameteri_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPatchParameteri( params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathColorGenNV( void *args )
{
    struct glPathColorGenNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathColorGenNV( params->color, params->genMode, params->colorFormat, params->coeffs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathCommandsNV( void *args )
{
    struct glPathCommandsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathCommandsNV( params->path, params->numCommands, params->commands, params->numCoords, params->coordType, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathCoordsNV( void *args )
{
    struct glPathCoordsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathCoordsNV( params->path, params->numCoords, params->coordType, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathCoverDepthFuncNV( void *args )
{
    struct glPathCoverDepthFuncNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathCoverDepthFuncNV( params->func );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathDashArrayNV( void *args )
{
    struct glPathDashArrayNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathDashArrayNV( params->path, params->dashCount, params->dashArray );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathFogGenNV( void *args )
{
    struct glPathFogGenNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathFogGenNV( params->genMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathGlyphIndexArrayNV( void *args )
{
    struct glPathGlyphIndexArrayNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glPathGlyphIndexArrayNV( params->firstPathName, params->fontTarget, params->fontName, params->fontStyle, params->firstGlyphIndex, params->numGlyphs, params->pathParameterTemplate, params->emScale );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glPathGlyphIndexRangeNV( void *args )
{
    struct glPathGlyphIndexRangeNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glPathGlyphIndexRangeNV( params->fontTarget, params->fontName, params->fontStyle, params->pathParameterTemplate, params->emScale, params->baseAndCount );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathGlyphRangeNV( void *args )
{
    struct glPathGlyphRangeNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathGlyphRangeNV( params->firstPathName, params->fontTarget, params->fontName, params->fontStyle, params->firstGlyph, params->numGlyphs, params->handleMissingGlyphs, params->pathParameterTemplate, params->emScale );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathGlyphsNV( void *args )
{
    struct glPathGlyphsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathGlyphsNV( params->firstPathName, params->fontTarget, params->fontName, params->fontStyle, params->numGlyphs, params->type, params->charcodes, params->handleMissingGlyphs, params->pathParameterTemplate, params->emScale );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathMemoryGlyphIndexArrayNV( void *args )
{
    struct glPathMemoryGlyphIndexArrayNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glPathMemoryGlyphIndexArrayNV( params->firstPathName, params->fontTarget, params->fontSize, params->fontData, params->faceIndex, params->firstGlyphIndex, params->numGlyphs, params->pathParameterTemplate, params->emScale );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathParameterfNV( void *args )
{
    struct glPathParameterfNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathParameterfNV( params->path, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathParameterfvNV( void *args )
{
    struct glPathParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathParameterfvNV( params->path, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathParameteriNV( void *args )
{
    struct glPathParameteriNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathParameteriNV( params->path, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathParameterivNV( void *args )
{
    struct glPathParameterivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathParameterivNV( params->path, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathStencilDepthOffsetNV( void *args )
{
    struct glPathStencilDepthOffsetNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathStencilDepthOffsetNV( params->factor, params->units );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathStencilFuncNV( void *args )
{
    struct glPathStencilFuncNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathStencilFuncNV( params->func, params->ref, params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathStringNV( void *args )
{
    struct glPathStringNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathStringNV( params->path, params->format, params->length, params->pathString );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathSubCommandsNV( void *args )
{
    struct glPathSubCommandsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathSubCommandsNV( params->path, params->commandStart, params->commandsToDelete, params->numCommands, params->commands, params->numCoords, params->coordType, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathSubCoordsNV( void *args )
{
    struct glPathSubCoordsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathSubCoordsNV( params->path, params->coordStart, params->numCoords, params->coordType, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPathTexGenNV( void *args )
{
    struct glPathTexGenNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPathTexGenNV( params->texCoordSet, params->genMode, params->components, params->coeffs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPauseTransformFeedback( void *args )
{
    struct glPauseTransformFeedback_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPauseTransformFeedback();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPauseTransformFeedbackNV( void *args )
{
    struct glPauseTransformFeedbackNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPauseTransformFeedbackNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelDataRangeNV( void *args )
{
    struct glPixelDataRangeNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelDataRangeNV( params->target, params->length, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelMapx( void *args )
{
    struct glPixelMapx_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelMapx( params->map, params->size, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelStorex( void *args )
{
    struct glPixelStorex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelStorex( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelTexGenParameterfSGIS( void *args )
{
    struct glPixelTexGenParameterfSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelTexGenParameterfSGIS( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelTexGenParameterfvSGIS( void *args )
{
    struct glPixelTexGenParameterfvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelTexGenParameterfvSGIS( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelTexGenParameteriSGIS( void *args )
{
    struct glPixelTexGenParameteriSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelTexGenParameteriSGIS( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelTexGenParameterivSGIS( void *args )
{
    struct glPixelTexGenParameterivSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelTexGenParameterivSGIS( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelTexGenSGIX( void *args )
{
    struct glPixelTexGenSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelTexGenSGIX( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelTransferxOES( void *args )
{
    struct glPixelTransferxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelTransferxOES( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelTransformParameterfEXT( void *args )
{
    struct glPixelTransformParameterfEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelTransformParameterfEXT( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelTransformParameterfvEXT( void *args )
{
    struct glPixelTransformParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelTransformParameterfvEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelTransformParameteriEXT( void *args )
{
    struct glPixelTransformParameteriEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelTransformParameteriEXT( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelTransformParameterivEXT( void *args )
{
    struct glPixelTransformParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelTransformParameterivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPixelZoomxOES( void *args )
{
    struct glPixelZoomxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPixelZoomxOES( params->xfactor, params->yfactor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointAlongPathNV( void *args )
{
    struct glPointAlongPathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glPointAlongPathNV( params->path, params->startSegment, params->numSegments, params->distance, params->x, params->y, params->tangentX, params->tangentY );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameterf( void *args )
{
    struct glPointParameterf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameterf( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameterfARB( void *args )
{
    struct glPointParameterfARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameterfARB( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameterfEXT( void *args )
{
    struct glPointParameterfEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameterfEXT( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameterfSGIS( void *args )
{
    struct glPointParameterfSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameterfSGIS( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameterfv( void *args )
{
    struct glPointParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameterfv( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameterfvARB( void *args )
{
    struct glPointParameterfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameterfvARB( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameterfvEXT( void *args )
{
    struct glPointParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameterfvEXT( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameterfvSGIS( void *args )
{
    struct glPointParameterfvSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameterfvSGIS( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameteri( void *args )
{
    struct glPointParameteri_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameteri( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameteriNV( void *args )
{
    struct glPointParameteriNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameteriNV( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameteriv( void *args )
{
    struct glPointParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameteriv( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameterivNV( void *args )
{
    struct glPointParameterivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameterivNV( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointParameterxvOES( void *args )
{
    struct glPointParameterxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointParameterxvOES( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPointSizexOES( void *args )
{
    struct glPointSizexOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPointSizexOES( params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPollAsyncSGIX( void *args )
{
    struct glPollAsyncSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glPollAsyncSGIX( params->markerp );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPollInstrumentsSGIX( void *args )
{
    struct glPollInstrumentsSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glPollInstrumentsSGIX( params->marker_p );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPolygonOffsetClamp( void *args )
{
    struct glPolygonOffsetClamp_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPolygonOffsetClamp( params->factor, params->units, params->clamp );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPolygonOffsetClampEXT( void *args )
{
    struct glPolygonOffsetClampEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPolygonOffsetClampEXT( params->factor, params->units, params->clamp );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPolygonOffsetEXT( void *args )
{
    struct glPolygonOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPolygonOffsetEXT( params->factor, params->bias );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPolygonOffsetxOES( void *args )
{
    struct glPolygonOffsetxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPolygonOffsetxOES( params->factor, params->units );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPopDebugGroup( void *args )
{
    struct glPopDebugGroup_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPopDebugGroup();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPopGroupMarkerEXT( void *args )
{
    struct glPopGroupMarkerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPopGroupMarkerEXT();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPresentFrameDualFillNV( void *args )
{
    struct glPresentFrameDualFillNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPresentFrameDualFillNV( params->video_slot, params->minPresentTime, params->beginPresentTimeId, params->presentDurationId, params->type, params->target0, params->fill0, params->target1, params->fill1, params->target2, params->fill2, params->target3, params->fill3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPresentFrameKeyedNV( void *args )
{
    struct glPresentFrameKeyedNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPresentFrameKeyedNV( params->video_slot, params->minPresentTime, params->beginPresentTimeId, params->presentDurationId, params->type, params->target0, params->fill0, params->key0, params->target1, params->fill1, params->key1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPrimitiveBoundingBoxARB( void *args )
{
    struct glPrimitiveBoundingBoxARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPrimitiveBoundingBoxARB( params->minX, params->minY, params->minZ, params->minW, params->maxX, params->maxY, params->maxZ, params->maxW );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPrimitiveRestartIndex( void *args )
{
    struct glPrimitiveRestartIndex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPrimitiveRestartIndex( params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPrimitiveRestartIndexNV( void *args )
{
    struct glPrimitiveRestartIndexNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPrimitiveRestartIndexNV( params->index );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPrimitiveRestartNV( void *args )
{
    struct glPrimitiveRestartNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPrimitiveRestartNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPrioritizeTexturesEXT( void *args )
{
    struct glPrioritizeTexturesEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPrioritizeTexturesEXT( params->n, params->textures, params->priorities );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPrioritizeTexturesxOES( void *args )
{
    struct glPrioritizeTexturesxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPrioritizeTexturesxOES( params->n, params->textures, params->priorities );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramBinary( void *args )
{
    struct glProgramBinary_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramBinary( params->program, params->binaryFormat, params->binary, params->length );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramBufferParametersIivNV( void *args )
{
    struct glProgramBufferParametersIivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramBufferParametersIivNV( params->target, params->bindingIndex, params->wordIndex, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramBufferParametersIuivNV( void *args )
{
    struct glProgramBufferParametersIuivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramBufferParametersIuivNV( params->target, params->bindingIndex, params->wordIndex, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramBufferParametersfvNV( void *args )
{
    struct glProgramBufferParametersfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramBufferParametersfvNV( params->target, params->bindingIndex, params->wordIndex, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramEnvParameter4dARB( void *args )
{
    struct glProgramEnvParameter4dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramEnvParameter4dARB( params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramEnvParameter4dvARB( void *args )
{
    struct glProgramEnvParameter4dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramEnvParameter4dvARB( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramEnvParameter4fARB( void *args )
{
    struct glProgramEnvParameter4fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramEnvParameter4fARB( params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramEnvParameter4fvARB( void *args )
{
    struct glProgramEnvParameter4fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramEnvParameter4fvARB( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramEnvParameterI4iNV( void *args )
{
    struct glProgramEnvParameterI4iNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramEnvParameterI4iNV( params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramEnvParameterI4ivNV( void *args )
{
    struct glProgramEnvParameterI4ivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramEnvParameterI4ivNV( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramEnvParameterI4uiNV( void *args )
{
    struct glProgramEnvParameterI4uiNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramEnvParameterI4uiNV( params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramEnvParameterI4uivNV( void *args )
{
    struct glProgramEnvParameterI4uivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramEnvParameterI4uivNV( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramEnvParameters4fvEXT( void *args )
{
    struct glProgramEnvParameters4fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramEnvParameters4fvEXT( params->target, params->index, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramEnvParametersI4ivNV( void *args )
{
    struct glProgramEnvParametersI4ivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramEnvParametersI4ivNV( params->target, params->index, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramEnvParametersI4uivNV( void *args )
{
    struct glProgramEnvParametersI4uivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramEnvParametersI4uivNV( params->target, params->index, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramLocalParameter4dARB( void *args )
{
    struct glProgramLocalParameter4dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramLocalParameter4dARB( params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramLocalParameter4dvARB( void *args )
{
    struct glProgramLocalParameter4dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramLocalParameter4dvARB( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramLocalParameter4fARB( void *args )
{
    struct glProgramLocalParameter4fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramLocalParameter4fARB( params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramLocalParameter4fvARB( void *args )
{
    struct glProgramLocalParameter4fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramLocalParameter4fvARB( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramLocalParameterI4iNV( void *args )
{
    struct glProgramLocalParameterI4iNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramLocalParameterI4iNV( params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramLocalParameterI4ivNV( void *args )
{
    struct glProgramLocalParameterI4ivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramLocalParameterI4ivNV( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramLocalParameterI4uiNV( void *args )
{
    struct glProgramLocalParameterI4uiNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramLocalParameterI4uiNV( params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramLocalParameterI4uivNV( void *args )
{
    struct glProgramLocalParameterI4uivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramLocalParameterI4uivNV( params->target, params->index, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramLocalParameters4fvEXT( void *args )
{
    struct glProgramLocalParameters4fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramLocalParameters4fvEXT( params->target, params->index, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramLocalParametersI4ivNV( void *args )
{
    struct glProgramLocalParametersI4ivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramLocalParametersI4ivNV( params->target, params->index, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramLocalParametersI4uivNV( void *args )
{
    struct glProgramLocalParametersI4uivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramLocalParametersI4uivNV( params->target, params->index, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramNamedParameter4dNV( void *args )
{
    struct glProgramNamedParameter4dNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramNamedParameter4dNV( params->id, params->len, params->name, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramNamedParameter4dvNV( void *args )
{
    struct glProgramNamedParameter4dvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramNamedParameter4dvNV( params->id, params->len, params->name, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramNamedParameter4fNV( void *args )
{
    struct glProgramNamedParameter4fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramNamedParameter4fNV( params->id, params->len, params->name, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramNamedParameter4fvNV( void *args )
{
    struct glProgramNamedParameter4fvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramNamedParameter4fvNV( params->id, params->len, params->name, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramParameter4dNV( void *args )
{
    struct glProgramParameter4dNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramParameter4dNV( params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramParameter4dvNV( void *args )
{
    struct glProgramParameter4dvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramParameter4dvNV( params->target, params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramParameter4fNV( void *args )
{
    struct glProgramParameter4fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramParameter4fNV( params->target, params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramParameter4fvNV( void *args )
{
    struct glProgramParameter4fvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramParameter4fvNV( params->target, params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramParameteri( void *args )
{
    struct glProgramParameteri_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramParameteri( params->program, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramParameteriARB( void *args )
{
    struct glProgramParameteriARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramParameteriARB( params->program, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramParameteriEXT( void *args )
{
    struct glProgramParameteriEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramParameteriEXT( params->program, params->pname, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramParameters4dvNV( void *args )
{
    struct glProgramParameters4dvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramParameters4dvNV( params->target, params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramParameters4fvNV( void *args )
{
    struct glProgramParameters4fvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramParameters4fvNV( params->target, params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramPathFragmentInputGenNV( void *args )
{
    struct glProgramPathFragmentInputGenNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramPathFragmentInputGenNV( params->program, params->location, params->genMode, params->components, params->coeffs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramStringARB( void *args )
{
    struct glProgramStringARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramStringARB( params->target, params->format, params->len, params->string );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramSubroutineParametersuivNV( void *args )
{
    struct glProgramSubroutineParametersuivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramSubroutineParametersuivNV( params->target, params->count, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1d( void *args )
{
    struct glProgramUniform1d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1d( params->program, params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1dEXT( void *args )
{
    struct glProgramUniform1dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1dEXT( params->program, params->location, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1dv( void *args )
{
    struct glProgramUniform1dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1dv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1dvEXT( void *args )
{
    struct glProgramUniform1dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1dvEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1f( void *args )
{
    struct glProgramUniform1f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1f( params->program, params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1fEXT( void *args )
{
    struct glProgramUniform1fEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1fEXT( params->program, params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1fv( void *args )
{
    struct glProgramUniform1fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1fv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1fvEXT( void *args )
{
    struct glProgramUniform1fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1fvEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1i( void *args )
{
    struct glProgramUniform1i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1i( params->program, params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1i64ARB( void *args )
{
    struct glProgramUniform1i64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1i64ARB( params->program, params->location, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1i64NV( void *args )
{
    struct glProgramUniform1i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1i64NV( params->program, params->location, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1i64vARB( void *args )
{
    struct glProgramUniform1i64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1i64vARB( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1i64vNV( void *args )
{
    struct glProgramUniform1i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1i64vNV( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1iEXT( void *args )
{
    struct glProgramUniform1iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1iEXT( params->program, params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1iv( void *args )
{
    struct glProgramUniform1iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1iv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1ivEXT( void *args )
{
    struct glProgramUniform1ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1ivEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1ui( void *args )
{
    struct glProgramUniform1ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1ui( params->program, params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1ui64ARB( void *args )
{
    struct glProgramUniform1ui64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1ui64ARB( params->program, params->location, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1ui64NV( void *args )
{
    struct glProgramUniform1ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1ui64NV( params->program, params->location, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1ui64vARB( void *args )
{
    struct glProgramUniform1ui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1ui64vARB( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1ui64vNV( void *args )
{
    struct glProgramUniform1ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1ui64vNV( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1uiEXT( void *args )
{
    struct glProgramUniform1uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1uiEXT( params->program, params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1uiv( void *args )
{
    struct glProgramUniform1uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1uiv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform1uivEXT( void *args )
{
    struct glProgramUniform1uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform1uivEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2d( void *args )
{
    struct glProgramUniform2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2d( params->program, params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2dEXT( void *args )
{
    struct glProgramUniform2dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2dEXT( params->program, params->location, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2dv( void *args )
{
    struct glProgramUniform2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2dv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2dvEXT( void *args )
{
    struct glProgramUniform2dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2dvEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2f( void *args )
{
    struct glProgramUniform2f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2f( params->program, params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2fEXT( void *args )
{
    struct glProgramUniform2fEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2fEXT( params->program, params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2fv( void *args )
{
    struct glProgramUniform2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2fv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2fvEXT( void *args )
{
    struct glProgramUniform2fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2fvEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2i( void *args )
{
    struct glProgramUniform2i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2i( params->program, params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2i64ARB( void *args )
{
    struct glProgramUniform2i64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2i64ARB( params->program, params->location, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2i64NV( void *args )
{
    struct glProgramUniform2i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2i64NV( params->program, params->location, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2i64vARB( void *args )
{
    struct glProgramUniform2i64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2i64vARB( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2i64vNV( void *args )
{
    struct glProgramUniform2i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2i64vNV( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2iEXT( void *args )
{
    struct glProgramUniform2iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2iEXT( params->program, params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2iv( void *args )
{
    struct glProgramUniform2iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2iv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2ivEXT( void *args )
{
    struct glProgramUniform2ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2ivEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2ui( void *args )
{
    struct glProgramUniform2ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2ui( params->program, params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2ui64ARB( void *args )
{
    struct glProgramUniform2ui64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2ui64ARB( params->program, params->location, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2ui64NV( void *args )
{
    struct glProgramUniform2ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2ui64NV( params->program, params->location, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2ui64vARB( void *args )
{
    struct glProgramUniform2ui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2ui64vARB( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2ui64vNV( void *args )
{
    struct glProgramUniform2ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2ui64vNV( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2uiEXT( void *args )
{
    struct glProgramUniform2uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2uiEXT( params->program, params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2uiv( void *args )
{
    struct glProgramUniform2uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2uiv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform2uivEXT( void *args )
{
    struct glProgramUniform2uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform2uivEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3d( void *args )
{
    struct glProgramUniform3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3d( params->program, params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3dEXT( void *args )
{
    struct glProgramUniform3dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3dEXT( params->program, params->location, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3dv( void *args )
{
    struct glProgramUniform3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3dv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3dvEXT( void *args )
{
    struct glProgramUniform3dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3dvEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3f( void *args )
{
    struct glProgramUniform3f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3f( params->program, params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3fEXT( void *args )
{
    struct glProgramUniform3fEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3fEXT( params->program, params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3fv( void *args )
{
    struct glProgramUniform3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3fv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3fvEXT( void *args )
{
    struct glProgramUniform3fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3fvEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3i( void *args )
{
    struct glProgramUniform3i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3i( params->program, params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3i64ARB( void *args )
{
    struct glProgramUniform3i64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3i64ARB( params->program, params->location, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3i64NV( void *args )
{
    struct glProgramUniform3i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3i64NV( params->program, params->location, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3i64vARB( void *args )
{
    struct glProgramUniform3i64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3i64vARB( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3i64vNV( void *args )
{
    struct glProgramUniform3i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3i64vNV( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3iEXT( void *args )
{
    struct glProgramUniform3iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3iEXT( params->program, params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3iv( void *args )
{
    struct glProgramUniform3iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3iv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3ivEXT( void *args )
{
    struct glProgramUniform3ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3ivEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3ui( void *args )
{
    struct glProgramUniform3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3ui( params->program, params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3ui64ARB( void *args )
{
    struct glProgramUniform3ui64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3ui64ARB( params->program, params->location, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3ui64NV( void *args )
{
    struct glProgramUniform3ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3ui64NV( params->program, params->location, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3ui64vARB( void *args )
{
    struct glProgramUniform3ui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3ui64vARB( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3ui64vNV( void *args )
{
    struct glProgramUniform3ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3ui64vNV( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3uiEXT( void *args )
{
    struct glProgramUniform3uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3uiEXT( params->program, params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3uiv( void *args )
{
    struct glProgramUniform3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3uiv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform3uivEXT( void *args )
{
    struct glProgramUniform3uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform3uivEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4d( void *args )
{
    struct glProgramUniform4d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4d( params->program, params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4dEXT( void *args )
{
    struct glProgramUniform4dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4dEXT( params->program, params->location, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4dv( void *args )
{
    struct glProgramUniform4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4dv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4dvEXT( void *args )
{
    struct glProgramUniform4dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4dvEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4f( void *args )
{
    struct glProgramUniform4f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4f( params->program, params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4fEXT( void *args )
{
    struct glProgramUniform4fEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4fEXT( params->program, params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4fv( void *args )
{
    struct glProgramUniform4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4fv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4fvEXT( void *args )
{
    struct glProgramUniform4fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4fvEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4i( void *args )
{
    struct glProgramUniform4i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4i( params->program, params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4i64ARB( void *args )
{
    struct glProgramUniform4i64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4i64ARB( params->program, params->location, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4i64NV( void *args )
{
    struct glProgramUniform4i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4i64NV( params->program, params->location, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4i64vARB( void *args )
{
    struct glProgramUniform4i64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4i64vARB( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4i64vNV( void *args )
{
    struct glProgramUniform4i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4i64vNV( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4iEXT( void *args )
{
    struct glProgramUniform4iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4iEXT( params->program, params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4iv( void *args )
{
    struct glProgramUniform4iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4iv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4ivEXT( void *args )
{
    struct glProgramUniform4ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4ivEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4ui( void *args )
{
    struct glProgramUniform4ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4ui( params->program, params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4ui64ARB( void *args )
{
    struct glProgramUniform4ui64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4ui64ARB( params->program, params->location, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4ui64NV( void *args )
{
    struct glProgramUniform4ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4ui64NV( params->program, params->location, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4ui64vARB( void *args )
{
    struct glProgramUniform4ui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4ui64vARB( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4ui64vNV( void *args )
{
    struct glProgramUniform4ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4ui64vNV( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4uiEXT( void *args )
{
    struct glProgramUniform4uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4uiEXT( params->program, params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4uiv( void *args )
{
    struct glProgramUniform4uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4uiv( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniform4uivEXT( void *args )
{
    struct glProgramUniform4uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniform4uivEXT( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformHandleui64ARB( void *args )
{
    struct glProgramUniformHandleui64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformHandleui64ARB( params->program, params->location, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformHandleui64NV( void *args )
{
    struct glProgramUniformHandleui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformHandleui64NV( params->program, params->location, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformHandleui64vARB( void *args )
{
    struct glProgramUniformHandleui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformHandleui64vARB( params->program, params->location, params->count, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformHandleui64vNV( void *args )
{
    struct glProgramUniformHandleui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformHandleui64vNV( params->program, params->location, params->count, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2dv( void *args )
{
    struct glProgramUniformMatrix2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2dv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2dvEXT( void *args )
{
    struct glProgramUniformMatrix2dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2dvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2fv( void *args )
{
    struct glProgramUniformMatrix2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2fv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2fvEXT( void *args )
{
    struct glProgramUniformMatrix2fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2fvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2x3dv( void *args )
{
    struct glProgramUniformMatrix2x3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2x3dv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2x3dvEXT( void *args )
{
    struct glProgramUniformMatrix2x3dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2x3dvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2x3fv( void *args )
{
    struct glProgramUniformMatrix2x3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2x3fv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2x3fvEXT( void *args )
{
    struct glProgramUniformMatrix2x3fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2x3fvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2x4dv( void *args )
{
    struct glProgramUniformMatrix2x4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2x4dv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2x4dvEXT( void *args )
{
    struct glProgramUniformMatrix2x4dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2x4dvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2x4fv( void *args )
{
    struct glProgramUniformMatrix2x4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2x4fv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix2x4fvEXT( void *args )
{
    struct glProgramUniformMatrix2x4fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix2x4fvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3dv( void *args )
{
    struct glProgramUniformMatrix3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3dv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3dvEXT( void *args )
{
    struct glProgramUniformMatrix3dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3dvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3fv( void *args )
{
    struct glProgramUniformMatrix3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3fv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3fvEXT( void *args )
{
    struct glProgramUniformMatrix3fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3fvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3x2dv( void *args )
{
    struct glProgramUniformMatrix3x2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3x2dv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3x2dvEXT( void *args )
{
    struct glProgramUniformMatrix3x2dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3x2dvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3x2fv( void *args )
{
    struct glProgramUniformMatrix3x2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3x2fv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3x2fvEXT( void *args )
{
    struct glProgramUniformMatrix3x2fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3x2fvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3x4dv( void *args )
{
    struct glProgramUniformMatrix3x4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3x4dv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3x4dvEXT( void *args )
{
    struct glProgramUniformMatrix3x4dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3x4dvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3x4fv( void *args )
{
    struct glProgramUniformMatrix3x4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3x4fv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix3x4fvEXT( void *args )
{
    struct glProgramUniformMatrix3x4fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix3x4fvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4dv( void *args )
{
    struct glProgramUniformMatrix4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4dv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4dvEXT( void *args )
{
    struct glProgramUniformMatrix4dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4dvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4fv( void *args )
{
    struct glProgramUniformMatrix4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4fv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4fvEXT( void *args )
{
    struct glProgramUniformMatrix4fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4fvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4x2dv( void *args )
{
    struct glProgramUniformMatrix4x2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4x2dv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4x2dvEXT( void *args )
{
    struct glProgramUniformMatrix4x2dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4x2dvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4x2fv( void *args )
{
    struct glProgramUniformMatrix4x2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4x2fv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4x2fvEXT( void *args )
{
    struct glProgramUniformMatrix4x2fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4x2fvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4x3dv( void *args )
{
    struct glProgramUniformMatrix4x3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4x3dv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4x3dvEXT( void *args )
{
    struct glProgramUniformMatrix4x3dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4x3dvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4x3fv( void *args )
{
    struct glProgramUniformMatrix4x3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4x3fv( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformMatrix4x3fvEXT( void *args )
{
    struct glProgramUniformMatrix4x3fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformMatrix4x3fvEXT( params->program, params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformui64NV( void *args )
{
    struct glProgramUniformui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformui64NV( params->program, params->location, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramUniformui64vNV( void *args )
{
    struct glProgramUniformui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramUniformui64vNV( params->program, params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProgramVertexLimitNV( void *args )
{
    struct glProgramVertexLimitNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProgramVertexLimitNV( params->target, params->limit );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProvokingVertex( void *args )
{
    struct glProvokingVertex_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProvokingVertex( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glProvokingVertexEXT( void *args )
{
    struct glProvokingVertexEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glProvokingVertexEXT( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPushClientAttribDefaultEXT( void *args )
{
    struct glPushClientAttribDefaultEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPushClientAttribDefaultEXT( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPushDebugGroup( void *args )
{
    struct glPushDebugGroup_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPushDebugGroup( params->source, params->id, params->length, params->message );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glPushGroupMarkerEXT( void *args )
{
    struct glPushGroupMarkerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glPushGroupMarkerEXT( params->length, params->marker );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glQueryCounter( void *args )
{
    struct glQueryCounter_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glQueryCounter( params->id, params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glQueryMatrixxOES( void *args )
{
    struct glQueryMatrixxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glQueryMatrixxOES( params->mantissa, params->exponent );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glQueryObjectParameteruiAMD( void *args )
{
    struct glQueryObjectParameteruiAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glQueryObjectParameteruiAMD( params->target, params->id, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glQueryResourceNV( void *args )
{
    struct glQueryResourceNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glQueryResourceNV( params->queryType, params->tagId, params->count, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glQueryResourceTagNV( void *args )
{
    struct glQueryResourceTagNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glQueryResourceTagNV( params->tagId, params->tagString );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRasterPos2xOES( void *args )
{
    struct glRasterPos2xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRasterPos2xOES( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRasterPos2xvOES( void *args )
{
    struct glRasterPos2xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRasterPos2xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRasterPos3xOES( void *args )
{
    struct glRasterPos3xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRasterPos3xOES( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRasterPos3xvOES( void *args )
{
    struct glRasterPos3xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRasterPos3xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRasterPos4xOES( void *args )
{
    struct glRasterPos4xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRasterPos4xOES( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRasterPos4xvOES( void *args )
{
    struct glRasterPos4xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRasterPos4xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRasterSamplesEXT( void *args )
{
    struct glRasterSamplesEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRasterSamplesEXT( params->samples, params->fixedsamplelocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReadBufferRegion( void *args )
{
    struct glReadBufferRegion_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReadBufferRegion( params->region, params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReadInstrumentsSGIX( void *args )
{
    struct glReadInstrumentsSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReadInstrumentsSGIX( params->marker );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReadnPixels( void *args )
{
    struct glReadnPixels_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReadnPixels( params->x, params->y, params->width, params->height, params->format, params->type, params->bufSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReadnPixelsARB( void *args )
{
    struct glReadnPixelsARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReadnPixelsARB( params->x, params->y, params->width, params->height, params->format, params->type, params->bufSize, params->data );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRectxOES( void *args )
{
    struct glRectxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRectxOES( params->x1, params->y1, params->x2, params->y2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRectxvOES( void *args )
{
    struct glRectxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRectxvOES( params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReferencePlaneSGIX( void *args )
{
    struct glReferencePlaneSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReferencePlaneSGIX( params->equation );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReleaseKeyedMutexWin32EXT( void *args )
{
    struct glReleaseKeyedMutexWin32EXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glReleaseKeyedMutexWin32EXT( params->memory, params->key );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReleaseShaderCompiler( void *args )
{
    struct glReleaseShaderCompiler_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReleaseShaderCompiler();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRenderGpuMaskNV( void *args )
{
    struct glRenderGpuMaskNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRenderGpuMaskNV( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRenderbufferStorage( void *args )
{
    struct glRenderbufferStorage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRenderbufferStorage( params->target, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRenderbufferStorageEXT( void *args )
{
    struct glRenderbufferStorageEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRenderbufferStorageEXT( params->target, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRenderbufferStorageMultisample( void *args )
{
    struct glRenderbufferStorageMultisample_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRenderbufferStorageMultisample( params->target, params->samples, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRenderbufferStorageMultisampleAdvancedAMD( void *args )
{
    struct glRenderbufferStorageMultisampleAdvancedAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRenderbufferStorageMultisampleAdvancedAMD( params->target, params->samples, params->storageSamples, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRenderbufferStorageMultisampleCoverageNV( void *args )
{
    struct glRenderbufferStorageMultisampleCoverageNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRenderbufferStorageMultisampleCoverageNV( params->target, params->coverageSamples, params->colorSamples, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRenderbufferStorageMultisampleEXT( void *args )
{
    struct glRenderbufferStorageMultisampleEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRenderbufferStorageMultisampleEXT( params->target, params->samples, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodePointerSUN( void *args )
{
    struct glReplacementCodePointerSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodePointerSUN( params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeubSUN( void *args )
{
    struct glReplacementCodeubSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeubSUN( params->code );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeubvSUN( void *args )
{
    struct glReplacementCodeubvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeubvSUN( params->code );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiColor3fVertex3fSUN( void *args )
{
    struct glReplacementCodeuiColor3fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiColor3fVertex3fSUN( params->rc, params->r, params->g, params->b, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiColor3fVertex3fvSUN( void *args )
{
    struct glReplacementCodeuiColor3fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiColor3fVertex3fvSUN( params->rc, params->c, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiColor4fNormal3fVertex3fSUN( void *args )
{
    struct glReplacementCodeuiColor4fNormal3fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiColor4fNormal3fVertex3fSUN( params->rc, params->r, params->g, params->b, params->a, params->nx, params->ny, params->nz, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiColor4fNormal3fVertex3fvSUN( void *args )
{
    struct glReplacementCodeuiColor4fNormal3fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiColor4fNormal3fVertex3fvSUN( params->rc, params->c, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiColor4ubVertex3fSUN( void *args )
{
    struct glReplacementCodeuiColor4ubVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiColor4ubVertex3fSUN( params->rc, params->r, params->g, params->b, params->a, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiColor4ubVertex3fvSUN( void *args )
{
    struct glReplacementCodeuiColor4ubVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiColor4ubVertex3fvSUN( params->rc, params->c, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiNormal3fVertex3fSUN( void *args )
{
    struct glReplacementCodeuiNormal3fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiNormal3fVertex3fSUN( params->rc, params->nx, params->ny, params->nz, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiNormal3fVertex3fvSUN( void *args )
{
    struct glReplacementCodeuiNormal3fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiNormal3fVertex3fvSUN( params->rc, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiSUN( void *args )
{
    struct glReplacementCodeuiSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiSUN( params->code );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN( void *args )
{
    struct glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN( params->rc, params->s, params->t, params->r, params->g, params->b, params->a, params->nx, params->ny, params->nz, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN( void *args )
{
    struct glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN( params->rc, params->tc, params->c, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN( void *args )
{
    struct glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN( params->rc, params->s, params->t, params->nx, params->ny, params->nz, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN( void *args )
{
    struct glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN( params->rc, params->tc, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiTexCoord2fVertex3fSUN( void *args )
{
    struct glReplacementCodeuiTexCoord2fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiTexCoord2fVertex3fSUN( params->rc, params->s, params->t, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiTexCoord2fVertex3fvSUN( void *args )
{
    struct glReplacementCodeuiTexCoord2fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiTexCoord2fVertex3fvSUN( params->rc, params->tc, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiVertex3fSUN( void *args )
{
    struct glReplacementCodeuiVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiVertex3fSUN( params->rc, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuiVertex3fvSUN( void *args )
{
    struct glReplacementCodeuiVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuiVertex3fvSUN( params->rc, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeuivSUN( void *args )
{
    struct glReplacementCodeuivSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeuivSUN( params->code );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeusSUN( void *args )
{
    struct glReplacementCodeusSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeusSUN( params->code );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glReplacementCodeusvSUN( void *args )
{
    struct glReplacementCodeusvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glReplacementCodeusvSUN( params->code );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRequestResidentProgramsNV( void *args )
{
    struct glRequestResidentProgramsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRequestResidentProgramsNV( params->n, params->programs );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glResetHistogram( void *args )
{
    struct glResetHistogram_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glResetHistogram( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glResetHistogramEXT( void *args )
{
    struct glResetHistogramEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glResetHistogramEXT( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glResetMemoryObjectParameterNV( void *args )
{
    struct glResetMemoryObjectParameterNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glResetMemoryObjectParameterNV( params->memory, params->pname );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glResetMinmax( void *args )
{
    struct glResetMinmax_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glResetMinmax( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glResetMinmaxEXT( void *args )
{
    struct glResetMinmaxEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glResetMinmaxEXT( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glResizeBuffersMESA( void *args )
{
    struct glResizeBuffersMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glResizeBuffersMESA();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glResolveDepthValuesNV( void *args )
{
    struct glResolveDepthValuesNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glResolveDepthValuesNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glResumeTransformFeedback( void *args )
{
    struct glResumeTransformFeedback_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glResumeTransformFeedback();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glResumeTransformFeedbackNV( void *args )
{
    struct glResumeTransformFeedbackNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glResumeTransformFeedbackNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glRotatexOES( void *args )
{
    struct glRotatexOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glRotatexOES( params->angle, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSampleCoverage( void *args )
{
    struct glSampleCoverage_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSampleCoverage( params->value, params->invert );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSampleCoverageARB( void *args )
{
    struct glSampleCoverageARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSampleCoverageARB( params->value, params->invert );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSampleMapATI( void *args )
{
    struct glSampleMapATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSampleMapATI( params->dst, params->interp, params->swizzle );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSampleMaskEXT( void *args )
{
    struct glSampleMaskEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSampleMaskEXT( params->value, params->invert );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSampleMaskIndexedNV( void *args )
{
    struct glSampleMaskIndexedNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSampleMaskIndexedNV( params->index, params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSampleMaskSGIS( void *args )
{
    struct glSampleMaskSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSampleMaskSGIS( params->value, params->invert );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSampleMaski( void *args )
{
    struct glSampleMaski_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSampleMaski( params->maskNumber, params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSamplePatternEXT( void *args )
{
    struct glSamplePatternEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSamplePatternEXT( params->pattern );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSamplePatternSGIS( void *args )
{
    struct glSamplePatternSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSamplePatternSGIS( params->pattern );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSamplerParameterIiv( void *args )
{
    struct glSamplerParameterIiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSamplerParameterIiv( params->sampler, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSamplerParameterIuiv( void *args )
{
    struct glSamplerParameterIuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSamplerParameterIuiv( params->sampler, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSamplerParameterf( void *args )
{
    struct glSamplerParameterf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSamplerParameterf( params->sampler, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSamplerParameterfv( void *args )
{
    struct glSamplerParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSamplerParameterfv( params->sampler, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSamplerParameteri( void *args )
{
    struct glSamplerParameteri_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSamplerParameteri( params->sampler, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSamplerParameteriv( void *args )
{
    struct glSamplerParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSamplerParameteriv( params->sampler, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glScalexOES( void *args )
{
    struct glScalexOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glScalexOES( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glScissorArrayv( void *args )
{
    struct glScissorArrayv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glScissorArrayv( params->first, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glScissorExclusiveArrayvNV( void *args )
{
    struct glScissorExclusiveArrayvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glScissorExclusiveArrayvNV( params->first, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glScissorExclusiveNV( void *args )
{
    struct glScissorExclusiveNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glScissorExclusiveNV( params->x, params->y, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glScissorIndexed( void *args )
{
    struct glScissorIndexed_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glScissorIndexed( params->index, params->left, params->bottom, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glScissorIndexedv( void *args )
{
    struct glScissorIndexedv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glScissorIndexedv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3b( void *args )
{
    struct glSecondaryColor3b_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3b( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3bEXT( void *args )
{
    struct glSecondaryColor3bEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3bEXT( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3bv( void *args )
{
    struct glSecondaryColor3bv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3bv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3bvEXT( void *args )
{
    struct glSecondaryColor3bvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3bvEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3d( void *args )
{
    struct glSecondaryColor3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3d( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3dEXT( void *args )
{
    struct glSecondaryColor3dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3dEXT( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3dv( void *args )
{
    struct glSecondaryColor3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3dvEXT( void *args )
{
    struct glSecondaryColor3dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3dvEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3f( void *args )
{
    struct glSecondaryColor3f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3f( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3fEXT( void *args )
{
    struct glSecondaryColor3fEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3fEXT( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3fv( void *args )
{
    struct glSecondaryColor3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3fvEXT( void *args )
{
    struct glSecondaryColor3fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3fvEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3hNV( void *args )
{
    struct glSecondaryColor3hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3hNV( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3hvNV( void *args )
{
    struct glSecondaryColor3hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3hvNV( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3i( void *args )
{
    struct glSecondaryColor3i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3i( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3iEXT( void *args )
{
    struct glSecondaryColor3iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3iEXT( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3iv( void *args )
{
    struct glSecondaryColor3iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3ivEXT( void *args )
{
    struct glSecondaryColor3ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3ivEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3s( void *args )
{
    struct glSecondaryColor3s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3s( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3sEXT( void *args )
{
    struct glSecondaryColor3sEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3sEXT( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3sv( void *args )
{
    struct glSecondaryColor3sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3svEXT( void *args )
{
    struct glSecondaryColor3svEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3svEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3ub( void *args )
{
    struct glSecondaryColor3ub_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3ub( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3ubEXT( void *args )
{
    struct glSecondaryColor3ubEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3ubEXT( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3ubv( void *args )
{
    struct glSecondaryColor3ubv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3ubv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3ubvEXT( void *args )
{
    struct glSecondaryColor3ubvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3ubvEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3ui( void *args )
{
    struct glSecondaryColor3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3ui( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3uiEXT( void *args )
{
    struct glSecondaryColor3uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3uiEXT( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3uiv( void *args )
{
    struct glSecondaryColor3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3uiv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3uivEXT( void *args )
{
    struct glSecondaryColor3uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3uivEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3us( void *args )
{
    struct glSecondaryColor3us_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3us( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3usEXT( void *args )
{
    struct glSecondaryColor3usEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3usEXT( params->red, params->green, params->blue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3usv( void *args )
{
    struct glSecondaryColor3usv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3usv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColor3usvEXT( void *args )
{
    struct glSecondaryColor3usvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColor3usvEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColorFormatNV( void *args )
{
    struct glSecondaryColorFormatNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColorFormatNV( params->size, params->type, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColorP3ui( void *args )
{
    struct glSecondaryColorP3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColorP3ui( params->type, params->color );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColorP3uiv( void *args )
{
    struct glSecondaryColorP3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColorP3uiv( params->type, params->color );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColorPointer( void *args )
{
    struct glSecondaryColorPointer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColorPointer( params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColorPointerEXT( void *args )
{
    struct glSecondaryColorPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColorPointerEXT( params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSecondaryColorPointerListIBM( void *args )
{
    struct glSecondaryColorPointerListIBM_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSecondaryColorPointerListIBM( params->size, params->type, params->stride, params->pointer, params->ptrstride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSelectPerfMonitorCountersAMD( void *args )
{
    struct glSelectPerfMonitorCountersAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSelectPerfMonitorCountersAMD( params->monitor, params->enable, params->group, params->numCounters, params->counterList );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSelectTextureCoordSetSGIS( void *args )
{
    struct glSelectTextureCoordSetSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSelectTextureCoordSetSGIS( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSelectTextureSGIS( void *args )
{
    struct glSelectTextureSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSelectTextureSGIS( params->target );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSemaphoreParameterui64vEXT( void *args )
{
    struct glSemaphoreParameterui64vEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSemaphoreParameterui64vEXT( params->semaphore, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSeparableFilter2D( void *args )
{
    struct glSeparableFilter2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSeparableFilter2D( params->target, params->internalformat, params->width, params->height, params->format, params->type, params->row, params->column );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSeparableFilter2DEXT( void *args )
{
    struct glSeparableFilter2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSeparableFilter2DEXT( params->target, params->internalformat, params->width, params->height, params->format, params->type, params->row, params->column );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSetFenceAPPLE( void *args )
{
    struct glSetFenceAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSetFenceAPPLE( params->fence );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSetFenceNV( void *args )
{
    struct glSetFenceNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSetFenceNV( params->fence, params->condition );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSetFragmentShaderConstantATI( void *args )
{
    struct glSetFragmentShaderConstantATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSetFragmentShaderConstantATI( params->dst, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSetInvariantEXT( void *args )
{
    struct glSetInvariantEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSetInvariantEXT( params->id, params->type, params->addr );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSetLocalConstantEXT( void *args )
{
    struct glSetLocalConstantEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSetLocalConstantEXT( params->id, params->type, params->addr );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSetMultisamplefvAMD( void *args )
{
    struct glSetMultisamplefvAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSetMultisamplefvAMD( params->pname, params->index, params->val );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glShaderBinary( void *args )
{
    struct glShaderBinary_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glShaderBinary( params->count, params->shaders, params->binaryformat, params->binary, params->length );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glShaderOp1EXT( void *args )
{
    struct glShaderOp1EXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glShaderOp1EXT( params->op, params->res, params->arg1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glShaderOp2EXT( void *args )
{
    struct glShaderOp2EXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glShaderOp2EXT( params->op, params->res, params->arg1, params->arg2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glShaderOp3EXT( void *args )
{
    struct glShaderOp3EXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glShaderOp3EXT( params->op, params->res, params->arg1, params->arg2, params->arg3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glShaderSource( void *args )
{
    struct glShaderSource_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glShaderSource( params->shader, params->count, params->string, params->length );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glShaderSourceARB( void *args )
{
    struct glShaderSourceARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glShaderSourceARB( params->shaderObj, params->count, params->string, params->length );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glShaderStorageBlockBinding( void *args )
{
    struct glShaderStorageBlockBinding_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glShaderStorageBlockBinding( params->program, params->storageBlockIndex, params->storageBlockBinding );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glShadingRateImageBarrierNV( void *args )
{
    struct glShadingRateImageBarrierNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glShadingRateImageBarrierNV( params->synchronize );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glShadingRateImagePaletteNV( void *args )
{
    struct glShadingRateImagePaletteNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glShadingRateImagePaletteNV( params->viewport, params->first, params->count, params->rates );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glShadingRateSampleOrderCustomNV( void *args )
{
    struct glShadingRateSampleOrderCustomNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glShadingRateSampleOrderCustomNV( params->rate, params->samples, params->locations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glShadingRateSampleOrderNV( void *args )
{
    struct glShadingRateSampleOrderNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glShadingRateSampleOrderNV( params->order );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSharpenTexFuncSGIS( void *args )
{
    struct glSharpenTexFuncSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSharpenTexFuncSGIS( params->target, params->n, params->points );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSignalSemaphoreEXT( void *args )
{
    struct glSignalSemaphoreEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSignalSemaphoreEXT( params->semaphore, params->numBufferBarriers, params->buffers, params->numTextureBarriers, params->textures, params->dstLayouts );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSignalSemaphoreui64NVX( void *args )
{
    struct glSignalSemaphoreui64NVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSignalSemaphoreui64NVX( params->signalGpu, params->fenceObjectCount, params->semaphoreArray, params->fenceValueArray );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSignalVkFenceNV( void *args )
{
    struct glSignalVkFenceNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSignalVkFenceNV( params->vkFence );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSignalVkSemaphoreNV( void *args )
{
    struct glSignalVkSemaphoreNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSignalVkSemaphoreNV( params->vkSemaphore );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSpecializeShader( void *args )
{
    struct glSpecializeShader_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSpecializeShader( params->shader, params->pEntryPoint, params->numSpecializationConstants, params->pConstantIndex, params->pConstantValue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSpecializeShaderARB( void *args )
{
    struct glSpecializeShaderARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSpecializeShaderARB( params->shader, params->pEntryPoint, params->numSpecializationConstants, params->pConstantIndex, params->pConstantValue );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSpriteParameterfSGIX( void *args )
{
    struct glSpriteParameterfSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSpriteParameterfSGIX( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSpriteParameterfvSGIX( void *args )
{
    struct glSpriteParameterfvSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSpriteParameterfvSGIX( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSpriteParameteriSGIX( void *args )
{
    struct glSpriteParameteriSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSpriteParameteriSGIX( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSpriteParameterivSGIX( void *args )
{
    struct glSpriteParameterivSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSpriteParameterivSGIX( params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStartInstrumentsSGIX( void *args )
{
    struct glStartInstrumentsSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStartInstrumentsSGIX();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStateCaptureNV( void *args )
{
    struct glStateCaptureNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStateCaptureNV( params->state, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilClearTagEXT( void *args )
{
    struct glStencilClearTagEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilClearTagEXT( params->stencilTagBits, params->stencilClearTag );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilFillPathInstancedNV( void *args )
{
    struct glStencilFillPathInstancedNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilFillPathInstancedNV( params->numPaths, params->pathNameType, params->paths, params->pathBase, params->fillMode, params->mask, params->transformType, params->transformValues );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilFillPathNV( void *args )
{
    struct glStencilFillPathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilFillPathNV( params->path, params->fillMode, params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilFuncSeparate( void *args )
{
    struct glStencilFuncSeparate_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilFuncSeparate( params->face, params->func, params->ref, params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilFuncSeparateATI( void *args )
{
    struct glStencilFuncSeparateATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilFuncSeparateATI( params->frontfunc, params->backfunc, params->ref, params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilMaskSeparate( void *args )
{
    struct glStencilMaskSeparate_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilMaskSeparate( params->face, params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilOpSeparate( void *args )
{
    struct glStencilOpSeparate_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilOpSeparate( params->face, params->sfail, params->dpfail, params->dppass );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilOpSeparateATI( void *args )
{
    struct glStencilOpSeparateATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilOpSeparateATI( params->face, params->sfail, params->dpfail, params->dppass );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilOpValueAMD( void *args )
{
    struct glStencilOpValueAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilOpValueAMD( params->face, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilStrokePathInstancedNV( void *args )
{
    struct glStencilStrokePathInstancedNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilStrokePathInstancedNV( params->numPaths, params->pathNameType, params->paths, params->pathBase, params->reference, params->mask, params->transformType, params->transformValues );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilStrokePathNV( void *args )
{
    struct glStencilStrokePathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilStrokePathNV( params->path, params->reference, params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilThenCoverFillPathInstancedNV( void *args )
{
    struct glStencilThenCoverFillPathInstancedNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilThenCoverFillPathInstancedNV( params->numPaths, params->pathNameType, params->paths, params->pathBase, params->fillMode, params->mask, params->coverMode, params->transformType, params->transformValues );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilThenCoverFillPathNV( void *args )
{
    struct glStencilThenCoverFillPathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilThenCoverFillPathNV( params->path, params->fillMode, params->mask, params->coverMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilThenCoverStrokePathInstancedNV( void *args )
{
    struct glStencilThenCoverStrokePathInstancedNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilThenCoverStrokePathInstancedNV( params->numPaths, params->pathNameType, params->paths, params->pathBase, params->reference, params->mask, params->coverMode, params->transformType, params->transformValues );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStencilThenCoverStrokePathNV( void *args )
{
    struct glStencilThenCoverStrokePathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStencilThenCoverStrokePathNV( params->path, params->reference, params->mask, params->coverMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStopInstrumentsSGIX( void *args )
{
    struct glStopInstrumentsSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStopInstrumentsSGIX( params->marker );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glStringMarkerGREMEDY( void *args )
{
    struct glStringMarkerGREMEDY_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glStringMarkerGREMEDY( params->len, params->string );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSubpixelPrecisionBiasNV( void *args )
{
    struct glSubpixelPrecisionBiasNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSubpixelPrecisionBiasNV( params->xbits, params->ybits );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSwizzleEXT( void *args )
{
    struct glSwizzleEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSwizzleEXT( params->res, params->in, params->outX, params->outY, params->outZ, params->outW );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glSyncTextureINTEL( void *args )
{
    struct glSyncTextureINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glSyncTextureINTEL( params->texture );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTagSampleBufferSGIX( void *args )
{
    struct glTagSampleBufferSGIX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTagSampleBufferSGIX();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTangent3bEXT( void *args )
{
    struct glTangent3bEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTangent3bEXT( params->tx, params->ty, params->tz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTangent3bvEXT( void *args )
{
    struct glTangent3bvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTangent3bvEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTangent3dEXT( void *args )
{
    struct glTangent3dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTangent3dEXT( params->tx, params->ty, params->tz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTangent3dvEXT( void *args )
{
    struct glTangent3dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTangent3dvEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTangent3fEXT( void *args )
{
    struct glTangent3fEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTangent3fEXT( params->tx, params->ty, params->tz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTangent3fvEXT( void *args )
{
    struct glTangent3fvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTangent3fvEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTangent3iEXT( void *args )
{
    struct glTangent3iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTangent3iEXT( params->tx, params->ty, params->tz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTangent3ivEXT( void *args )
{
    struct glTangent3ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTangent3ivEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTangent3sEXT( void *args )
{
    struct glTangent3sEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTangent3sEXT( params->tx, params->ty, params->tz );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTangent3svEXT( void *args )
{
    struct glTangent3svEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTangent3svEXT( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTangentPointerEXT( void *args )
{
    struct glTangentPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTangentPointerEXT( params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTbufferMask3DFX( void *args )
{
    struct glTbufferMask3DFX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTbufferMask3DFX( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTessellationFactorAMD( void *args )
{
    struct glTessellationFactorAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTessellationFactorAMD( params->factor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTessellationModeAMD( void *args )
{
    struct glTessellationModeAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTessellationModeAMD( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTestFenceAPPLE( void *args )
{
    struct glTestFenceAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glTestFenceAPPLE( params->fence );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTestFenceNV( void *args )
{
    struct glTestFenceNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glTestFenceNV( params->fence );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTestObjectAPPLE( void *args )
{
    struct glTestObjectAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glTestObjectAPPLE( params->object, params->name );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexAttachMemoryNV( void *args )
{
    struct glTexAttachMemoryNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexAttachMemoryNV( params->target, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexBuffer( void *args )
{
    struct glTexBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexBuffer( params->target, params->internalformat, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexBufferARB( void *args )
{
    struct glTexBufferARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexBufferARB( params->target, params->internalformat, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexBufferEXT( void *args )
{
    struct glTexBufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexBufferEXT( params->target, params->internalformat, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexBufferRange( void *args )
{
    struct glTexBufferRange_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexBufferRange( params->target, params->internalformat, params->buffer, params->offset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexBumpParameterfvATI( void *args )
{
    struct glTexBumpParameterfvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexBumpParameterfvATI( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexBumpParameterivATI( void *args )
{
    struct glTexBumpParameterivATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexBumpParameterivATI( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord1bOES( void *args )
{
    struct glTexCoord1bOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord1bOES( params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord1bvOES( void *args )
{
    struct glTexCoord1bvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord1bvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord1hNV( void *args )
{
    struct glTexCoord1hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord1hNV( params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord1hvNV( void *args )
{
    struct glTexCoord1hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord1hvNV( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord1xOES( void *args )
{
    struct glTexCoord1xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord1xOES( params->s );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord1xvOES( void *args )
{
    struct glTexCoord1xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord1xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2bOES( void *args )
{
    struct glTexCoord2bOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2bOES( params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2bvOES( void *args )
{
    struct glTexCoord2bvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2bvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2fColor3fVertex3fSUN( void *args )
{
    struct glTexCoord2fColor3fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2fColor3fVertex3fSUN( params->s, params->t, params->r, params->g, params->b, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2fColor3fVertex3fvSUN( void *args )
{
    struct glTexCoord2fColor3fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2fColor3fVertex3fvSUN( params->tc, params->c, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2fColor4fNormal3fVertex3fSUN( void *args )
{
    struct glTexCoord2fColor4fNormal3fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2fColor4fNormal3fVertex3fSUN( params->s, params->t, params->r, params->g, params->b, params->a, params->nx, params->ny, params->nz, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2fColor4fNormal3fVertex3fvSUN( void *args )
{
    struct glTexCoord2fColor4fNormal3fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2fColor4fNormal3fVertex3fvSUN( params->tc, params->c, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2fColor4ubVertex3fSUN( void *args )
{
    struct glTexCoord2fColor4ubVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2fColor4ubVertex3fSUN( params->s, params->t, params->r, params->g, params->b, params->a, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2fColor4ubVertex3fvSUN( void *args )
{
    struct glTexCoord2fColor4ubVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2fColor4ubVertex3fvSUN( params->tc, params->c, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2fNormal3fVertex3fSUN( void *args )
{
    struct glTexCoord2fNormal3fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2fNormal3fVertex3fSUN( params->s, params->t, params->nx, params->ny, params->nz, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2fNormal3fVertex3fvSUN( void *args )
{
    struct glTexCoord2fNormal3fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2fNormal3fVertex3fvSUN( params->tc, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2fVertex3fSUN( void *args )
{
    struct glTexCoord2fVertex3fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2fVertex3fSUN( params->s, params->t, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2fVertex3fvSUN( void *args )
{
    struct glTexCoord2fVertex3fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2fVertex3fvSUN( params->tc, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2hNV( void *args )
{
    struct glTexCoord2hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2hNV( params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2hvNV( void *args )
{
    struct glTexCoord2hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2hvNV( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2xOES( void *args )
{
    struct glTexCoord2xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2xOES( params->s, params->t );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord2xvOES( void *args )
{
    struct glTexCoord2xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord2xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord3bOES( void *args )
{
    struct glTexCoord3bOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord3bOES( params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord3bvOES( void *args )
{
    struct glTexCoord3bvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord3bvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord3hNV( void *args )
{
    struct glTexCoord3hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord3hNV( params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord3hvNV( void *args )
{
    struct glTexCoord3hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord3hvNV( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord3xOES( void *args )
{
    struct glTexCoord3xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord3xOES( params->s, params->t, params->r );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord3xvOES( void *args )
{
    struct glTexCoord3xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord3xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord4bOES( void *args )
{
    struct glTexCoord4bOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord4bOES( params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord4bvOES( void *args )
{
    struct glTexCoord4bvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord4bvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord4fColor4fNormal3fVertex4fSUN( void *args )
{
    struct glTexCoord4fColor4fNormal3fVertex4fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord4fColor4fNormal3fVertex4fSUN( params->s, params->t, params->p, params->q, params->r, params->g, params->b, params->a, params->nx, params->ny, params->nz, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord4fColor4fNormal3fVertex4fvSUN( void *args )
{
    struct glTexCoord4fColor4fNormal3fVertex4fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord4fColor4fNormal3fVertex4fvSUN( params->tc, params->c, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord4fVertex4fSUN( void *args )
{
    struct glTexCoord4fVertex4fSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord4fVertex4fSUN( params->s, params->t, params->p, params->q, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord4fVertex4fvSUN( void *args )
{
    struct glTexCoord4fVertex4fvSUN_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord4fVertex4fvSUN( params->tc, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord4hNV( void *args )
{
    struct glTexCoord4hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord4hNV( params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord4hvNV( void *args )
{
    struct glTexCoord4hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord4hvNV( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord4xOES( void *args )
{
    struct glTexCoord4xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord4xOES( params->s, params->t, params->r, params->q );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoord4xvOES( void *args )
{
    struct glTexCoord4xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoord4xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordFormatNV( void *args )
{
    struct glTexCoordFormatNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordFormatNV( params->size, params->type, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordP1ui( void *args )
{
    struct glTexCoordP1ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordP1ui( params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordP1uiv( void *args )
{
    struct glTexCoordP1uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordP1uiv( params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordP2ui( void *args )
{
    struct glTexCoordP2ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordP2ui( params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordP2uiv( void *args )
{
    struct glTexCoordP2uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordP2uiv( params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordP3ui( void *args )
{
    struct glTexCoordP3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordP3ui( params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordP3uiv( void *args )
{
    struct glTexCoordP3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordP3uiv( params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordP4ui( void *args )
{
    struct glTexCoordP4ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordP4ui( params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordP4uiv( void *args )
{
    struct glTexCoordP4uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordP4uiv( params->type, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordPointerEXT( void *args )
{
    struct glTexCoordPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordPointerEXT( params->size, params->type, params->stride, params->count, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordPointerListIBM( void *args )
{
    struct glTexCoordPointerListIBM_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordPointerListIBM( params->size, params->type, params->stride, params->pointer, params->ptrstride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexCoordPointervINTEL( void *args )
{
    struct glTexCoordPointervINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexCoordPointervINTEL( params->size, params->type, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexEnvxOES( void *args )
{
    struct glTexEnvxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexEnvxOES( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexEnvxvOES( void *args )
{
    struct glTexEnvxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexEnvxvOES( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexFilterFuncSGIS( void *args )
{
    struct glTexFilterFuncSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexFilterFuncSGIS( params->target, params->filter, params->n, params->weights );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexGenxOES( void *args )
{
    struct glTexGenxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexGenxOES( params->coord, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexGenxvOES( void *args )
{
    struct glTexGenxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexGenxvOES( params->coord, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexImage2DMultisample( void *args )
{
    struct glTexImage2DMultisample_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexImage2DMultisample( params->target, params->samples, params->internalformat, params->width, params->height, params->fixedsamplelocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexImage2DMultisampleCoverageNV( void *args )
{
    struct glTexImage2DMultisampleCoverageNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexImage2DMultisampleCoverageNV( params->target, params->coverageSamples, params->colorSamples, params->internalFormat, params->width, params->height, params->fixedSampleLocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexImage3D( void *args )
{
    struct glTexImage3D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexImage3D( params->target, params->level, params->internalformat, params->width, params->height, params->depth, params->border, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexImage3DEXT( void *args )
{
    struct glTexImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexImage3DEXT( params->target, params->level, params->internalformat, params->width, params->height, params->depth, params->border, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexImage3DMultisample( void *args )
{
    struct glTexImage3DMultisample_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexImage3DMultisample( params->target, params->samples, params->internalformat, params->width, params->height, params->depth, params->fixedsamplelocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexImage3DMultisampleCoverageNV( void *args )
{
    struct glTexImage3DMultisampleCoverageNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexImage3DMultisampleCoverageNV( params->target, params->coverageSamples, params->colorSamples, params->internalFormat, params->width, params->height, params->depth, params->fixedSampleLocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexImage4DSGIS( void *args )
{
    struct glTexImage4DSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexImage4DSGIS( params->target, params->level, params->internalformat, params->width, params->height, params->depth, params->size4d, params->border, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexPageCommitmentARB( void *args )
{
    struct glTexPageCommitmentARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexPageCommitmentARB( params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->commit );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexParameterIiv( void *args )
{
    struct glTexParameterIiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexParameterIiv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexParameterIivEXT( void *args )
{
    struct glTexParameterIivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexParameterIivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexParameterIuiv( void *args )
{
    struct glTexParameterIuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexParameterIuiv( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexParameterIuivEXT( void *args )
{
    struct glTexParameterIuivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexParameterIuivEXT( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexParameterxOES( void *args )
{
    struct glTexParameterxOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexParameterxOES( params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexParameterxvOES( void *args )
{
    struct glTexParameterxvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexParameterxvOES( params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexRenderbufferNV( void *args )
{
    struct glTexRenderbufferNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexRenderbufferNV( params->target, params->renderbuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexStorage1D( void *args )
{
    struct glTexStorage1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexStorage1D( params->target, params->levels, params->internalformat, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexStorage2D( void *args )
{
    struct glTexStorage2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexStorage2D( params->target, params->levels, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexStorage2DMultisample( void *args )
{
    struct glTexStorage2DMultisample_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexStorage2DMultisample( params->target, params->samples, params->internalformat, params->width, params->height, params->fixedsamplelocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexStorage3D( void *args )
{
    struct glTexStorage3D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexStorage3D( params->target, params->levels, params->internalformat, params->width, params->height, params->depth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexStorage3DMultisample( void *args )
{
    struct glTexStorage3DMultisample_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexStorage3DMultisample( params->target, params->samples, params->internalformat, params->width, params->height, params->depth, params->fixedsamplelocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexStorageMem1DEXT( void *args )
{
    struct glTexStorageMem1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexStorageMem1DEXT( params->target, params->levels, params->internalFormat, params->width, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexStorageMem2DEXT( void *args )
{
    struct glTexStorageMem2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexStorageMem2DEXT( params->target, params->levels, params->internalFormat, params->width, params->height, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexStorageMem2DMultisampleEXT( void *args )
{
    struct glTexStorageMem2DMultisampleEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexStorageMem2DMultisampleEXT( params->target, params->samples, params->internalFormat, params->width, params->height, params->fixedSampleLocations, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexStorageMem3DEXT( void *args )
{
    struct glTexStorageMem3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexStorageMem3DEXT( params->target, params->levels, params->internalFormat, params->width, params->height, params->depth, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexStorageMem3DMultisampleEXT( void *args )
{
    struct glTexStorageMem3DMultisampleEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexStorageMem3DMultisampleEXT( params->target, params->samples, params->internalFormat, params->width, params->height, params->depth, params->fixedSampleLocations, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexStorageSparseAMD( void *args )
{
    struct glTexStorageSparseAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexStorageSparseAMD( params->target, params->internalFormat, params->width, params->height, params->depth, params->layers, params->flags );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexSubImage1DEXT( void *args )
{
    struct glTexSubImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexSubImage1DEXT( params->target, params->level, params->xoffset, params->width, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexSubImage2DEXT( void *args )
{
    struct glTexSubImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexSubImage2DEXT( params->target, params->level, params->xoffset, params->yoffset, params->width, params->height, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexSubImage3D( void *args )
{
    struct glTexSubImage3D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexSubImage3D( params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexSubImage3DEXT( void *args )
{
    struct glTexSubImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexSubImage3DEXT( params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexSubImage4DSGIS( void *args )
{
    struct glTexSubImage4DSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexSubImage4DSGIS( params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->woffset, params->width, params->height, params->depth, params->size4d, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureAttachMemoryNV( void *args )
{
    struct glTextureAttachMemoryNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureAttachMemoryNV( params->texture, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureBarrier( void *args )
{
    struct glTextureBarrier_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureBarrier();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureBarrierNV( void *args )
{
    struct glTextureBarrierNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureBarrierNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureBuffer( void *args )
{
    struct glTextureBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureBuffer( params->texture, params->internalformat, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureBufferEXT( void *args )
{
    struct glTextureBufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureBufferEXT( params->texture, params->target, params->internalformat, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureBufferRange( void *args )
{
    struct glTextureBufferRange_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureBufferRange( params->texture, params->internalformat, params->buffer, params->offset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureBufferRangeEXT( void *args )
{
    struct glTextureBufferRangeEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureBufferRangeEXT( params->texture, params->target, params->internalformat, params->buffer, params->offset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureColorMaskSGIS( void *args )
{
    struct glTextureColorMaskSGIS_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureColorMaskSGIS( params->red, params->green, params->blue, params->alpha );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureImage1DEXT( void *args )
{
    struct glTextureImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureImage1DEXT( params->texture, params->target, params->level, params->internalformat, params->width, params->border, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureImage2DEXT( void *args )
{
    struct glTextureImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureImage2DEXT( params->texture, params->target, params->level, params->internalformat, params->width, params->height, params->border, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureImage2DMultisampleCoverageNV( void *args )
{
    struct glTextureImage2DMultisampleCoverageNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureImage2DMultisampleCoverageNV( params->texture, params->target, params->coverageSamples, params->colorSamples, params->internalFormat, params->width, params->height, params->fixedSampleLocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureImage2DMultisampleNV( void *args )
{
    struct glTextureImage2DMultisampleNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureImage2DMultisampleNV( params->texture, params->target, params->samples, params->internalFormat, params->width, params->height, params->fixedSampleLocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureImage3DEXT( void *args )
{
    struct glTextureImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureImage3DEXT( params->texture, params->target, params->level, params->internalformat, params->width, params->height, params->depth, params->border, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureImage3DMultisampleCoverageNV( void *args )
{
    struct glTextureImage3DMultisampleCoverageNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureImage3DMultisampleCoverageNV( params->texture, params->target, params->coverageSamples, params->colorSamples, params->internalFormat, params->width, params->height, params->depth, params->fixedSampleLocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureImage3DMultisampleNV( void *args )
{
    struct glTextureImage3DMultisampleNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureImage3DMultisampleNV( params->texture, params->target, params->samples, params->internalFormat, params->width, params->height, params->depth, params->fixedSampleLocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureLightEXT( void *args )
{
    struct glTextureLightEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureLightEXT( params->pname );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureMaterialEXT( void *args )
{
    struct glTextureMaterialEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureMaterialEXT( params->face, params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureNormalEXT( void *args )
{
    struct glTextureNormalEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureNormalEXT( params->mode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTexturePageCommitmentEXT( void *args )
{
    struct glTexturePageCommitmentEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTexturePageCommitmentEXT( params->texture, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->commit );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameterIiv( void *args )
{
    struct glTextureParameterIiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameterIiv( params->texture, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameterIivEXT( void *args )
{
    struct glTextureParameterIivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameterIivEXT( params->texture, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameterIuiv( void *args )
{
    struct glTextureParameterIuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameterIuiv( params->texture, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameterIuivEXT( void *args )
{
    struct glTextureParameterIuivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameterIuivEXT( params->texture, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameterf( void *args )
{
    struct glTextureParameterf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameterf( params->texture, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameterfEXT( void *args )
{
    struct glTextureParameterfEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameterfEXT( params->texture, params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameterfv( void *args )
{
    struct glTextureParameterfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameterfv( params->texture, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameterfvEXT( void *args )
{
    struct glTextureParameterfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameterfvEXT( params->texture, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameteri( void *args )
{
    struct glTextureParameteri_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameteri( params->texture, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameteriEXT( void *args )
{
    struct glTextureParameteriEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameteriEXT( params->texture, params->target, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameteriv( void *args )
{
    struct glTextureParameteriv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameteriv( params->texture, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureParameterivEXT( void *args )
{
    struct glTextureParameterivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureParameterivEXT( params->texture, params->target, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureRangeAPPLE( void *args )
{
    struct glTextureRangeAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureRangeAPPLE( params->target, params->length, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureRenderbufferEXT( void *args )
{
    struct glTextureRenderbufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureRenderbufferEXT( params->texture, params->target, params->renderbuffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorage1D( void *args )
{
    struct glTextureStorage1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorage1D( params->texture, params->levels, params->internalformat, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorage1DEXT( void *args )
{
    struct glTextureStorage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorage1DEXT( params->texture, params->target, params->levels, params->internalformat, params->width );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorage2D( void *args )
{
    struct glTextureStorage2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorage2D( params->texture, params->levels, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorage2DEXT( void *args )
{
    struct glTextureStorage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorage2DEXT( params->texture, params->target, params->levels, params->internalformat, params->width, params->height );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorage2DMultisample( void *args )
{
    struct glTextureStorage2DMultisample_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorage2DMultisample( params->texture, params->samples, params->internalformat, params->width, params->height, params->fixedsamplelocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorage2DMultisampleEXT( void *args )
{
    struct glTextureStorage2DMultisampleEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorage2DMultisampleEXT( params->texture, params->target, params->samples, params->internalformat, params->width, params->height, params->fixedsamplelocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorage3D( void *args )
{
    struct glTextureStorage3D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorage3D( params->texture, params->levels, params->internalformat, params->width, params->height, params->depth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorage3DEXT( void *args )
{
    struct glTextureStorage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorage3DEXT( params->texture, params->target, params->levels, params->internalformat, params->width, params->height, params->depth );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorage3DMultisample( void *args )
{
    struct glTextureStorage3DMultisample_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorage3DMultisample( params->texture, params->samples, params->internalformat, params->width, params->height, params->depth, params->fixedsamplelocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorage3DMultisampleEXT( void *args )
{
    struct glTextureStorage3DMultisampleEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorage3DMultisampleEXT( params->texture, params->target, params->samples, params->internalformat, params->width, params->height, params->depth, params->fixedsamplelocations );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorageMem1DEXT( void *args )
{
    struct glTextureStorageMem1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorageMem1DEXT( params->texture, params->levels, params->internalFormat, params->width, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorageMem2DEXT( void *args )
{
    struct glTextureStorageMem2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorageMem2DEXT( params->texture, params->levels, params->internalFormat, params->width, params->height, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorageMem2DMultisampleEXT( void *args )
{
    struct glTextureStorageMem2DMultisampleEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorageMem2DMultisampleEXT( params->texture, params->samples, params->internalFormat, params->width, params->height, params->fixedSampleLocations, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorageMem3DEXT( void *args )
{
    struct glTextureStorageMem3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorageMem3DEXT( params->texture, params->levels, params->internalFormat, params->width, params->height, params->depth, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorageMem3DMultisampleEXT( void *args )
{
    struct glTextureStorageMem3DMultisampleEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorageMem3DMultisampleEXT( params->texture, params->samples, params->internalFormat, params->width, params->height, params->depth, params->fixedSampleLocations, params->memory, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureStorageSparseAMD( void *args )
{
    struct glTextureStorageSparseAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureStorageSparseAMD( params->texture, params->target, params->internalFormat, params->width, params->height, params->depth, params->layers, params->flags );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureSubImage1D( void *args )
{
    struct glTextureSubImage1D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureSubImage1D( params->texture, params->level, params->xoffset, params->width, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureSubImage1DEXT( void *args )
{
    struct glTextureSubImage1DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureSubImage1DEXT( params->texture, params->target, params->level, params->xoffset, params->width, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureSubImage2D( void *args )
{
    struct glTextureSubImage2D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureSubImage2D( params->texture, params->level, params->xoffset, params->yoffset, params->width, params->height, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureSubImage2DEXT( void *args )
{
    struct glTextureSubImage2DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureSubImage2DEXT( params->texture, params->target, params->level, params->xoffset, params->yoffset, params->width, params->height, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureSubImage3D( void *args )
{
    struct glTextureSubImage3D_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureSubImage3D( params->texture, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureSubImage3DEXT( void *args )
{
    struct glTextureSubImage3DEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureSubImage3DEXT( params->texture, params->target, params->level, params->xoffset, params->yoffset, params->zoffset, params->width, params->height, params->depth, params->format, params->type, params->pixels );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTextureView( void *args )
{
    struct glTextureView_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTextureView( params->texture, params->target, params->origtexture, params->internalformat, params->minlevel, params->numlevels, params->minlayer, params->numlayers );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTrackMatrixNV( void *args )
{
    struct glTrackMatrixNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTrackMatrixNV( params->target, params->address, params->matrix, params->transform );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTransformFeedbackAttribsNV( void *args )
{
    struct glTransformFeedbackAttribsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTransformFeedbackAttribsNV( params->count, params->attribs, params->bufferMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTransformFeedbackBufferBase( void *args )
{
    struct glTransformFeedbackBufferBase_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTransformFeedbackBufferBase( params->xfb, params->index, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTransformFeedbackBufferRange( void *args )
{
    struct glTransformFeedbackBufferRange_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTransformFeedbackBufferRange( params->xfb, params->index, params->buffer, params->offset, params->size );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTransformFeedbackStreamAttribsNV( void *args )
{
    struct glTransformFeedbackStreamAttribsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTransformFeedbackStreamAttribsNV( params->count, params->attribs, params->nbuffers, params->bufstreams, params->bufferMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTransformFeedbackVaryings( void *args )
{
    struct glTransformFeedbackVaryings_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTransformFeedbackVaryings( params->program, params->count, params->varyings, params->bufferMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTransformFeedbackVaryingsEXT( void *args )
{
    struct glTransformFeedbackVaryingsEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTransformFeedbackVaryingsEXT( params->program, params->count, params->varyings, params->bufferMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTransformFeedbackVaryingsNV( void *args )
{
    struct glTransformFeedbackVaryingsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTransformFeedbackVaryingsNV( params->program, params->count, params->locations, params->bufferMode );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTransformPathNV( void *args )
{
    struct glTransformPathNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTransformPathNV( params->resultPath, params->srcPath, params->transformType, params->transformValues );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glTranslatexOES( void *args )
{
    struct glTranslatexOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glTranslatexOES( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1d( void *args )
{
    struct glUniform1d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1d( params->location, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1dv( void *args )
{
    struct glUniform1dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1dv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1f( void *args )
{
    struct glUniform1f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1f( params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1fARB( void *args )
{
    struct glUniform1fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1fARB( params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1fv( void *args )
{
    struct glUniform1fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1fv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1fvARB( void *args )
{
    struct glUniform1fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1fvARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1i( void *args )
{
    struct glUniform1i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1i( params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1i64ARB( void *args )
{
    struct glUniform1i64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1i64ARB( params->location, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1i64NV( void *args )
{
    struct glUniform1i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1i64NV( params->location, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1i64vARB( void *args )
{
    struct glUniform1i64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1i64vARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1i64vNV( void *args )
{
    struct glUniform1i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1i64vNV( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1iARB( void *args )
{
    struct glUniform1iARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1iARB( params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1iv( void *args )
{
    struct glUniform1iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1iv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1ivARB( void *args )
{
    struct glUniform1ivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1ivARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1ui( void *args )
{
    struct glUniform1ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1ui( params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1ui64ARB( void *args )
{
    struct glUniform1ui64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1ui64ARB( params->location, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1ui64NV( void *args )
{
    struct glUniform1ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1ui64NV( params->location, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1ui64vARB( void *args )
{
    struct glUniform1ui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1ui64vARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1ui64vNV( void *args )
{
    struct glUniform1ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1ui64vNV( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1uiEXT( void *args )
{
    struct glUniform1uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1uiEXT( params->location, params->v0 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1uiv( void *args )
{
    struct glUniform1uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1uiv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform1uivEXT( void *args )
{
    struct glUniform1uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform1uivEXT( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2d( void *args )
{
    struct glUniform2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2d( params->location, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2dv( void *args )
{
    struct glUniform2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2dv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2f( void *args )
{
    struct glUniform2f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2f( params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2fARB( void *args )
{
    struct glUniform2fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2fARB( params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2fv( void *args )
{
    struct glUniform2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2fv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2fvARB( void *args )
{
    struct glUniform2fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2fvARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2i( void *args )
{
    struct glUniform2i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2i( params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2i64ARB( void *args )
{
    struct glUniform2i64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2i64ARB( params->location, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2i64NV( void *args )
{
    struct glUniform2i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2i64NV( params->location, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2i64vARB( void *args )
{
    struct glUniform2i64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2i64vARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2i64vNV( void *args )
{
    struct glUniform2i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2i64vNV( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2iARB( void *args )
{
    struct glUniform2iARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2iARB( params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2iv( void *args )
{
    struct glUniform2iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2iv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2ivARB( void *args )
{
    struct glUniform2ivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2ivARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2ui( void *args )
{
    struct glUniform2ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2ui( params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2ui64ARB( void *args )
{
    struct glUniform2ui64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2ui64ARB( params->location, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2ui64NV( void *args )
{
    struct glUniform2ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2ui64NV( params->location, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2ui64vARB( void *args )
{
    struct glUniform2ui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2ui64vARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2ui64vNV( void *args )
{
    struct glUniform2ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2ui64vNV( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2uiEXT( void *args )
{
    struct glUniform2uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2uiEXT( params->location, params->v0, params->v1 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2uiv( void *args )
{
    struct glUniform2uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2uiv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform2uivEXT( void *args )
{
    struct glUniform2uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform2uivEXT( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3d( void *args )
{
    struct glUniform3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3d( params->location, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3dv( void *args )
{
    struct glUniform3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3dv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3f( void *args )
{
    struct glUniform3f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3f( params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3fARB( void *args )
{
    struct glUniform3fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3fARB( params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3fv( void *args )
{
    struct glUniform3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3fv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3fvARB( void *args )
{
    struct glUniform3fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3fvARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3i( void *args )
{
    struct glUniform3i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3i( params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3i64ARB( void *args )
{
    struct glUniform3i64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3i64ARB( params->location, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3i64NV( void *args )
{
    struct glUniform3i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3i64NV( params->location, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3i64vARB( void *args )
{
    struct glUniform3i64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3i64vARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3i64vNV( void *args )
{
    struct glUniform3i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3i64vNV( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3iARB( void *args )
{
    struct glUniform3iARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3iARB( params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3iv( void *args )
{
    struct glUniform3iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3iv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3ivARB( void *args )
{
    struct glUniform3ivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3ivARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3ui( void *args )
{
    struct glUniform3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3ui( params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3ui64ARB( void *args )
{
    struct glUniform3ui64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3ui64ARB( params->location, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3ui64NV( void *args )
{
    struct glUniform3ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3ui64NV( params->location, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3ui64vARB( void *args )
{
    struct glUniform3ui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3ui64vARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3ui64vNV( void *args )
{
    struct glUniform3ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3ui64vNV( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3uiEXT( void *args )
{
    struct glUniform3uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3uiEXT( params->location, params->v0, params->v1, params->v2 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3uiv( void *args )
{
    struct glUniform3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3uiv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform3uivEXT( void *args )
{
    struct glUniform3uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform3uivEXT( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4d( void *args )
{
    struct glUniform4d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4d( params->location, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4dv( void *args )
{
    struct glUniform4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4dv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4f( void *args )
{
    struct glUniform4f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4f( params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4fARB( void *args )
{
    struct glUniform4fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4fARB( params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4fv( void *args )
{
    struct glUniform4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4fv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4fvARB( void *args )
{
    struct glUniform4fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4fvARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4i( void *args )
{
    struct glUniform4i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4i( params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4i64ARB( void *args )
{
    struct glUniform4i64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4i64ARB( params->location, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4i64NV( void *args )
{
    struct glUniform4i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4i64NV( params->location, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4i64vARB( void *args )
{
    struct glUniform4i64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4i64vARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4i64vNV( void *args )
{
    struct glUniform4i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4i64vNV( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4iARB( void *args )
{
    struct glUniform4iARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4iARB( params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4iv( void *args )
{
    struct glUniform4iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4iv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4ivARB( void *args )
{
    struct glUniform4ivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4ivARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4ui( void *args )
{
    struct glUniform4ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4ui( params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4ui64ARB( void *args )
{
    struct glUniform4ui64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4ui64ARB( params->location, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4ui64NV( void *args )
{
    struct glUniform4ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4ui64NV( params->location, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4ui64vARB( void *args )
{
    struct glUniform4ui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4ui64vARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4ui64vNV( void *args )
{
    struct glUniform4ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4ui64vNV( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4uiEXT( void *args )
{
    struct glUniform4uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4uiEXT( params->location, params->v0, params->v1, params->v2, params->v3 );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4uiv( void *args )
{
    struct glUniform4uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4uiv( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniform4uivEXT( void *args )
{
    struct glUniform4uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniform4uivEXT( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformBlockBinding( void *args )
{
    struct glUniformBlockBinding_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformBlockBinding( params->program, params->uniformBlockIndex, params->uniformBlockBinding );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformBufferEXT( void *args )
{
    struct glUniformBufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformBufferEXT( params->program, params->location, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformHandleui64ARB( void *args )
{
    struct glUniformHandleui64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformHandleui64ARB( params->location, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformHandleui64NV( void *args )
{
    struct glUniformHandleui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformHandleui64NV( params->location, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformHandleui64vARB( void *args )
{
    struct glUniformHandleui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformHandleui64vARB( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformHandleui64vNV( void *args )
{
    struct glUniformHandleui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformHandleui64vNV( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix2dv( void *args )
{
    struct glUniformMatrix2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix2dv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix2fv( void *args )
{
    struct glUniformMatrix2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix2fv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix2fvARB( void *args )
{
    struct glUniformMatrix2fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix2fvARB( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix2x3dv( void *args )
{
    struct glUniformMatrix2x3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix2x3dv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix2x3fv( void *args )
{
    struct glUniformMatrix2x3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix2x3fv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix2x4dv( void *args )
{
    struct glUniformMatrix2x4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix2x4dv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix2x4fv( void *args )
{
    struct glUniformMatrix2x4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix2x4fv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix3dv( void *args )
{
    struct glUniformMatrix3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix3dv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix3fv( void *args )
{
    struct glUniformMatrix3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix3fv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix3fvARB( void *args )
{
    struct glUniformMatrix3fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix3fvARB( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix3x2dv( void *args )
{
    struct glUniformMatrix3x2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix3x2dv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix3x2fv( void *args )
{
    struct glUniformMatrix3x2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix3x2fv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix3x4dv( void *args )
{
    struct glUniformMatrix3x4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix3x4dv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix3x4fv( void *args )
{
    struct glUniformMatrix3x4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix3x4fv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix4dv( void *args )
{
    struct glUniformMatrix4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix4dv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix4fv( void *args )
{
    struct glUniformMatrix4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix4fv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix4fvARB( void *args )
{
    struct glUniformMatrix4fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix4fvARB( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix4x2dv( void *args )
{
    struct glUniformMatrix4x2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix4x2dv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix4x2fv( void *args )
{
    struct glUniformMatrix4x2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix4x2fv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix4x3dv( void *args )
{
    struct glUniformMatrix4x3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix4x3dv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformMatrix4x3fv( void *args )
{
    struct glUniformMatrix4x3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformMatrix4x3fv( params->location, params->count, params->transpose, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformSubroutinesuiv( void *args )
{
    struct glUniformSubroutinesuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformSubroutinesuiv( params->shadertype, params->count, params->indices );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformui64NV( void *args )
{
    struct glUniformui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformui64NV( params->location, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUniformui64vNV( void *args )
{
    struct glUniformui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUniformui64vNV( params->location, params->count, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUnlockArraysEXT( void *args )
{
    struct glUnlockArraysEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUnlockArraysEXT();
    return STATUS_SUCCESS;
}

NTSTATUS ext_glUnmapBuffer( void *args )
{
    struct glUnmapBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glUnmapBuffer( params->target );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glUnmapBufferARB( void *args )
{
    struct glUnmapBufferARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glUnmapBufferARB( params->target );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glUnmapNamedBuffer( void *args )
{
    struct glUnmapNamedBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glUnmapNamedBuffer( params->buffer );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glUnmapNamedBufferEXT( void *args )
{
    struct glUnmapNamedBufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glUnmapNamedBufferEXT( params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUnmapObjectBufferATI( void *args )
{
    struct glUnmapObjectBufferATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUnmapObjectBufferATI( params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUnmapTexture2DINTEL( void *args )
{
    struct glUnmapTexture2DINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUnmapTexture2DINTEL( params->texture, params->level );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUpdateObjectBufferATI( void *args )
{
    struct glUpdateObjectBufferATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUpdateObjectBufferATI( params->buffer, params->offset, params->size, params->pointer, params->preserve );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUploadGpuMaskNVX( void *args )
{
    struct glUploadGpuMaskNVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUploadGpuMaskNVX( params->mask );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUseProgram( void *args )
{
    struct glUseProgram_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUseProgram( params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUseProgramObjectARB( void *args )
{
    struct glUseProgramObjectARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUseProgramObjectARB( params->programObj );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUseProgramStages( void *args )
{
    struct glUseProgramStages_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUseProgramStages( params->pipeline, params->stages, params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glUseShaderProgramEXT( void *args )
{
    struct glUseShaderProgramEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glUseShaderProgramEXT( params->type, params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVDPAUFiniNV( void *args )
{
    struct glVDPAUFiniNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVDPAUFiniNV();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVDPAUGetSurfaceivNV( void *args )
{
    struct glVDPAUGetSurfaceivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVDPAUGetSurfaceivNV( params->surface, params->pname, params->count, params->length, params->values );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVDPAUInitNV( void *args )
{
    struct glVDPAUInitNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVDPAUInitNV( params->vdpDevice, params->getProcAddress );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVDPAUIsSurfaceNV( void *args )
{
    struct glVDPAUIsSurfaceNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glVDPAUIsSurfaceNV( params->surface );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVDPAUMapSurfacesNV( void *args )
{
    struct glVDPAUMapSurfacesNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVDPAUMapSurfacesNV( params->numSurfaces, params->surfaces );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVDPAURegisterOutputSurfaceNV( void *args )
{
    struct glVDPAURegisterOutputSurfaceNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glVDPAURegisterOutputSurfaceNV( params->vdpSurface, params->target, params->numTextureNames, params->textureNames );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVDPAURegisterVideoSurfaceNV( void *args )
{
    struct glVDPAURegisterVideoSurfaceNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glVDPAURegisterVideoSurfaceNV( params->vdpSurface, params->target, params->numTextureNames, params->textureNames );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVDPAURegisterVideoSurfaceWithPictureStructureNV( void *args )
{
    struct glVDPAURegisterVideoSurfaceWithPictureStructureNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glVDPAURegisterVideoSurfaceWithPictureStructureNV( params->vdpSurface, params->target, params->numTextureNames, params->textureNames, params->isFrameStructure );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVDPAUSurfaceAccessNV( void *args )
{
    struct glVDPAUSurfaceAccessNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVDPAUSurfaceAccessNV( params->surface, params->access );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVDPAUUnmapSurfacesNV( void *args )
{
    struct glVDPAUUnmapSurfacesNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVDPAUUnmapSurfacesNV( params->numSurface, params->surfaces );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVDPAUUnregisterSurfaceNV( void *args )
{
    struct glVDPAUUnregisterSurfaceNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVDPAUUnregisterSurfaceNV( params->surface );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glValidateProgram( void *args )
{
    struct glValidateProgram_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glValidateProgram( params->program );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glValidateProgramARB( void *args )
{
    struct glValidateProgramARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glValidateProgramARB( params->programObj );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glValidateProgramPipeline( void *args )
{
    struct glValidateProgramPipeline_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glValidateProgramPipeline( params->pipeline );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVariantArrayObjectATI( void *args )
{
    struct glVariantArrayObjectATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVariantArrayObjectATI( params->id, params->type, params->stride, params->buffer, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVariantPointerEXT( void *args )
{
    struct glVariantPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVariantPointerEXT( params->id, params->type, params->stride, params->addr );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVariantbvEXT( void *args )
{
    struct glVariantbvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVariantbvEXT( params->id, params->addr );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVariantdvEXT( void *args )
{
    struct glVariantdvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVariantdvEXT( params->id, params->addr );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVariantfvEXT( void *args )
{
    struct glVariantfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVariantfvEXT( params->id, params->addr );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVariantivEXT( void *args )
{
    struct glVariantivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVariantivEXT( params->id, params->addr );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVariantsvEXT( void *args )
{
    struct glVariantsvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVariantsvEXT( params->id, params->addr );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVariantubvEXT( void *args )
{
    struct glVariantubvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVariantubvEXT( params->id, params->addr );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVariantuivEXT( void *args )
{
    struct glVariantuivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVariantuivEXT( params->id, params->addr );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVariantusvEXT( void *args )
{
    struct glVariantusvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVariantusvEXT( params->id, params->addr );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex2bOES( void *args )
{
    struct glVertex2bOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex2bOES( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex2bvOES( void *args )
{
    struct glVertex2bvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex2bvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex2hNV( void *args )
{
    struct glVertex2hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex2hNV( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex2hvNV( void *args )
{
    struct glVertex2hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex2hvNV( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex2xOES( void *args )
{
    struct glVertex2xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex2xOES( params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex2xvOES( void *args )
{
    struct glVertex2xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex2xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex3bOES( void *args )
{
    struct glVertex3bOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex3bOES( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex3bvOES( void *args )
{
    struct glVertex3bvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex3bvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex3hNV( void *args )
{
    struct glVertex3hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex3hNV( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex3hvNV( void *args )
{
    struct glVertex3hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex3hvNV( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex3xOES( void *args )
{
    struct glVertex3xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex3xOES( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex3xvOES( void *args )
{
    struct glVertex3xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex3xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex4bOES( void *args )
{
    struct glVertex4bOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex4bOES( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex4bvOES( void *args )
{
    struct glVertex4bvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex4bvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex4hNV( void *args )
{
    struct glVertex4hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex4hNV( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex4hvNV( void *args )
{
    struct glVertex4hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex4hvNV( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex4xOES( void *args )
{
    struct glVertex4xOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex4xOES( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertex4xvOES( void *args )
{
    struct glVertex4xvOES_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertex4xvOES( params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayAttribBinding( void *args )
{
    struct glVertexArrayAttribBinding_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayAttribBinding( params->vaobj, params->attribindex, params->bindingindex );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayAttribFormat( void *args )
{
    struct glVertexArrayAttribFormat_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayAttribFormat( params->vaobj, params->attribindex, params->size, params->type, params->normalized, params->relativeoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayAttribIFormat( void *args )
{
    struct glVertexArrayAttribIFormat_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayAttribIFormat( params->vaobj, params->attribindex, params->size, params->type, params->relativeoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayAttribLFormat( void *args )
{
    struct glVertexArrayAttribLFormat_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayAttribLFormat( params->vaobj, params->attribindex, params->size, params->type, params->relativeoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayBindVertexBufferEXT( void *args )
{
    struct glVertexArrayBindVertexBufferEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayBindVertexBufferEXT( params->vaobj, params->bindingindex, params->buffer, params->offset, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayBindingDivisor( void *args )
{
    struct glVertexArrayBindingDivisor_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayBindingDivisor( params->vaobj, params->bindingindex, params->divisor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayColorOffsetEXT( void *args )
{
    struct glVertexArrayColorOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayColorOffsetEXT( params->vaobj, params->buffer, params->size, params->type, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayEdgeFlagOffsetEXT( void *args )
{
    struct glVertexArrayEdgeFlagOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayEdgeFlagOffsetEXT( params->vaobj, params->buffer, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayElementBuffer( void *args )
{
    struct glVertexArrayElementBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayElementBuffer( params->vaobj, params->buffer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayFogCoordOffsetEXT( void *args )
{
    struct glVertexArrayFogCoordOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayFogCoordOffsetEXT( params->vaobj, params->buffer, params->type, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayIndexOffsetEXT( void *args )
{
    struct glVertexArrayIndexOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayIndexOffsetEXT( params->vaobj, params->buffer, params->type, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayMultiTexCoordOffsetEXT( void *args )
{
    struct glVertexArrayMultiTexCoordOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayMultiTexCoordOffsetEXT( params->vaobj, params->buffer, params->texunit, params->size, params->type, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayNormalOffsetEXT( void *args )
{
    struct glVertexArrayNormalOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayNormalOffsetEXT( params->vaobj, params->buffer, params->type, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayParameteriAPPLE( void *args )
{
    struct glVertexArrayParameteriAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayParameteriAPPLE( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayRangeAPPLE( void *args )
{
    struct glVertexArrayRangeAPPLE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayRangeAPPLE( params->length, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayRangeNV( void *args )
{
    struct glVertexArrayRangeNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayRangeNV( params->length, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArraySecondaryColorOffsetEXT( void *args )
{
    struct glVertexArraySecondaryColorOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArraySecondaryColorOffsetEXT( params->vaobj, params->buffer, params->size, params->type, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayTexCoordOffsetEXT( void *args )
{
    struct glVertexArrayTexCoordOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayTexCoordOffsetEXT( params->vaobj, params->buffer, params->size, params->type, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexAttribBindingEXT( void *args )
{
    struct glVertexArrayVertexAttribBindingEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexAttribBindingEXT( params->vaobj, params->attribindex, params->bindingindex );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexAttribDivisorEXT( void *args )
{
    struct glVertexArrayVertexAttribDivisorEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexAttribDivisorEXT( params->vaobj, params->index, params->divisor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexAttribFormatEXT( void *args )
{
    struct glVertexArrayVertexAttribFormatEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexAttribFormatEXT( params->vaobj, params->attribindex, params->size, params->type, params->normalized, params->relativeoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexAttribIFormatEXT( void *args )
{
    struct glVertexArrayVertexAttribIFormatEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexAttribIFormatEXT( params->vaobj, params->attribindex, params->size, params->type, params->relativeoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexAttribIOffsetEXT( void *args )
{
    struct glVertexArrayVertexAttribIOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexAttribIOffsetEXT( params->vaobj, params->buffer, params->index, params->size, params->type, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexAttribLFormatEXT( void *args )
{
    struct glVertexArrayVertexAttribLFormatEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexAttribLFormatEXT( params->vaobj, params->attribindex, params->size, params->type, params->relativeoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexAttribLOffsetEXT( void *args )
{
    struct glVertexArrayVertexAttribLOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexAttribLOffsetEXT( params->vaobj, params->buffer, params->index, params->size, params->type, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexAttribOffsetEXT( void *args )
{
    struct glVertexArrayVertexAttribOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexAttribOffsetEXT( params->vaobj, params->buffer, params->index, params->size, params->type, params->normalized, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexBindingDivisorEXT( void *args )
{
    struct glVertexArrayVertexBindingDivisorEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexBindingDivisorEXT( params->vaobj, params->bindingindex, params->divisor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexBuffer( void *args )
{
    struct glVertexArrayVertexBuffer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexBuffer( params->vaobj, params->bindingindex, params->buffer, params->offset, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexBuffers( void *args )
{
    struct glVertexArrayVertexBuffers_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexBuffers( params->vaobj, params->first, params->count, params->buffers, params->offsets, params->strides );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexArrayVertexOffsetEXT( void *args )
{
    struct glVertexArrayVertexOffsetEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexArrayVertexOffsetEXT( params->vaobj, params->buffer, params->size, params->type, params->stride, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1d( void *args )
{
    struct glVertexAttrib1d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1d( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1dARB( void *args )
{
    struct glVertexAttrib1dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1dARB( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1dNV( void *args )
{
    struct glVertexAttrib1dNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1dNV( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1dv( void *args )
{
    struct glVertexAttrib1dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1dv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1dvARB( void *args )
{
    struct glVertexAttrib1dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1dvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1dvNV( void *args )
{
    struct glVertexAttrib1dvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1dvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1f( void *args )
{
    struct glVertexAttrib1f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1f( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1fARB( void *args )
{
    struct glVertexAttrib1fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1fARB( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1fNV( void *args )
{
    struct glVertexAttrib1fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1fNV( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1fv( void *args )
{
    struct glVertexAttrib1fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1fv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1fvARB( void *args )
{
    struct glVertexAttrib1fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1fvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1fvNV( void *args )
{
    struct glVertexAttrib1fvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1fvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1hNV( void *args )
{
    struct glVertexAttrib1hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1hNV( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1hvNV( void *args )
{
    struct glVertexAttrib1hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1hvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1s( void *args )
{
    struct glVertexAttrib1s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1s( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1sARB( void *args )
{
    struct glVertexAttrib1sARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1sARB( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1sNV( void *args )
{
    struct glVertexAttrib1sNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1sNV( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1sv( void *args )
{
    struct glVertexAttrib1sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1sv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1svARB( void *args )
{
    struct glVertexAttrib1svARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1svARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib1svNV( void *args )
{
    struct glVertexAttrib1svNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib1svNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2d( void *args )
{
    struct glVertexAttrib2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2d( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2dARB( void *args )
{
    struct glVertexAttrib2dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2dARB( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2dNV( void *args )
{
    struct glVertexAttrib2dNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2dNV( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2dv( void *args )
{
    struct glVertexAttrib2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2dv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2dvARB( void *args )
{
    struct glVertexAttrib2dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2dvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2dvNV( void *args )
{
    struct glVertexAttrib2dvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2dvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2f( void *args )
{
    struct glVertexAttrib2f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2f( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2fARB( void *args )
{
    struct glVertexAttrib2fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2fARB( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2fNV( void *args )
{
    struct glVertexAttrib2fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2fNV( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2fv( void *args )
{
    struct glVertexAttrib2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2fv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2fvARB( void *args )
{
    struct glVertexAttrib2fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2fvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2fvNV( void *args )
{
    struct glVertexAttrib2fvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2fvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2hNV( void *args )
{
    struct glVertexAttrib2hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2hNV( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2hvNV( void *args )
{
    struct glVertexAttrib2hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2hvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2s( void *args )
{
    struct glVertexAttrib2s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2s( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2sARB( void *args )
{
    struct glVertexAttrib2sARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2sARB( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2sNV( void *args )
{
    struct glVertexAttrib2sNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2sNV( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2sv( void *args )
{
    struct glVertexAttrib2sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2sv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2svARB( void *args )
{
    struct glVertexAttrib2svARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2svARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib2svNV( void *args )
{
    struct glVertexAttrib2svNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib2svNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3d( void *args )
{
    struct glVertexAttrib3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3d( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3dARB( void *args )
{
    struct glVertexAttrib3dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3dARB( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3dNV( void *args )
{
    struct glVertexAttrib3dNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3dNV( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3dv( void *args )
{
    struct glVertexAttrib3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3dv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3dvARB( void *args )
{
    struct glVertexAttrib3dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3dvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3dvNV( void *args )
{
    struct glVertexAttrib3dvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3dvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3f( void *args )
{
    struct glVertexAttrib3f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3f( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3fARB( void *args )
{
    struct glVertexAttrib3fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3fARB( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3fNV( void *args )
{
    struct glVertexAttrib3fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3fNV( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3fv( void *args )
{
    struct glVertexAttrib3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3fv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3fvARB( void *args )
{
    struct glVertexAttrib3fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3fvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3fvNV( void *args )
{
    struct glVertexAttrib3fvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3fvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3hNV( void *args )
{
    struct glVertexAttrib3hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3hNV( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3hvNV( void *args )
{
    struct glVertexAttrib3hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3hvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3s( void *args )
{
    struct glVertexAttrib3s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3s( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3sARB( void *args )
{
    struct glVertexAttrib3sARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3sARB( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3sNV( void *args )
{
    struct glVertexAttrib3sNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3sNV( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3sv( void *args )
{
    struct glVertexAttrib3sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3sv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3svARB( void *args )
{
    struct glVertexAttrib3svARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3svARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib3svNV( void *args )
{
    struct glVertexAttrib3svNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib3svNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4Nbv( void *args )
{
    struct glVertexAttrib4Nbv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4Nbv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4NbvARB( void *args )
{
    struct glVertexAttrib4NbvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4NbvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4Niv( void *args )
{
    struct glVertexAttrib4Niv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4Niv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4NivARB( void *args )
{
    struct glVertexAttrib4NivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4NivARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4Nsv( void *args )
{
    struct glVertexAttrib4Nsv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4Nsv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4NsvARB( void *args )
{
    struct glVertexAttrib4NsvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4NsvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4Nub( void *args )
{
    struct glVertexAttrib4Nub_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4Nub( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4NubARB( void *args )
{
    struct glVertexAttrib4NubARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4NubARB( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4Nubv( void *args )
{
    struct glVertexAttrib4Nubv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4Nubv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4NubvARB( void *args )
{
    struct glVertexAttrib4NubvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4NubvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4Nuiv( void *args )
{
    struct glVertexAttrib4Nuiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4Nuiv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4NuivARB( void *args )
{
    struct glVertexAttrib4NuivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4NuivARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4Nusv( void *args )
{
    struct glVertexAttrib4Nusv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4Nusv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4NusvARB( void *args )
{
    struct glVertexAttrib4NusvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4NusvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4bv( void *args )
{
    struct glVertexAttrib4bv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4bv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4bvARB( void *args )
{
    struct glVertexAttrib4bvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4bvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4d( void *args )
{
    struct glVertexAttrib4d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4d( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4dARB( void *args )
{
    struct glVertexAttrib4dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4dARB( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4dNV( void *args )
{
    struct glVertexAttrib4dNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4dNV( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4dv( void *args )
{
    struct glVertexAttrib4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4dv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4dvARB( void *args )
{
    struct glVertexAttrib4dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4dvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4dvNV( void *args )
{
    struct glVertexAttrib4dvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4dvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4f( void *args )
{
    struct glVertexAttrib4f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4f( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4fARB( void *args )
{
    struct glVertexAttrib4fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4fARB( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4fNV( void *args )
{
    struct glVertexAttrib4fNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4fNV( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4fv( void *args )
{
    struct glVertexAttrib4fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4fv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4fvARB( void *args )
{
    struct glVertexAttrib4fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4fvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4fvNV( void *args )
{
    struct glVertexAttrib4fvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4fvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4hNV( void *args )
{
    struct glVertexAttrib4hNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4hNV( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4hvNV( void *args )
{
    struct glVertexAttrib4hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4hvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4iv( void *args )
{
    struct glVertexAttrib4iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4iv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4ivARB( void *args )
{
    struct glVertexAttrib4ivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4ivARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4s( void *args )
{
    struct glVertexAttrib4s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4s( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4sARB( void *args )
{
    struct glVertexAttrib4sARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4sARB( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4sNV( void *args )
{
    struct glVertexAttrib4sNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4sNV( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4sv( void *args )
{
    struct glVertexAttrib4sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4sv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4svARB( void *args )
{
    struct glVertexAttrib4svARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4svARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4svNV( void *args )
{
    struct glVertexAttrib4svNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4svNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4ubNV( void *args )
{
    struct glVertexAttrib4ubNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4ubNV( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4ubv( void *args )
{
    struct glVertexAttrib4ubv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4ubv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4ubvARB( void *args )
{
    struct glVertexAttrib4ubvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4ubvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4ubvNV( void *args )
{
    struct glVertexAttrib4ubvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4ubvNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4uiv( void *args )
{
    struct glVertexAttrib4uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4uiv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4uivARB( void *args )
{
    struct glVertexAttrib4uivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4uivARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4usv( void *args )
{
    struct glVertexAttrib4usv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4usv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttrib4usvARB( void *args )
{
    struct glVertexAttrib4usvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttrib4usvARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribArrayObjectATI( void *args )
{
    struct glVertexAttribArrayObjectATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribArrayObjectATI( params->index, params->size, params->type, params->normalized, params->stride, params->buffer, params->offset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribBinding( void *args )
{
    struct glVertexAttribBinding_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribBinding( params->attribindex, params->bindingindex );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribDivisor( void *args )
{
    struct glVertexAttribDivisor_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribDivisor( params->index, params->divisor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribDivisorARB( void *args )
{
    struct glVertexAttribDivisorARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribDivisorARB( params->index, params->divisor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribFormat( void *args )
{
    struct glVertexAttribFormat_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribFormat( params->attribindex, params->size, params->type, params->normalized, params->relativeoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribFormatNV( void *args )
{
    struct glVertexAttribFormatNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribFormatNV( params->index, params->size, params->type, params->normalized, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI1i( void *args )
{
    struct glVertexAttribI1i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI1i( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI1iEXT( void *args )
{
    struct glVertexAttribI1iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI1iEXT( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI1iv( void *args )
{
    struct glVertexAttribI1iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI1iv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI1ivEXT( void *args )
{
    struct glVertexAttribI1ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI1ivEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI1ui( void *args )
{
    struct glVertexAttribI1ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI1ui( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI1uiEXT( void *args )
{
    struct glVertexAttribI1uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI1uiEXT( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI1uiv( void *args )
{
    struct glVertexAttribI1uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI1uiv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI1uivEXT( void *args )
{
    struct glVertexAttribI1uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI1uivEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI2i( void *args )
{
    struct glVertexAttribI2i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI2i( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI2iEXT( void *args )
{
    struct glVertexAttribI2iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI2iEXT( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI2iv( void *args )
{
    struct glVertexAttribI2iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI2iv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI2ivEXT( void *args )
{
    struct glVertexAttribI2ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI2ivEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI2ui( void *args )
{
    struct glVertexAttribI2ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI2ui( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI2uiEXT( void *args )
{
    struct glVertexAttribI2uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI2uiEXT( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI2uiv( void *args )
{
    struct glVertexAttribI2uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI2uiv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI2uivEXT( void *args )
{
    struct glVertexAttribI2uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI2uivEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI3i( void *args )
{
    struct glVertexAttribI3i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI3i( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI3iEXT( void *args )
{
    struct glVertexAttribI3iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI3iEXT( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI3iv( void *args )
{
    struct glVertexAttribI3iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI3iv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI3ivEXT( void *args )
{
    struct glVertexAttribI3ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI3ivEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI3ui( void *args )
{
    struct glVertexAttribI3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI3ui( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI3uiEXT( void *args )
{
    struct glVertexAttribI3uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI3uiEXT( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI3uiv( void *args )
{
    struct glVertexAttribI3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI3uiv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI3uivEXT( void *args )
{
    struct glVertexAttribI3uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI3uivEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4bv( void *args )
{
    struct glVertexAttribI4bv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4bv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4bvEXT( void *args )
{
    struct glVertexAttribI4bvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4bvEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4i( void *args )
{
    struct glVertexAttribI4i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4i( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4iEXT( void *args )
{
    struct glVertexAttribI4iEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4iEXT( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4iv( void *args )
{
    struct glVertexAttribI4iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4iv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4ivEXT( void *args )
{
    struct glVertexAttribI4ivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4ivEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4sv( void *args )
{
    struct glVertexAttribI4sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4sv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4svEXT( void *args )
{
    struct glVertexAttribI4svEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4svEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4ubv( void *args )
{
    struct glVertexAttribI4ubv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4ubv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4ubvEXT( void *args )
{
    struct glVertexAttribI4ubvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4ubvEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4ui( void *args )
{
    struct glVertexAttribI4ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4ui( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4uiEXT( void *args )
{
    struct glVertexAttribI4uiEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4uiEXT( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4uiv( void *args )
{
    struct glVertexAttribI4uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4uiv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4uivEXT( void *args )
{
    struct glVertexAttribI4uivEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4uivEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4usv( void *args )
{
    struct glVertexAttribI4usv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4usv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribI4usvEXT( void *args )
{
    struct glVertexAttribI4usvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribI4usvEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribIFormat( void *args )
{
    struct glVertexAttribIFormat_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribIFormat( params->attribindex, params->size, params->type, params->relativeoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribIFormatNV( void *args )
{
    struct glVertexAttribIFormatNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribIFormatNV( params->index, params->size, params->type, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribIPointer( void *args )
{
    struct glVertexAttribIPointer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribIPointer( params->index, params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribIPointerEXT( void *args )
{
    struct glVertexAttribIPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribIPointerEXT( params->index, params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL1d( void *args )
{
    struct glVertexAttribL1d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL1d( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL1dEXT( void *args )
{
    struct glVertexAttribL1dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL1dEXT( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL1dv( void *args )
{
    struct glVertexAttribL1dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL1dv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL1dvEXT( void *args )
{
    struct glVertexAttribL1dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL1dvEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL1i64NV( void *args )
{
    struct glVertexAttribL1i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL1i64NV( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL1i64vNV( void *args )
{
    struct glVertexAttribL1i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL1i64vNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL1ui64ARB( void *args )
{
    struct glVertexAttribL1ui64ARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL1ui64ARB( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL1ui64NV( void *args )
{
    struct glVertexAttribL1ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL1ui64NV( params->index, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL1ui64vARB( void *args )
{
    struct glVertexAttribL1ui64vARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL1ui64vARB( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL1ui64vNV( void *args )
{
    struct glVertexAttribL1ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL1ui64vNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL2d( void *args )
{
    struct glVertexAttribL2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL2d( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL2dEXT( void *args )
{
    struct glVertexAttribL2dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL2dEXT( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL2dv( void *args )
{
    struct glVertexAttribL2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL2dv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL2dvEXT( void *args )
{
    struct glVertexAttribL2dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL2dvEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL2i64NV( void *args )
{
    struct glVertexAttribL2i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL2i64NV( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL2i64vNV( void *args )
{
    struct glVertexAttribL2i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL2i64vNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL2ui64NV( void *args )
{
    struct glVertexAttribL2ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL2ui64NV( params->index, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL2ui64vNV( void *args )
{
    struct glVertexAttribL2ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL2ui64vNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL3d( void *args )
{
    struct glVertexAttribL3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL3d( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL3dEXT( void *args )
{
    struct glVertexAttribL3dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL3dEXT( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL3dv( void *args )
{
    struct glVertexAttribL3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL3dv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL3dvEXT( void *args )
{
    struct glVertexAttribL3dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL3dvEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL3i64NV( void *args )
{
    struct glVertexAttribL3i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL3i64NV( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL3i64vNV( void *args )
{
    struct glVertexAttribL3i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL3i64vNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL3ui64NV( void *args )
{
    struct glVertexAttribL3ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL3ui64NV( params->index, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL3ui64vNV( void *args )
{
    struct glVertexAttribL3ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL3ui64vNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL4d( void *args )
{
    struct glVertexAttribL4d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL4d( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL4dEXT( void *args )
{
    struct glVertexAttribL4dEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL4dEXT( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL4dv( void *args )
{
    struct glVertexAttribL4dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL4dv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL4dvEXT( void *args )
{
    struct glVertexAttribL4dvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL4dvEXT( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL4i64NV( void *args )
{
    struct glVertexAttribL4i64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL4i64NV( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL4i64vNV( void *args )
{
    struct glVertexAttribL4i64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL4i64vNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL4ui64NV( void *args )
{
    struct glVertexAttribL4ui64NV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL4ui64NV( params->index, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribL4ui64vNV( void *args )
{
    struct glVertexAttribL4ui64vNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribL4ui64vNV( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribLFormat( void *args )
{
    struct glVertexAttribLFormat_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribLFormat( params->attribindex, params->size, params->type, params->relativeoffset );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribLFormatNV( void *args )
{
    struct glVertexAttribLFormatNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribLFormatNV( params->index, params->size, params->type, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribLPointer( void *args )
{
    struct glVertexAttribLPointer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribLPointer( params->index, params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribLPointerEXT( void *args )
{
    struct glVertexAttribLPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribLPointerEXT( params->index, params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribP1ui( void *args )
{
    struct glVertexAttribP1ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribP1ui( params->index, params->type, params->normalized, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribP1uiv( void *args )
{
    struct glVertexAttribP1uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribP1uiv( params->index, params->type, params->normalized, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribP2ui( void *args )
{
    struct glVertexAttribP2ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribP2ui( params->index, params->type, params->normalized, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribP2uiv( void *args )
{
    struct glVertexAttribP2uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribP2uiv( params->index, params->type, params->normalized, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribP3ui( void *args )
{
    struct glVertexAttribP3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribP3ui( params->index, params->type, params->normalized, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribP3uiv( void *args )
{
    struct glVertexAttribP3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribP3uiv( params->index, params->type, params->normalized, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribP4ui( void *args )
{
    struct glVertexAttribP4ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribP4ui( params->index, params->type, params->normalized, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribP4uiv( void *args )
{
    struct glVertexAttribP4uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribP4uiv( params->index, params->type, params->normalized, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribParameteriAMD( void *args )
{
    struct glVertexAttribParameteriAMD_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribParameteriAMD( params->index, params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribPointer( void *args )
{
    struct glVertexAttribPointer_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribPointer( params->index, params->size, params->type, params->normalized, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribPointerARB( void *args )
{
    struct glVertexAttribPointerARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribPointerARB( params->index, params->size, params->type, params->normalized, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribPointerNV( void *args )
{
    struct glVertexAttribPointerNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribPointerNV( params->index, params->fsize, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs1dvNV( void *args )
{
    struct glVertexAttribs1dvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs1dvNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs1fvNV( void *args )
{
    struct glVertexAttribs1fvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs1fvNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs1hvNV( void *args )
{
    struct glVertexAttribs1hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs1hvNV( params->index, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs1svNV( void *args )
{
    struct glVertexAttribs1svNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs1svNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs2dvNV( void *args )
{
    struct glVertexAttribs2dvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs2dvNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs2fvNV( void *args )
{
    struct glVertexAttribs2fvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs2fvNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs2hvNV( void *args )
{
    struct glVertexAttribs2hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs2hvNV( params->index, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs2svNV( void *args )
{
    struct glVertexAttribs2svNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs2svNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs3dvNV( void *args )
{
    struct glVertexAttribs3dvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs3dvNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs3fvNV( void *args )
{
    struct glVertexAttribs3fvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs3fvNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs3hvNV( void *args )
{
    struct glVertexAttribs3hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs3hvNV( params->index, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs3svNV( void *args )
{
    struct glVertexAttribs3svNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs3svNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs4dvNV( void *args )
{
    struct glVertexAttribs4dvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs4dvNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs4fvNV( void *args )
{
    struct glVertexAttribs4fvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs4fvNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs4hvNV( void *args )
{
    struct glVertexAttribs4hvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs4hvNV( params->index, params->n, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs4svNV( void *args )
{
    struct glVertexAttribs4svNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs4svNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexAttribs4ubvNV( void *args )
{
    struct glVertexAttribs4ubvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexAttribs4ubvNV( params->index, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexBindingDivisor( void *args )
{
    struct glVertexBindingDivisor_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexBindingDivisor( params->bindingindex, params->divisor );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexBlendARB( void *args )
{
    struct glVertexBlendARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexBlendARB( params->count );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexBlendEnvfATI( void *args )
{
    struct glVertexBlendEnvfATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexBlendEnvfATI( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexBlendEnviATI( void *args )
{
    struct glVertexBlendEnviATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexBlendEnviATI( params->pname, params->param );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexFormatNV( void *args )
{
    struct glVertexFormatNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexFormatNV( params->size, params->type, params->stride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexP2ui( void *args )
{
    struct glVertexP2ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexP2ui( params->type, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexP2uiv( void *args )
{
    struct glVertexP2uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexP2uiv( params->type, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexP3ui( void *args )
{
    struct glVertexP3ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexP3ui( params->type, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexP3uiv( void *args )
{
    struct glVertexP3uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexP3uiv( params->type, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexP4ui( void *args )
{
    struct glVertexP4ui_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexP4ui( params->type, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexP4uiv( void *args )
{
    struct glVertexP4uiv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexP4uiv( params->type, params->value );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexPointerEXT( void *args )
{
    struct glVertexPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexPointerEXT( params->size, params->type, params->stride, params->count, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexPointerListIBM( void *args )
{
    struct glVertexPointerListIBM_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexPointerListIBM( params->size, params->type, params->stride, params->pointer, params->ptrstride );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexPointervINTEL( void *args )
{
    struct glVertexPointervINTEL_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexPointervINTEL( params->size, params->type, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream1dATI( void *args )
{
    struct glVertexStream1dATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream1dATI( params->stream, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream1dvATI( void *args )
{
    struct glVertexStream1dvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream1dvATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream1fATI( void *args )
{
    struct glVertexStream1fATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream1fATI( params->stream, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream1fvATI( void *args )
{
    struct glVertexStream1fvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream1fvATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream1iATI( void *args )
{
    struct glVertexStream1iATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream1iATI( params->stream, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream1ivATI( void *args )
{
    struct glVertexStream1ivATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream1ivATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream1sATI( void *args )
{
    struct glVertexStream1sATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream1sATI( params->stream, params->x );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream1svATI( void *args )
{
    struct glVertexStream1svATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream1svATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream2dATI( void *args )
{
    struct glVertexStream2dATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream2dATI( params->stream, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream2dvATI( void *args )
{
    struct glVertexStream2dvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream2dvATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream2fATI( void *args )
{
    struct glVertexStream2fATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream2fATI( params->stream, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream2fvATI( void *args )
{
    struct glVertexStream2fvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream2fvATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream2iATI( void *args )
{
    struct glVertexStream2iATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream2iATI( params->stream, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream2ivATI( void *args )
{
    struct glVertexStream2ivATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream2ivATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream2sATI( void *args )
{
    struct glVertexStream2sATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream2sATI( params->stream, params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream2svATI( void *args )
{
    struct glVertexStream2svATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream2svATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream3dATI( void *args )
{
    struct glVertexStream3dATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream3dATI( params->stream, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream3dvATI( void *args )
{
    struct glVertexStream3dvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream3dvATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream3fATI( void *args )
{
    struct glVertexStream3fATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream3fATI( params->stream, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream3fvATI( void *args )
{
    struct glVertexStream3fvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream3fvATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream3iATI( void *args )
{
    struct glVertexStream3iATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream3iATI( params->stream, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream3ivATI( void *args )
{
    struct glVertexStream3ivATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream3ivATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream3sATI( void *args )
{
    struct glVertexStream3sATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream3sATI( params->stream, params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream3svATI( void *args )
{
    struct glVertexStream3svATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream3svATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream4dATI( void *args )
{
    struct glVertexStream4dATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream4dATI( params->stream, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream4dvATI( void *args )
{
    struct glVertexStream4dvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream4dvATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream4fATI( void *args )
{
    struct glVertexStream4fATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream4fATI( params->stream, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream4fvATI( void *args )
{
    struct glVertexStream4fvATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream4fvATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream4iATI( void *args )
{
    struct glVertexStream4iATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream4iATI( params->stream, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream4ivATI( void *args )
{
    struct glVertexStream4ivATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream4ivATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream4sATI( void *args )
{
    struct glVertexStream4sATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream4sATI( params->stream, params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexStream4svATI( void *args )
{
    struct glVertexStream4svATI_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexStream4svATI( params->stream, params->coords );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexWeightPointerEXT( void *args )
{
    struct glVertexWeightPointerEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexWeightPointerEXT( params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexWeightfEXT( void *args )
{
    struct glVertexWeightfEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexWeightfEXT( params->weight );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexWeightfvEXT( void *args )
{
    struct glVertexWeightfvEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexWeightfvEXT( params->weight );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexWeighthNV( void *args )
{
    struct glVertexWeighthNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexWeighthNV( params->weight );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVertexWeighthvNV( void *args )
{
    struct glVertexWeighthvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVertexWeighthvNV( params->weight );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVideoCaptureNV( void *args )
{
    struct glVideoCaptureNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_glVideoCaptureNV( params->video_capture_slot, params->sequence_num, params->capture_time );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVideoCaptureStreamParameterdvNV( void *args )
{
    struct glVideoCaptureStreamParameterdvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVideoCaptureStreamParameterdvNV( params->video_capture_slot, params->stream, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVideoCaptureStreamParameterfvNV( void *args )
{
    struct glVideoCaptureStreamParameterfvNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVideoCaptureStreamParameterfvNV( params->video_capture_slot, params->stream, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glVideoCaptureStreamParameterivNV( void *args )
{
    struct glVideoCaptureStreamParameterivNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glVideoCaptureStreamParameterivNV( params->video_capture_slot, params->stream, params->pname, params->params );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glViewportArrayv( void *args )
{
    struct glViewportArrayv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glViewportArrayv( params->first, params->count, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glViewportIndexedf( void *args )
{
    struct glViewportIndexedf_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glViewportIndexedf( params->index, params->x, params->y, params->w, params->h );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glViewportIndexedfv( void *args )
{
    struct glViewportIndexedfv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glViewportIndexedfv( params->index, params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glViewportPositionWScaleNV( void *args )
{
    struct glViewportPositionWScaleNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glViewportPositionWScaleNV( params->index, params->xcoeff, params->ycoeff );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glViewportSwizzleNV( void *args )
{
    struct glViewportSwizzleNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glViewportSwizzleNV( params->index, params->swizzlex, params->swizzley, params->swizzlez, params->swizzlew );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWaitSemaphoreEXT( void *args )
{
    struct glWaitSemaphoreEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWaitSemaphoreEXT( params->semaphore, params->numBufferBarriers, params->buffers, params->numTextureBarriers, params->textures, params->srcLayouts );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWaitSemaphoreui64NVX( void *args )
{
    struct glWaitSemaphoreui64NVX_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWaitSemaphoreui64NVX( params->waitGpu, params->fenceObjectCount, params->semaphoreArray, params->fenceValueArray );
    return STATUS_SUCCESS;
}

NTSTATUS ext_glWaitSync( void *args )
{
    struct glWaitSync_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWaitSync( params->sync, params->flags, params->timeout );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWaitVkSemaphoreNV( void *args )
{
    struct glWaitVkSemaphoreNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWaitVkSemaphoreNV( params->vkSemaphore );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWeightPathsNV( void *args )
{
    struct glWeightPathsNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWeightPathsNV( params->resultPath, params->numPaths, params->paths, params->weights );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWeightPointerARB( void *args )
{
    struct glWeightPointerARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWeightPointerARB( params->size, params->type, params->stride, params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWeightbvARB( void *args )
{
    struct glWeightbvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWeightbvARB( params->size, params->weights );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWeightdvARB( void *args )
{
    struct glWeightdvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWeightdvARB( params->size, params->weights );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWeightfvARB( void *args )
{
    struct glWeightfvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWeightfvARB( params->size, params->weights );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWeightivARB( void *args )
{
    struct glWeightivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWeightivARB( params->size, params->weights );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWeightsvARB( void *args )
{
    struct glWeightsvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWeightsvARB( params->size, params->weights );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWeightubvARB( void *args )
{
    struct glWeightubvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWeightubvARB( params->size, params->weights );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWeightuivARB( void *args )
{
    struct glWeightuivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWeightuivARB( params->size, params->weights );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWeightusvARB( void *args )
{
    struct glWeightusvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWeightusvARB( params->size, params->weights );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2d( void *args )
{
    struct glWindowPos2d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2d( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2dARB( void *args )
{
    struct glWindowPos2dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2dARB( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2dMESA( void *args )
{
    struct glWindowPos2dMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2dMESA( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2dv( void *args )
{
    struct glWindowPos2dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2dvARB( void *args )
{
    struct glWindowPos2dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2dvARB( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2dvMESA( void *args )
{
    struct glWindowPos2dvMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2dvMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2f( void *args )
{
    struct glWindowPos2f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2f( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2fARB( void *args )
{
    struct glWindowPos2fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2fARB( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2fMESA( void *args )
{
    struct glWindowPos2fMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2fMESA( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2fv( void *args )
{
    struct glWindowPos2fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2fvARB( void *args )
{
    struct glWindowPos2fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2fvARB( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2fvMESA( void *args )
{
    struct glWindowPos2fvMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2fvMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2i( void *args )
{
    struct glWindowPos2i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2i( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2iARB( void *args )
{
    struct glWindowPos2iARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2iARB( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2iMESA( void *args )
{
    struct glWindowPos2iMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2iMESA( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2iv( void *args )
{
    struct glWindowPos2iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2ivARB( void *args )
{
    struct glWindowPos2ivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2ivARB( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2ivMESA( void *args )
{
    struct glWindowPos2ivMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2ivMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2s( void *args )
{
    struct glWindowPos2s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2s( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2sARB( void *args )
{
    struct glWindowPos2sARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2sARB( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2sMESA( void *args )
{
    struct glWindowPos2sMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2sMESA( params->x, params->y );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2sv( void *args )
{
    struct glWindowPos2sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2svARB( void *args )
{
    struct glWindowPos2svARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2svARB( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos2svMESA( void *args )
{
    struct glWindowPos2svMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos2svMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3d( void *args )
{
    struct glWindowPos3d_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3d( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3dARB( void *args )
{
    struct glWindowPos3dARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3dARB( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3dMESA( void *args )
{
    struct glWindowPos3dMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3dMESA( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3dv( void *args )
{
    struct glWindowPos3dv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3dv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3dvARB( void *args )
{
    struct glWindowPos3dvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3dvARB( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3dvMESA( void *args )
{
    struct glWindowPos3dvMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3dvMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3f( void *args )
{
    struct glWindowPos3f_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3f( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3fARB( void *args )
{
    struct glWindowPos3fARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3fARB( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3fMESA( void *args )
{
    struct glWindowPos3fMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3fMESA( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3fv( void *args )
{
    struct glWindowPos3fv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3fv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3fvARB( void *args )
{
    struct glWindowPos3fvARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3fvARB( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3fvMESA( void *args )
{
    struct glWindowPos3fvMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3fvMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3i( void *args )
{
    struct glWindowPos3i_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3i( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3iARB( void *args )
{
    struct glWindowPos3iARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3iARB( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3iMESA( void *args )
{
    struct glWindowPos3iMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3iMESA( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3iv( void *args )
{
    struct glWindowPos3iv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3iv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3ivARB( void *args )
{
    struct glWindowPos3ivARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3ivARB( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3ivMESA( void *args )
{
    struct glWindowPos3ivMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3ivMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3s( void *args )
{
    struct glWindowPos3s_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3s( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3sARB( void *args )
{
    struct glWindowPos3sARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3sARB( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3sMESA( void *args )
{
    struct glWindowPos3sMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3sMESA( params->x, params->y, params->z );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3sv( void *args )
{
    struct glWindowPos3sv_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3sv( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3svARB( void *args )
{
    struct glWindowPos3svARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3svARB( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos3svMESA( void *args )
{
    struct glWindowPos3svMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos3svMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos4dMESA( void *args )
{
    struct glWindowPos4dMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos4dMESA( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos4dvMESA( void *args )
{
    struct glWindowPos4dvMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos4dvMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos4fMESA( void *args )
{
    struct glWindowPos4fMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos4fMESA( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos4fvMESA( void *args )
{
    struct glWindowPos4fvMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos4fvMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos4iMESA( void *args )
{
    struct glWindowPos4iMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos4iMESA( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos4ivMESA( void *args )
{
    struct glWindowPos4ivMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos4ivMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos4sMESA( void *args )
{
    struct glWindowPos4sMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos4sMESA( params->x, params->y, params->z, params->w );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowPos4svMESA( void *args )
{
    struct glWindowPos4svMESA_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowPos4svMESA( params->v );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWindowRectanglesEXT( void *args )
{
    struct glWindowRectanglesEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWindowRectanglesEXT( params->mode, params->count, params->box );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_glWriteMaskEXT( void *args )
{
    struct glWriteMaskEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_glWriteMaskEXT( params->res, params->in, params->outX, params->outY, params->outZ, params->outW );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_wglAllocateMemoryNV( void *args )
{
    struct wglAllocateMemoryNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_wglAllocateMemoryNV( params->size, params->readfreq, params->writefreq, params->priority );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_wglChoosePixelFormatARB( void *args )
{
    struct wglChoosePixelFormatARB_params *params = args;
    const struct opengl_funcs *funcs = get_dc_funcs( params->hdc );
    if (!funcs || !funcs->ext.p_wglChoosePixelFormatARB) return STATUS_NOT_IMPLEMENTED;
    params->ret = funcs->ext.p_wglChoosePixelFormatARB( params->hdc, params->piAttribIList, params->pfAttribFList, params->nMaxFormats, params->piFormats, params->nNumFormats );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_wglFreeMemoryNV( void *args )
{
    struct wglFreeMemoryNV_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    funcs->ext.p_wglFreeMemoryNV( params->pointer );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_wglGetCurrentReadDCARB( void *args )
{
    struct wglGetCurrentReadDCARB_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_wglGetCurrentReadDCARB();
    return STATUS_SUCCESS;
}

NTSTATUS ext_wglGetExtensionsStringARB( void *args )
{
    struct wglGetExtensionsStringARB_params *params = args;
    const struct opengl_funcs *funcs = get_dc_funcs( params->hdc );
    if (!funcs || !funcs->ext.p_wglGetExtensionsStringARB) return STATUS_NOT_IMPLEMENTED;
    params->ret = funcs->ext.p_wglGetExtensionsStringARB( params->hdc );
    return STATUS_SUCCESS;
}

NTSTATUS ext_wglGetExtensionsStringEXT( void *args )
{
    struct wglGetExtensionsStringEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_wglGetExtensionsStringEXT();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_wglGetPixelFormatAttribfvARB( void *args )
{
    struct wglGetPixelFormatAttribfvARB_params *params = args;
    const struct opengl_funcs *funcs = get_dc_funcs( params->hdc );
    if (!funcs || !funcs->ext.p_wglGetPixelFormatAttribfvARB) return STATUS_NOT_IMPLEMENTED;
    params->ret = funcs->ext.p_wglGetPixelFormatAttribfvARB( params->hdc, params->iPixelFormat, params->iLayerPlane, params->nAttributes, params->piAttributes, params->pfValues );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_wglGetPixelFormatAttribivARB( void *args )
{
    struct wglGetPixelFormatAttribivARB_params *params = args;
    const struct opengl_funcs *funcs = get_dc_funcs( params->hdc );
    if (!funcs || !funcs->ext.p_wglGetPixelFormatAttribivARB) return STATUS_NOT_IMPLEMENTED;
    params->ret = funcs->ext.p_wglGetPixelFormatAttribivARB( params->hdc, params->iPixelFormat, params->iLayerPlane, params->nAttributes, params->piAttributes, params->piValues );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_wglGetSwapIntervalEXT( void *args )
{
    struct wglGetSwapIntervalEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_wglGetSwapIntervalEXT();
    return STATUS_SUCCESS;
}

static NTSTATUS ext_wglQueryCurrentRendererIntegerWINE( void *args )
{
    struct wglQueryCurrentRendererIntegerWINE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_wglQueryCurrentRendererIntegerWINE( params->attribute, params->value );
    return STATUS_SUCCESS;
}

NTSTATUS ext_wglQueryCurrentRendererStringWINE( void *args )
{
    struct wglQueryCurrentRendererStringWINE_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_wglQueryCurrentRendererStringWINE( params->attribute );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_wglQueryRendererIntegerWINE( void *args )
{
    struct wglQueryRendererIntegerWINE_params *params = args;
    const struct opengl_funcs *funcs = get_dc_funcs( params->dc );
    if (!funcs || !funcs->ext.p_wglQueryRendererIntegerWINE) return STATUS_NOT_IMPLEMENTED;
    params->ret = funcs->ext.p_wglQueryRendererIntegerWINE( params->dc, params->renderer, params->attribute, params->value );
    return STATUS_SUCCESS;
}

NTSTATUS ext_wglQueryRendererStringWINE( void *args )
{
    struct wglQueryRendererStringWINE_params *params = args;
    const struct opengl_funcs *funcs = get_dc_funcs( params->dc );
    if (!funcs || !funcs->ext.p_wglQueryRendererStringWINE) return STATUS_NOT_IMPLEMENTED;
    params->ret = funcs->ext.p_wglQueryRendererStringWINE( params->dc, params->renderer, params->attribute );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_wglSetPixelFormatWINE( void *args )
{
    struct wglSetPixelFormatWINE_params *params = args;
    const struct opengl_funcs *funcs = get_dc_funcs( params->hdc );
    if (!funcs || !funcs->ext.p_wglSetPixelFormatWINE) return STATUS_NOT_IMPLEMENTED;
    params->ret = funcs->ext.p_wglSetPixelFormatWINE( params->hdc, params->format );
    return STATUS_SUCCESS;
}

static NTSTATUS ext_wglSwapIntervalEXT( void *args )
{
    struct wglSwapIntervalEXT_params *params = args;
    const struct opengl_funcs *funcs = params->teb->glTable;
    params->ret = funcs->ext.p_wglSwapIntervalEXT( params->interval );
    return STATUS_SUCCESS;
}

const unixlib_entry_t __wine_unix_call_funcs[] =
{
    process_attach,
    thread_attach,
    process_detach,
    get_pixel_formats,
    wgl_wglCopyContext,
    wgl_wglCreateContext,
    wgl_wglDeleteContext,
    wgl_wglGetPixelFormat,
    wgl_wglGetProcAddress,
    wgl_wglMakeCurrent,
    wgl_wglSetPixelFormat,
    wgl_wglShareLists,
    wgl_wglSwapBuffers,
    gl_glAccum,
    gl_glAlphaFunc,
    gl_glAreTexturesResident,
    gl_glArrayElement,
    gl_glBegin,
    gl_glBindTexture,
    gl_glBitmap,
    gl_glBlendFunc,
    gl_glCallList,
    gl_glCallLists,
    gl_glClear,
    gl_glClearAccum,
    gl_glClearColor,
    gl_glClearDepth,
    gl_glClearIndex,
    gl_glClearStencil,
    gl_glClipPlane,
    gl_glColor3b,
    gl_glColor3bv,
    gl_glColor3d,
    gl_glColor3dv,
    gl_glColor3f,
    gl_glColor3fv,
    gl_glColor3i,
    gl_glColor3iv,
    gl_glColor3s,
    gl_glColor3sv,
    gl_glColor3ub,
    gl_glColor3ubv,
    gl_glColor3ui,
    gl_glColor3uiv,
    gl_glColor3us,
    gl_glColor3usv,
    gl_glColor4b,
    gl_glColor4bv,
    gl_glColor4d,
    gl_glColor4dv,
    gl_glColor4f,
    gl_glColor4fv,
    gl_glColor4i,
    gl_glColor4iv,
    gl_glColor4s,
    gl_glColor4sv,
    gl_glColor4ub,
    gl_glColor4ubv,
    gl_glColor4ui,
    gl_glColor4uiv,
    gl_glColor4us,
    gl_glColor4usv,
    gl_glColorMask,
    gl_glColorMaterial,
    gl_glColorPointer,
    gl_glCopyPixels,
    gl_glCopyTexImage1D,
    gl_glCopyTexImage2D,
    gl_glCopyTexSubImage1D,
    gl_glCopyTexSubImage2D,
    gl_glCullFace,
    gl_glDeleteLists,
    gl_glDeleteTextures,
    gl_glDepthFunc,
    gl_glDepthMask,
    gl_glDepthRange,
    gl_glDisable,
    gl_glDisableClientState,
    gl_glDrawArrays,
    gl_glDrawBuffer,
    gl_glDrawElements,
    gl_glDrawPixels,
    gl_glEdgeFlag,
    gl_glEdgeFlagPointer,
    gl_glEdgeFlagv,
    gl_glEnable,
    gl_glEnableClientState,
    gl_glEnd,
    gl_glEndList,
    gl_glEvalCoord1d,
    gl_glEvalCoord1dv,
    gl_glEvalCoord1f,
    gl_glEvalCoord1fv,
    gl_glEvalCoord2d,
    gl_glEvalCoord2dv,
    gl_glEvalCoord2f,
    gl_glEvalCoord2fv,
    gl_glEvalMesh1,
    gl_glEvalMesh2,
    gl_glEvalPoint1,
    gl_glEvalPoint2,
    gl_glFeedbackBuffer,
    gl_glFinish,
    gl_glFlush,
    gl_glFogf,
    gl_glFogfv,
    gl_glFogi,
    gl_glFogiv,
    gl_glFrontFace,
    gl_glFrustum,
    gl_glGenLists,
    gl_glGenTextures,
    gl_glGetBooleanv,
    gl_glGetClipPlane,
    gl_glGetDoublev,
    gl_glGetError,
    gl_glGetFloatv,
    gl_glGetIntegerv,
    gl_glGetLightfv,
    gl_glGetLightiv,
    gl_glGetMapdv,
    gl_glGetMapfv,
    gl_glGetMapiv,
    gl_glGetMaterialfv,
    gl_glGetMaterialiv,
    gl_glGetPixelMapfv,
    gl_glGetPixelMapuiv,
    gl_glGetPixelMapusv,
    gl_glGetPointerv,
    gl_glGetPolygonStipple,
    gl_glGetString,
    gl_glGetTexEnvfv,
    gl_glGetTexEnviv,
    gl_glGetTexGendv,
    gl_glGetTexGenfv,
    gl_glGetTexGeniv,
    gl_glGetTexImage,
    gl_glGetTexLevelParameterfv,
    gl_glGetTexLevelParameteriv,
    gl_glGetTexParameterfv,
    gl_glGetTexParameteriv,
    gl_glHint,
    gl_glIndexMask,
    gl_glIndexPointer,
    gl_glIndexd,
    gl_glIndexdv,
    gl_glIndexf,
    gl_glIndexfv,
    gl_glIndexi,
    gl_glIndexiv,
    gl_glIndexs,
    gl_glIndexsv,
    gl_glIndexub,
    gl_glIndexubv,
    gl_glInitNames,
    gl_glInterleavedArrays,
    gl_glIsEnabled,
    gl_glIsList,
    gl_glIsTexture,
    gl_glLightModelf,
    gl_glLightModelfv,
    gl_glLightModeli,
    gl_glLightModeliv,
    gl_glLightf,
    gl_glLightfv,
    gl_glLighti,
    gl_glLightiv,
    gl_glLineStipple,
    gl_glLineWidth,
    gl_glListBase,
    gl_glLoadIdentity,
    gl_glLoadMatrixd,
    gl_glLoadMatrixf,
    gl_glLoadName,
    gl_glLogicOp,
    gl_glMap1d,
    gl_glMap1f,
    gl_glMap2d,
    gl_glMap2f,
    gl_glMapGrid1d,
    gl_glMapGrid1f,
    gl_glMapGrid2d,
    gl_glMapGrid2f,
    gl_glMaterialf,
    gl_glMaterialfv,
    gl_glMateriali,
    gl_glMaterialiv,
    gl_glMatrixMode,
    gl_glMultMatrixd,
    gl_glMultMatrixf,
    gl_glNewList,
    gl_glNormal3b,
    gl_glNormal3bv,
    gl_glNormal3d,
    gl_glNormal3dv,
    gl_glNormal3f,
    gl_glNormal3fv,
    gl_glNormal3i,
    gl_glNormal3iv,
    gl_glNormal3s,
    gl_glNormal3sv,
    gl_glNormalPointer,
    gl_glOrtho,
    gl_glPassThrough,
    gl_glPixelMapfv,
    gl_glPixelMapuiv,
    gl_glPixelMapusv,
    gl_glPixelStoref,
    gl_glPixelStorei,
    gl_glPixelTransferf,
    gl_glPixelTransferi,
    gl_glPixelZoom,
    gl_glPointSize,
    gl_glPolygonMode,
    gl_glPolygonOffset,
    gl_glPolygonStipple,
    gl_glPopAttrib,
    gl_glPopClientAttrib,
    gl_glPopMatrix,
    gl_glPopName,
    gl_glPrioritizeTextures,
    gl_glPushAttrib,
    gl_glPushClientAttrib,
    gl_glPushMatrix,
    gl_glPushName,
    gl_glRasterPos2d,
    gl_glRasterPos2dv,
    gl_glRasterPos2f,
    gl_glRasterPos2fv,
    gl_glRasterPos2i,
    gl_glRasterPos2iv,
    gl_glRasterPos2s,
    gl_glRasterPos2sv,
    gl_glRasterPos3d,
    gl_glRasterPos3dv,
    gl_glRasterPos3f,
    gl_glRasterPos3fv,
    gl_glRasterPos3i,
    gl_glRasterPos3iv,
    gl_glRasterPos3s,
    gl_glRasterPos3sv,
    gl_glRasterPos4d,
    gl_glRasterPos4dv,
    gl_glRasterPos4f,
    gl_glRasterPos4fv,
    gl_glRasterPos4i,
    gl_glRasterPos4iv,
    gl_glRasterPos4s,
    gl_glRasterPos4sv,
    gl_glReadBuffer,
    gl_glReadPixels,
    gl_glRectd,
    gl_glRectdv,
    gl_glRectf,
    gl_glRectfv,
    gl_glRecti,
    gl_glRectiv,
    gl_glRects,
    gl_glRectsv,
    gl_glRenderMode,
    gl_glRotated,
    gl_glRotatef,
    gl_glScaled,
    gl_glScalef,
    gl_glScissor,
    gl_glSelectBuffer,
    gl_glShadeModel,
    gl_glStencilFunc,
    gl_glStencilMask,
    gl_glStencilOp,
    gl_glTexCoord1d,
    gl_glTexCoord1dv,
    gl_glTexCoord1f,
    gl_glTexCoord1fv,
    gl_glTexCoord1i,
    gl_glTexCoord1iv,
    gl_glTexCoord1s,
    gl_glTexCoord1sv,
    gl_glTexCoord2d,
    gl_glTexCoord2dv,
    gl_glTexCoord2f,
    gl_glTexCoord2fv,
    gl_glTexCoord2i,
    gl_glTexCoord2iv,
    gl_glTexCoord2s,
    gl_glTexCoord2sv,
    gl_glTexCoord3d,
    gl_glTexCoord3dv,
    gl_glTexCoord3f,
    gl_glTexCoord3fv,
    gl_glTexCoord3i,
    gl_glTexCoord3iv,
    gl_glTexCoord3s,
    gl_glTexCoord3sv,
    gl_glTexCoord4d,
    gl_glTexCoord4dv,
    gl_glTexCoord4f,
    gl_glTexCoord4fv,
    gl_glTexCoord4i,
    gl_glTexCoord4iv,
    gl_glTexCoord4s,
    gl_glTexCoord4sv,
    gl_glTexCoordPointer,
    gl_glTexEnvf,
    gl_glTexEnvfv,
    gl_glTexEnvi,
    gl_glTexEnviv,
    gl_glTexGend,
    gl_glTexGendv,
    gl_glTexGenf,
    gl_glTexGenfv,
    gl_glTexGeni,
    gl_glTexGeniv,
    gl_glTexImage1D,
    gl_glTexImage2D,
    gl_glTexParameterf,
    gl_glTexParameterfv,
    gl_glTexParameteri,
    gl_glTexParameteriv,
    gl_glTexSubImage1D,
    gl_glTexSubImage2D,
    gl_glTranslated,
    gl_glTranslatef,
    gl_glVertex2d,
    gl_glVertex2dv,
    gl_glVertex2f,
    gl_glVertex2fv,
    gl_glVertex2i,
    gl_glVertex2iv,
    gl_glVertex2s,
    gl_glVertex2sv,
    gl_glVertex3d,
    gl_glVertex3dv,
    gl_glVertex3f,
    gl_glVertex3fv,
    gl_glVertex3i,
    gl_glVertex3iv,
    gl_glVertex3s,
    gl_glVertex3sv,
    gl_glVertex4d,
    gl_glVertex4dv,
    gl_glVertex4f,
    gl_glVertex4fv,
    gl_glVertex4i,
    gl_glVertex4iv,
    gl_glVertex4s,
    gl_glVertex4sv,
    gl_glVertexPointer,
    gl_glViewport,
    ext_glAccumxOES,
    ext_glAcquireKeyedMutexWin32EXT,
    ext_glActiveProgramEXT,
    ext_glActiveShaderProgram,
    ext_glActiveStencilFaceEXT,
    ext_glActiveTexture,
    ext_glActiveTextureARB,
    ext_glActiveVaryingNV,
    ext_glAlphaFragmentOp1ATI,
    ext_glAlphaFragmentOp2ATI,
    ext_glAlphaFragmentOp3ATI,
    ext_glAlphaFuncxOES,
    ext_glAlphaToCoverageDitherControlNV,
    ext_glApplyFramebufferAttachmentCMAAINTEL,
    ext_glApplyTextureEXT,
    ext_glAreProgramsResidentNV,
    ext_glAreTexturesResidentEXT,
    ext_glArrayElementEXT,
    ext_glArrayObjectATI,
    ext_glAsyncCopyBufferSubDataNVX,
    ext_glAsyncCopyImageSubDataNVX,
    ext_glAsyncMarkerSGIX,
    ext_glAttachObjectARB,
    ext_glAttachShader,
    ext_glBeginConditionalRender,
    ext_glBeginConditionalRenderNV,
    ext_glBeginConditionalRenderNVX,
    ext_glBeginFragmentShaderATI,
    ext_glBeginOcclusionQueryNV,
    ext_glBeginPerfMonitorAMD,
    ext_glBeginPerfQueryINTEL,
    ext_glBeginQuery,
    ext_glBeginQueryARB,
    ext_glBeginQueryIndexed,
    ext_glBeginTransformFeedback,
    ext_glBeginTransformFeedbackEXT,
    ext_glBeginTransformFeedbackNV,
    ext_glBeginVertexShaderEXT,
    ext_glBeginVideoCaptureNV,
    ext_glBindAttribLocation,
    ext_glBindAttribLocationARB,
    ext_glBindBuffer,
    ext_glBindBufferARB,
    ext_glBindBufferBase,
    ext_glBindBufferBaseEXT,
    ext_glBindBufferBaseNV,
    ext_glBindBufferOffsetEXT,
    ext_glBindBufferOffsetNV,
    ext_glBindBufferRange,
    ext_glBindBufferRangeEXT,
    ext_glBindBufferRangeNV,
    ext_glBindBuffersBase,
    ext_glBindBuffersRange,
    ext_glBindFragDataLocation,
    ext_glBindFragDataLocationEXT,
    ext_glBindFragDataLocationIndexed,
    ext_glBindFragmentShaderATI,
    ext_glBindFramebuffer,
    ext_glBindFramebufferEXT,
    ext_glBindImageTexture,
    ext_glBindImageTextureEXT,
    ext_glBindImageTextures,
    ext_glBindLightParameterEXT,
    ext_glBindMaterialParameterEXT,
    ext_glBindMultiTextureEXT,
    ext_glBindParameterEXT,
    ext_glBindProgramARB,
    ext_glBindProgramNV,
    ext_glBindProgramPipeline,
    ext_glBindRenderbuffer,
    ext_glBindRenderbufferEXT,
    ext_glBindSampler,
    ext_glBindSamplers,
    ext_glBindShadingRateImageNV,
    ext_glBindTexGenParameterEXT,
    ext_glBindTextureEXT,
    ext_glBindTextureUnit,
    ext_glBindTextureUnitParameterEXT,
    ext_glBindTextures,
    ext_glBindTransformFeedback,
    ext_glBindTransformFeedbackNV,
    ext_glBindVertexArray,
    ext_glBindVertexArrayAPPLE,
    ext_glBindVertexBuffer,
    ext_glBindVertexBuffers,
    ext_glBindVertexShaderEXT,
    ext_glBindVideoCaptureStreamBufferNV,
    ext_glBindVideoCaptureStreamTextureNV,
    ext_glBinormal3bEXT,
    ext_glBinormal3bvEXT,
    ext_glBinormal3dEXT,
    ext_glBinormal3dvEXT,
    ext_glBinormal3fEXT,
    ext_glBinormal3fvEXT,
    ext_glBinormal3iEXT,
    ext_glBinormal3ivEXT,
    ext_glBinormal3sEXT,
    ext_glBinormal3svEXT,
    ext_glBinormalPointerEXT,
    ext_glBitmapxOES,
    ext_glBlendBarrierKHR,
    ext_glBlendBarrierNV,
    ext_glBlendColor,
    ext_glBlendColorEXT,
    ext_glBlendColorxOES,
    ext_glBlendEquation,
    ext_glBlendEquationEXT,
    ext_glBlendEquationIndexedAMD,
    ext_glBlendEquationSeparate,
    ext_glBlendEquationSeparateEXT,
    ext_glBlendEquationSeparateIndexedAMD,
    ext_glBlendEquationSeparatei,
    ext_glBlendEquationSeparateiARB,
    ext_glBlendEquationi,
    ext_glBlendEquationiARB,
    ext_glBlendFuncIndexedAMD,
    ext_glBlendFuncSeparate,
    ext_glBlendFuncSeparateEXT,
    ext_glBlendFuncSeparateINGR,
    ext_glBlendFuncSeparateIndexedAMD,
    ext_glBlendFuncSeparatei,
    ext_glBlendFuncSeparateiARB,
    ext_glBlendFunci,
    ext_glBlendFunciARB,
    ext_glBlendParameteriNV,
    ext_glBlitFramebuffer,
    ext_glBlitFramebufferEXT,
    ext_glBlitNamedFramebuffer,
    ext_glBufferAddressRangeNV,
    ext_glBufferAttachMemoryNV,
    ext_glBufferData,
    ext_glBufferDataARB,
    ext_glBufferPageCommitmentARB,
    ext_glBufferParameteriAPPLE,
    ext_glBufferRegionEnabled,
    ext_glBufferStorage,
    ext_glBufferStorageExternalEXT,
    ext_glBufferStorageMemEXT,
    ext_glBufferSubData,
    ext_glBufferSubDataARB,
    ext_glCallCommandListNV,
    ext_glCheckFramebufferStatus,
    ext_glCheckFramebufferStatusEXT,
    ext_glCheckNamedFramebufferStatus,
    ext_glCheckNamedFramebufferStatusEXT,
    ext_glClampColor,
    ext_glClampColorARB,
    ext_glClearAccumxOES,
    ext_glClearBufferData,
    ext_glClearBufferSubData,
    ext_glClearBufferfi,
    ext_glClearBufferfv,
    ext_glClearBufferiv,
    ext_glClearBufferuiv,
    ext_glClearColorIiEXT,
    ext_glClearColorIuiEXT,
    ext_glClearColorxOES,
    ext_glClearDepthdNV,
    ext_glClearDepthf,
    ext_glClearDepthfOES,
    ext_glClearDepthxOES,
    ext_glClearNamedBufferData,
    ext_glClearNamedBufferDataEXT,
    ext_glClearNamedBufferSubData,
    ext_glClearNamedBufferSubDataEXT,
    ext_glClearNamedFramebufferfi,
    ext_glClearNamedFramebufferfv,
    ext_glClearNamedFramebufferiv,
    ext_glClearNamedFramebufferuiv,
    ext_glClearTexImage,
    ext_glClearTexSubImage,
    ext_glClientActiveTexture,
    ext_glClientActiveTextureARB,
    ext_glClientActiveVertexStreamATI,
    ext_glClientAttribDefaultEXT,
    ext_glClientWaitSemaphoreui64NVX,
    ext_glClientWaitSync,
    ext_glClipControl,
    ext_glClipPlanefOES,
    ext_glClipPlanexOES,
    ext_glColor3fVertex3fSUN,
    ext_glColor3fVertex3fvSUN,
    ext_glColor3hNV,
    ext_glColor3hvNV,
    ext_glColor3xOES,
    ext_glColor3xvOES,
    ext_glColor4fNormal3fVertex3fSUN,
    ext_glColor4fNormal3fVertex3fvSUN,
    ext_glColor4hNV,
    ext_glColor4hvNV,
    ext_glColor4ubVertex2fSUN,
    ext_glColor4ubVertex2fvSUN,
    ext_glColor4ubVertex3fSUN,
    ext_glColor4ubVertex3fvSUN,
    ext_glColor4xOES,
    ext_glColor4xvOES,
    ext_glColorFormatNV,
    ext_glColorFragmentOp1ATI,
    ext_glColorFragmentOp2ATI,
    ext_glColorFragmentOp3ATI,
    ext_glColorMaskIndexedEXT,
    ext_glColorMaski,
    ext_glColorP3ui,
    ext_glColorP3uiv,
    ext_glColorP4ui,
    ext_glColorP4uiv,
    ext_glColorPointerEXT,
    ext_glColorPointerListIBM,
    ext_glColorPointervINTEL,
    ext_glColorSubTable,
    ext_glColorSubTableEXT,
    ext_glColorTable,
    ext_glColorTableEXT,
    ext_glColorTableParameterfv,
    ext_glColorTableParameterfvSGI,
    ext_glColorTableParameteriv,
    ext_glColorTableParameterivSGI,
    ext_glColorTableSGI,
    ext_glCombinerInputNV,
    ext_glCombinerOutputNV,
    ext_glCombinerParameterfNV,
    ext_glCombinerParameterfvNV,
    ext_glCombinerParameteriNV,
    ext_glCombinerParameterivNV,
    ext_glCombinerStageParameterfvNV,
    ext_glCommandListSegmentsNV,
    ext_glCompileCommandListNV,
    ext_glCompileShader,
    ext_glCompileShaderARB,
    ext_glCompileShaderIncludeARB,
    ext_glCompressedMultiTexImage1DEXT,
    ext_glCompressedMultiTexImage2DEXT,
    ext_glCompressedMultiTexImage3DEXT,
    ext_glCompressedMultiTexSubImage1DEXT,
    ext_glCompressedMultiTexSubImage2DEXT,
    ext_glCompressedMultiTexSubImage3DEXT,
    ext_glCompressedTexImage1D,
    ext_glCompressedTexImage1DARB,
    ext_glCompressedTexImage2D,
    ext_glCompressedTexImage2DARB,
    ext_glCompressedTexImage3D,
    ext_glCompressedTexImage3DARB,
    ext_glCompressedTexSubImage1D,
    ext_glCompressedTexSubImage1DARB,
    ext_glCompressedTexSubImage2D,
    ext_glCompressedTexSubImage2DARB,
    ext_glCompressedTexSubImage3D,
    ext_glCompressedTexSubImage3DARB,
    ext_glCompressedTextureImage1DEXT,
    ext_glCompressedTextureImage2DEXT,
    ext_glCompressedTextureImage3DEXT,
    ext_glCompressedTextureSubImage1D,
    ext_glCompressedTextureSubImage1DEXT,
    ext_glCompressedTextureSubImage2D,
    ext_glCompressedTextureSubImage2DEXT,
    ext_glCompressedTextureSubImage3D,
    ext_glCompressedTextureSubImage3DEXT,
    ext_glConservativeRasterParameterfNV,
    ext_glConservativeRasterParameteriNV,
    ext_glConvolutionFilter1D,
    ext_glConvolutionFilter1DEXT,
    ext_glConvolutionFilter2D,
    ext_glConvolutionFilter2DEXT,
    ext_glConvolutionParameterf,
    ext_glConvolutionParameterfEXT,
    ext_glConvolutionParameterfv,
    ext_glConvolutionParameterfvEXT,
    ext_glConvolutionParameteri,
    ext_glConvolutionParameteriEXT,
    ext_glConvolutionParameteriv,
    ext_glConvolutionParameterivEXT,
    ext_glConvolutionParameterxOES,
    ext_glConvolutionParameterxvOES,
    ext_glCopyBufferSubData,
    ext_glCopyColorSubTable,
    ext_glCopyColorSubTableEXT,
    ext_glCopyColorTable,
    ext_glCopyColorTableSGI,
    ext_glCopyConvolutionFilter1D,
    ext_glCopyConvolutionFilter1DEXT,
    ext_glCopyConvolutionFilter2D,
    ext_glCopyConvolutionFilter2DEXT,
    ext_glCopyImageSubData,
    ext_glCopyImageSubDataNV,
    ext_glCopyMultiTexImage1DEXT,
    ext_glCopyMultiTexImage2DEXT,
    ext_glCopyMultiTexSubImage1DEXT,
    ext_glCopyMultiTexSubImage2DEXT,
    ext_glCopyMultiTexSubImage3DEXT,
    ext_glCopyNamedBufferSubData,
    ext_glCopyPathNV,
    ext_glCopyTexImage1DEXT,
    ext_glCopyTexImage2DEXT,
    ext_glCopyTexSubImage1DEXT,
    ext_glCopyTexSubImage2DEXT,
    ext_glCopyTexSubImage3D,
    ext_glCopyTexSubImage3DEXT,
    ext_glCopyTextureImage1DEXT,
    ext_glCopyTextureImage2DEXT,
    ext_glCopyTextureSubImage1D,
    ext_glCopyTextureSubImage1DEXT,
    ext_glCopyTextureSubImage2D,
    ext_glCopyTextureSubImage2DEXT,
    ext_glCopyTextureSubImage3D,
    ext_glCopyTextureSubImage3DEXT,
    ext_glCoverFillPathInstancedNV,
    ext_glCoverFillPathNV,
    ext_glCoverStrokePathInstancedNV,
    ext_glCoverStrokePathNV,
    ext_glCoverageModulationNV,
    ext_glCoverageModulationTableNV,
    ext_glCreateBuffers,
    ext_glCreateCommandListsNV,
    ext_glCreateFramebuffers,
    ext_glCreateMemoryObjectsEXT,
    ext_glCreatePerfQueryINTEL,
    ext_glCreateProgram,
    ext_glCreateProgramObjectARB,
    ext_glCreateProgramPipelines,
    ext_glCreateProgressFenceNVX,
    ext_glCreateQueries,
    ext_glCreateRenderbuffers,
    ext_glCreateSamplers,
    ext_glCreateShader,
    ext_glCreateShaderObjectARB,
    ext_glCreateShaderProgramEXT,
    ext_glCreateShaderProgramv,
    ext_glCreateStatesNV,
    ext_glCreateSyncFromCLeventARB,
    ext_glCreateTextures,
    ext_glCreateTransformFeedbacks,
    ext_glCreateVertexArrays,
    ext_glCullParameterdvEXT,
    ext_glCullParameterfvEXT,
    ext_glCurrentPaletteMatrixARB,
    ext_glDebugMessageCallback,
    ext_glDebugMessageCallbackAMD,
    ext_glDebugMessageCallbackARB,
    ext_glDebugMessageControl,
    ext_glDebugMessageControlARB,
    ext_glDebugMessageEnableAMD,
    ext_glDebugMessageInsert,
    ext_glDebugMessageInsertAMD,
    ext_glDebugMessageInsertARB,
    ext_glDeformSGIX,
    ext_glDeformationMap3dSGIX,
    ext_glDeformationMap3fSGIX,
    ext_glDeleteAsyncMarkersSGIX,
    ext_glDeleteBufferRegion,
    ext_glDeleteBuffers,
    ext_glDeleteBuffersARB,
    ext_glDeleteCommandListsNV,
    ext_glDeleteFencesAPPLE,
    ext_glDeleteFencesNV,
    ext_glDeleteFragmentShaderATI,
    ext_glDeleteFramebuffers,
    ext_glDeleteFramebuffersEXT,
    ext_glDeleteMemoryObjectsEXT,
    ext_glDeleteNamedStringARB,
    ext_glDeleteNamesAMD,
    ext_glDeleteObjectARB,
    ext_glDeleteObjectBufferATI,
    ext_glDeleteOcclusionQueriesNV,
    ext_glDeletePathsNV,
    ext_glDeletePerfMonitorsAMD,
    ext_glDeletePerfQueryINTEL,
    ext_glDeleteProgram,
    ext_glDeleteProgramPipelines,
    ext_glDeleteProgramsARB,
    ext_glDeleteProgramsNV,
    ext_glDeleteQueries,
    ext_glDeleteQueriesARB,
    ext_glDeleteQueryResourceTagNV,
    ext_glDeleteRenderbuffers,
    ext_glDeleteRenderbuffersEXT,
    ext_glDeleteSamplers,
    ext_glDeleteSemaphoresEXT,
    ext_glDeleteShader,
    ext_glDeleteStatesNV,
    ext_glDeleteSync,
    ext_glDeleteTexturesEXT,
    ext_glDeleteTransformFeedbacks,
    ext_glDeleteTransformFeedbacksNV,
    ext_glDeleteVertexArrays,
    ext_glDeleteVertexArraysAPPLE,
    ext_glDeleteVertexShaderEXT,
    ext_glDepthBoundsEXT,
    ext_glDepthBoundsdNV,
    ext_glDepthRangeArraydvNV,
    ext_glDepthRangeArrayv,
    ext_glDepthRangeIndexed,
    ext_glDepthRangeIndexeddNV,
    ext_glDepthRangedNV,
    ext_glDepthRangef,
    ext_glDepthRangefOES,
    ext_glDepthRangexOES,
    ext_glDetachObjectARB,
    ext_glDetachShader,
    ext_glDetailTexFuncSGIS,
    ext_glDisableClientStateIndexedEXT,
    ext_glDisableClientStateiEXT,
    ext_glDisableIndexedEXT,
    ext_glDisableVariantClientStateEXT,
    ext_glDisableVertexArrayAttrib,
    ext_glDisableVertexArrayAttribEXT,
    ext_glDisableVertexArrayEXT,
    ext_glDisableVertexAttribAPPLE,
    ext_glDisableVertexAttribArray,
    ext_glDisableVertexAttribArrayARB,
    ext_glDisablei,
    ext_glDispatchCompute,
    ext_glDispatchComputeGroupSizeARB,
    ext_glDispatchComputeIndirect,
    ext_glDrawArraysEXT,
    ext_glDrawArraysIndirect,
    ext_glDrawArraysInstanced,
    ext_glDrawArraysInstancedARB,
    ext_glDrawArraysInstancedBaseInstance,
    ext_glDrawArraysInstancedEXT,
    ext_glDrawBufferRegion,
    ext_glDrawBuffers,
    ext_glDrawBuffersARB,
    ext_glDrawBuffersATI,
    ext_glDrawCommandsAddressNV,
    ext_glDrawCommandsNV,
    ext_glDrawCommandsStatesAddressNV,
    ext_glDrawCommandsStatesNV,
    ext_glDrawElementArrayAPPLE,
    ext_glDrawElementArrayATI,
    ext_glDrawElementsBaseVertex,
    ext_glDrawElementsIndirect,
    ext_glDrawElementsInstanced,
    ext_glDrawElementsInstancedARB,
    ext_glDrawElementsInstancedBaseInstance,
    ext_glDrawElementsInstancedBaseVertex,
    ext_glDrawElementsInstancedBaseVertexBaseInstance,
    ext_glDrawElementsInstancedEXT,
    ext_glDrawMeshArraysSUN,
    ext_glDrawMeshTasksIndirectNV,
    ext_glDrawMeshTasksNV,
    ext_glDrawRangeElementArrayAPPLE,
    ext_glDrawRangeElementArrayATI,
    ext_glDrawRangeElements,
    ext_glDrawRangeElementsBaseVertex,
    ext_glDrawRangeElementsEXT,
    ext_glDrawTextureNV,
    ext_glDrawTransformFeedback,
    ext_glDrawTransformFeedbackInstanced,
    ext_glDrawTransformFeedbackNV,
    ext_glDrawTransformFeedbackStream,
    ext_glDrawTransformFeedbackStreamInstanced,
    ext_glDrawVkImageNV,
    ext_glEGLImageTargetTexStorageEXT,
    ext_glEGLImageTargetTextureStorageEXT,
    ext_glEdgeFlagFormatNV,
    ext_glEdgeFlagPointerEXT,
    ext_glEdgeFlagPointerListIBM,
    ext_glElementPointerAPPLE,
    ext_glElementPointerATI,
    ext_glEnableClientStateIndexedEXT,
    ext_glEnableClientStateiEXT,
    ext_glEnableIndexedEXT,
    ext_glEnableVariantClientStateEXT,
    ext_glEnableVertexArrayAttrib,
    ext_glEnableVertexArrayAttribEXT,
    ext_glEnableVertexArrayEXT,
    ext_glEnableVertexAttribAPPLE,
    ext_glEnableVertexAttribArray,
    ext_glEnableVertexAttribArrayARB,
    ext_glEnablei,
    ext_glEndConditionalRender,
    ext_glEndConditionalRenderNV,
    ext_glEndConditionalRenderNVX,
    ext_glEndFragmentShaderATI,
    ext_glEndOcclusionQueryNV,
    ext_glEndPerfMonitorAMD,
    ext_glEndPerfQueryINTEL,
    ext_glEndQuery,
    ext_glEndQueryARB,
    ext_glEndQueryIndexed,
    ext_glEndTransformFeedback,
    ext_glEndTransformFeedbackEXT,
    ext_glEndTransformFeedbackNV,
    ext_glEndVertexShaderEXT,
    ext_glEndVideoCaptureNV,
    ext_glEvalCoord1xOES,
    ext_glEvalCoord1xvOES,
    ext_glEvalCoord2xOES,
    ext_glEvalCoord2xvOES,
    ext_glEvalMapsNV,
    ext_glEvaluateDepthValuesARB,
    ext_glExecuteProgramNV,
    ext_glExtractComponentEXT,
    ext_glFeedbackBufferxOES,
    ext_glFenceSync,
    ext_glFinalCombinerInputNV,
    ext_glFinishAsyncSGIX,
    ext_glFinishFenceAPPLE,
    ext_glFinishFenceNV,
    ext_glFinishObjectAPPLE,
    ext_glFinishTextureSUNX,
    ext_glFlushMappedBufferRange,
    ext_glFlushMappedBufferRangeAPPLE,
    ext_glFlushMappedNamedBufferRange,
    ext_glFlushMappedNamedBufferRangeEXT,
    ext_glFlushPixelDataRangeNV,
    ext_glFlushRasterSGIX,
    ext_glFlushStaticDataIBM,
    ext_glFlushVertexArrayRangeAPPLE,
    ext_glFlushVertexArrayRangeNV,
    ext_glFogCoordFormatNV,
    ext_glFogCoordPointer,
    ext_glFogCoordPointerEXT,
    ext_glFogCoordPointerListIBM,
    ext_glFogCoordd,
    ext_glFogCoorddEXT,
    ext_glFogCoorddv,
    ext_glFogCoorddvEXT,
    ext_glFogCoordf,
    ext_glFogCoordfEXT,
    ext_glFogCoordfv,
    ext_glFogCoordfvEXT,
    ext_glFogCoordhNV,
    ext_glFogCoordhvNV,
    ext_glFogFuncSGIS,
    ext_glFogxOES,
    ext_glFogxvOES,
    ext_glFragmentColorMaterialSGIX,
    ext_glFragmentCoverageColorNV,
    ext_glFragmentLightModelfSGIX,
    ext_glFragmentLightModelfvSGIX,
    ext_glFragmentLightModeliSGIX,
    ext_glFragmentLightModelivSGIX,
    ext_glFragmentLightfSGIX,
    ext_glFragmentLightfvSGIX,
    ext_glFragmentLightiSGIX,
    ext_glFragmentLightivSGIX,
    ext_glFragmentMaterialfSGIX,
    ext_glFragmentMaterialfvSGIX,
    ext_glFragmentMaterialiSGIX,
    ext_glFragmentMaterialivSGIX,
    ext_glFrameTerminatorGREMEDY,
    ext_glFrameZoomSGIX,
    ext_glFramebufferDrawBufferEXT,
    ext_glFramebufferDrawBuffersEXT,
    ext_glFramebufferFetchBarrierEXT,
    ext_glFramebufferParameteri,
    ext_glFramebufferParameteriMESA,
    ext_glFramebufferReadBufferEXT,
    ext_glFramebufferRenderbuffer,
    ext_glFramebufferRenderbufferEXT,
    ext_glFramebufferSampleLocationsfvARB,
    ext_glFramebufferSampleLocationsfvNV,
    ext_glFramebufferSamplePositionsfvAMD,
    ext_glFramebufferTexture,
    ext_glFramebufferTexture1D,
    ext_glFramebufferTexture1DEXT,
    ext_glFramebufferTexture2D,
    ext_glFramebufferTexture2DEXT,
    ext_glFramebufferTexture3D,
    ext_glFramebufferTexture3DEXT,
    ext_glFramebufferTextureARB,
    ext_glFramebufferTextureEXT,
    ext_glFramebufferTextureFaceARB,
    ext_glFramebufferTextureFaceEXT,
    ext_glFramebufferTextureLayer,
    ext_glFramebufferTextureLayerARB,
    ext_glFramebufferTextureLayerEXT,
    ext_glFramebufferTextureMultiviewOVR,
    ext_glFreeObjectBufferATI,
    ext_glFrustumfOES,
    ext_glFrustumxOES,
    ext_glGenAsyncMarkersSGIX,
    ext_glGenBuffers,
    ext_glGenBuffersARB,
    ext_glGenFencesAPPLE,
    ext_glGenFencesNV,
    ext_glGenFragmentShadersATI,
    ext_glGenFramebuffers,
    ext_glGenFramebuffersEXT,
    ext_glGenNamesAMD,
    ext_glGenOcclusionQueriesNV,
    ext_glGenPathsNV,
    ext_glGenPerfMonitorsAMD,
    ext_glGenProgramPipelines,
    ext_glGenProgramsARB,
    ext_glGenProgramsNV,
    ext_glGenQueries,
    ext_glGenQueriesARB,
    ext_glGenQueryResourceTagNV,
    ext_glGenRenderbuffers,
    ext_glGenRenderbuffersEXT,
    ext_glGenSamplers,
    ext_glGenSemaphoresEXT,
    ext_glGenSymbolsEXT,
    ext_glGenTexturesEXT,
    ext_glGenTransformFeedbacks,
    ext_glGenTransformFeedbacksNV,
    ext_glGenVertexArrays,
    ext_glGenVertexArraysAPPLE,
    ext_glGenVertexShadersEXT,
    ext_glGenerateMipmap,
    ext_glGenerateMipmapEXT,
    ext_glGenerateMultiTexMipmapEXT,
    ext_glGenerateTextureMipmap,
    ext_glGenerateTextureMipmapEXT,
    ext_glGetActiveAtomicCounterBufferiv,
    ext_glGetActiveAttrib,
    ext_glGetActiveAttribARB,
    ext_glGetActiveSubroutineName,
    ext_glGetActiveSubroutineUniformName,
    ext_glGetActiveSubroutineUniformiv,
    ext_glGetActiveUniform,
    ext_glGetActiveUniformARB,
    ext_glGetActiveUniformBlockName,
    ext_glGetActiveUniformBlockiv,
    ext_glGetActiveUniformName,
    ext_glGetActiveUniformsiv,
    ext_glGetActiveVaryingNV,
    ext_glGetArrayObjectfvATI,
    ext_glGetArrayObjectivATI,
    ext_glGetAttachedObjectsARB,
    ext_glGetAttachedShaders,
    ext_glGetAttribLocation,
    ext_glGetAttribLocationARB,
    ext_glGetBooleanIndexedvEXT,
    ext_glGetBooleani_v,
    ext_glGetBufferParameteri64v,
    ext_glGetBufferParameteriv,
    ext_glGetBufferParameterivARB,
    ext_glGetBufferParameterui64vNV,
    ext_glGetBufferPointerv,
    ext_glGetBufferPointervARB,
    ext_glGetBufferSubData,
    ext_glGetBufferSubDataARB,
    ext_glGetClipPlanefOES,
    ext_glGetClipPlanexOES,
    ext_glGetColorTable,
    ext_glGetColorTableEXT,
    ext_glGetColorTableParameterfv,
    ext_glGetColorTableParameterfvEXT,
    ext_glGetColorTableParameterfvSGI,
    ext_glGetColorTableParameteriv,
    ext_glGetColorTableParameterivEXT,
    ext_glGetColorTableParameterivSGI,
    ext_glGetColorTableSGI,
    ext_glGetCombinerInputParameterfvNV,
    ext_glGetCombinerInputParameterivNV,
    ext_glGetCombinerOutputParameterfvNV,
    ext_glGetCombinerOutputParameterivNV,
    ext_glGetCombinerStageParameterfvNV,
    ext_glGetCommandHeaderNV,
    ext_glGetCompressedMultiTexImageEXT,
    ext_glGetCompressedTexImage,
    ext_glGetCompressedTexImageARB,
    ext_glGetCompressedTextureImage,
    ext_glGetCompressedTextureImageEXT,
    ext_glGetCompressedTextureSubImage,
    ext_glGetConvolutionFilter,
    ext_glGetConvolutionFilterEXT,
    ext_glGetConvolutionParameterfv,
    ext_glGetConvolutionParameterfvEXT,
    ext_glGetConvolutionParameteriv,
    ext_glGetConvolutionParameterivEXT,
    ext_glGetConvolutionParameterxvOES,
    ext_glGetCoverageModulationTableNV,
    ext_glGetDebugMessageLog,
    ext_glGetDebugMessageLogAMD,
    ext_glGetDebugMessageLogARB,
    ext_glGetDetailTexFuncSGIS,
    ext_glGetDoubleIndexedvEXT,
    ext_glGetDoublei_v,
    ext_glGetDoublei_vEXT,
    ext_glGetFenceivNV,
    ext_glGetFinalCombinerInputParameterfvNV,
    ext_glGetFinalCombinerInputParameterivNV,
    ext_glGetFirstPerfQueryIdINTEL,
    ext_glGetFixedvOES,
    ext_glGetFloatIndexedvEXT,
    ext_glGetFloati_v,
    ext_glGetFloati_vEXT,
    ext_glGetFogFuncSGIS,
    ext_glGetFragDataIndex,
    ext_glGetFragDataLocation,
    ext_glGetFragDataLocationEXT,
    ext_glGetFragmentLightfvSGIX,
    ext_glGetFragmentLightivSGIX,
    ext_glGetFragmentMaterialfvSGIX,
    ext_glGetFragmentMaterialivSGIX,
    ext_glGetFramebufferAttachmentParameteriv,
    ext_glGetFramebufferAttachmentParameterivEXT,
    ext_glGetFramebufferParameterfvAMD,
    ext_glGetFramebufferParameteriv,
    ext_glGetFramebufferParameterivEXT,
    ext_glGetFramebufferParameterivMESA,
    ext_glGetGraphicsResetStatus,
    ext_glGetGraphicsResetStatusARB,
    ext_glGetHandleARB,
    ext_glGetHistogram,
    ext_glGetHistogramEXT,
    ext_glGetHistogramParameterfv,
    ext_glGetHistogramParameterfvEXT,
    ext_glGetHistogramParameteriv,
    ext_glGetHistogramParameterivEXT,
    ext_glGetHistogramParameterxvOES,
    ext_glGetImageHandleARB,
    ext_glGetImageHandleNV,
    ext_glGetImageTransformParameterfvHP,
    ext_glGetImageTransformParameterivHP,
    ext_glGetInfoLogARB,
    ext_glGetInstrumentsSGIX,
    ext_glGetInteger64i_v,
    ext_glGetInteger64v,
    ext_glGetIntegerIndexedvEXT,
    ext_glGetIntegeri_v,
    ext_glGetIntegerui64i_vNV,
    ext_glGetIntegerui64vNV,
    ext_glGetInternalformatSampleivNV,
    ext_glGetInternalformati64v,
    ext_glGetInternalformativ,
    ext_glGetInvariantBooleanvEXT,
    ext_glGetInvariantFloatvEXT,
    ext_glGetInvariantIntegervEXT,
    ext_glGetLightxOES,
    ext_glGetListParameterfvSGIX,
    ext_glGetListParameterivSGIX,
    ext_glGetLocalConstantBooleanvEXT,
    ext_glGetLocalConstantFloatvEXT,
    ext_glGetLocalConstantIntegervEXT,
    ext_glGetMapAttribParameterfvNV,
    ext_glGetMapAttribParameterivNV,
    ext_glGetMapControlPointsNV,
    ext_glGetMapParameterfvNV,
    ext_glGetMapParameterivNV,
    ext_glGetMapxvOES,
    ext_glGetMaterialxOES,
    ext_glGetMemoryObjectDetachedResourcesuivNV,
    ext_glGetMemoryObjectParameterivEXT,
    ext_glGetMinmax,
    ext_glGetMinmaxEXT,
    ext_glGetMinmaxParameterfv,
    ext_glGetMinmaxParameterfvEXT,
    ext_glGetMinmaxParameteriv,
    ext_glGetMinmaxParameterivEXT,
    ext_glGetMultiTexEnvfvEXT,
    ext_glGetMultiTexEnvivEXT,
    ext_glGetMultiTexGendvEXT,
    ext_glGetMultiTexGenfvEXT,
    ext_glGetMultiTexGenivEXT,
    ext_glGetMultiTexImageEXT,
    ext_glGetMultiTexLevelParameterfvEXT,
    ext_glGetMultiTexLevelParameterivEXT,
    ext_glGetMultiTexParameterIivEXT,
    ext_glGetMultiTexParameterIuivEXT,
    ext_glGetMultiTexParameterfvEXT,
    ext_glGetMultiTexParameterivEXT,
    ext_glGetMultisamplefv,
    ext_glGetMultisamplefvNV,
    ext_glGetNamedBufferParameteri64v,
    ext_glGetNamedBufferParameteriv,
    ext_glGetNamedBufferParameterivEXT,
    ext_glGetNamedBufferParameterui64vNV,
    ext_glGetNamedBufferPointerv,
    ext_glGetNamedBufferPointervEXT,
    ext_glGetNamedBufferSubData,
    ext_glGetNamedBufferSubDataEXT,
    ext_glGetNamedFramebufferAttachmentParameteriv,
    ext_glGetNamedFramebufferAttachmentParameterivEXT,
    ext_glGetNamedFramebufferParameterfvAMD,
    ext_glGetNamedFramebufferParameteriv,
    ext_glGetNamedFramebufferParameterivEXT,
    ext_glGetNamedProgramLocalParameterIivEXT,
    ext_glGetNamedProgramLocalParameterIuivEXT,
    ext_glGetNamedProgramLocalParameterdvEXT,
    ext_glGetNamedProgramLocalParameterfvEXT,
    ext_glGetNamedProgramStringEXT,
    ext_glGetNamedProgramivEXT,
    ext_glGetNamedRenderbufferParameteriv,
    ext_glGetNamedRenderbufferParameterivEXT,
    ext_glGetNamedStringARB,
    ext_glGetNamedStringivARB,
    ext_glGetNextPerfQueryIdINTEL,
    ext_glGetObjectBufferfvATI,
    ext_glGetObjectBufferivATI,
    ext_glGetObjectLabel,
    ext_glGetObjectLabelEXT,
    ext_glGetObjectParameterfvARB,
    ext_glGetObjectParameterivAPPLE,
    ext_glGetObjectParameterivARB,
    ext_glGetObjectPtrLabel,
    ext_glGetOcclusionQueryivNV,
    ext_glGetOcclusionQueryuivNV,
    ext_glGetPathColorGenfvNV,
    ext_glGetPathColorGenivNV,
    ext_glGetPathCommandsNV,
    ext_glGetPathCoordsNV,
    ext_glGetPathDashArrayNV,
    ext_glGetPathLengthNV,
    ext_glGetPathMetricRangeNV,
    ext_glGetPathMetricsNV,
    ext_glGetPathParameterfvNV,
    ext_glGetPathParameterivNV,
    ext_glGetPathSpacingNV,
    ext_glGetPathTexGenfvNV,
    ext_glGetPathTexGenivNV,
    ext_glGetPerfCounterInfoINTEL,
    ext_glGetPerfMonitorCounterDataAMD,
    ext_glGetPerfMonitorCounterInfoAMD,
    ext_glGetPerfMonitorCounterStringAMD,
    ext_glGetPerfMonitorCountersAMD,
    ext_glGetPerfMonitorGroupStringAMD,
    ext_glGetPerfMonitorGroupsAMD,
    ext_glGetPerfQueryDataINTEL,
    ext_glGetPerfQueryIdByNameINTEL,
    ext_glGetPerfQueryInfoINTEL,
    ext_glGetPixelMapxv,
    ext_glGetPixelTexGenParameterfvSGIS,
    ext_glGetPixelTexGenParameterivSGIS,
    ext_glGetPixelTransformParameterfvEXT,
    ext_glGetPixelTransformParameterivEXT,
    ext_glGetPointerIndexedvEXT,
    ext_glGetPointeri_vEXT,
    ext_glGetPointervEXT,
    ext_glGetProgramBinary,
    ext_glGetProgramEnvParameterIivNV,
    ext_glGetProgramEnvParameterIuivNV,
    ext_glGetProgramEnvParameterdvARB,
    ext_glGetProgramEnvParameterfvARB,
    ext_glGetProgramInfoLog,
    ext_glGetProgramInterfaceiv,
    ext_glGetProgramLocalParameterIivNV,
    ext_glGetProgramLocalParameterIuivNV,
    ext_glGetProgramLocalParameterdvARB,
    ext_glGetProgramLocalParameterfvARB,
    ext_glGetProgramNamedParameterdvNV,
    ext_glGetProgramNamedParameterfvNV,
    ext_glGetProgramParameterdvNV,
    ext_glGetProgramParameterfvNV,
    ext_glGetProgramPipelineInfoLog,
    ext_glGetProgramPipelineiv,
    ext_glGetProgramResourceIndex,
    ext_glGetProgramResourceLocation,
    ext_glGetProgramResourceLocationIndex,
    ext_glGetProgramResourceName,
    ext_glGetProgramResourcefvNV,
    ext_glGetProgramResourceiv,
    ext_glGetProgramStageiv,
    ext_glGetProgramStringARB,
    ext_glGetProgramStringNV,
    ext_glGetProgramSubroutineParameteruivNV,
    ext_glGetProgramiv,
    ext_glGetProgramivARB,
    ext_glGetProgramivNV,
    ext_glGetQueryBufferObjecti64v,
    ext_glGetQueryBufferObjectiv,
    ext_glGetQueryBufferObjectui64v,
    ext_glGetQueryBufferObjectuiv,
    ext_glGetQueryIndexediv,
    ext_glGetQueryObjecti64v,
    ext_glGetQueryObjecti64vEXT,
    ext_glGetQueryObjectiv,
    ext_glGetQueryObjectivARB,
    ext_glGetQueryObjectui64v,
    ext_glGetQueryObjectui64vEXT,
    ext_glGetQueryObjectuiv,
    ext_glGetQueryObjectuivARB,
    ext_glGetQueryiv,
    ext_glGetQueryivARB,
    ext_glGetRenderbufferParameteriv,
    ext_glGetRenderbufferParameterivEXT,
    ext_glGetSamplerParameterIiv,
    ext_glGetSamplerParameterIuiv,
    ext_glGetSamplerParameterfv,
    ext_glGetSamplerParameteriv,
    ext_glGetSemaphoreParameterui64vEXT,
    ext_glGetSeparableFilter,
    ext_glGetSeparableFilterEXT,
    ext_glGetShaderInfoLog,
    ext_glGetShaderPrecisionFormat,
    ext_glGetShaderSource,
    ext_glGetShaderSourceARB,
    ext_glGetShaderiv,
    ext_glGetShadingRateImagePaletteNV,
    ext_glGetShadingRateSampleLocationivNV,
    ext_glGetSharpenTexFuncSGIS,
    ext_glGetStageIndexNV,
    ext_glGetStringi,
    ext_glGetSubroutineIndex,
    ext_glGetSubroutineUniformLocation,
    ext_glGetSynciv,
    ext_glGetTexBumpParameterfvATI,
    ext_glGetTexBumpParameterivATI,
    ext_glGetTexEnvxvOES,
    ext_glGetTexFilterFuncSGIS,
    ext_glGetTexGenxvOES,
    ext_glGetTexLevelParameterxvOES,
    ext_glGetTexParameterIiv,
    ext_glGetTexParameterIivEXT,
    ext_glGetTexParameterIuiv,
    ext_glGetTexParameterIuivEXT,
    ext_glGetTexParameterPointervAPPLE,
    ext_glGetTexParameterxvOES,
    ext_glGetTextureHandleARB,
    ext_glGetTextureHandleNV,
    ext_glGetTextureImage,
    ext_glGetTextureImageEXT,
    ext_glGetTextureLevelParameterfv,
    ext_glGetTextureLevelParameterfvEXT,
    ext_glGetTextureLevelParameteriv,
    ext_glGetTextureLevelParameterivEXT,
    ext_glGetTextureParameterIiv,
    ext_glGetTextureParameterIivEXT,
    ext_glGetTextureParameterIuiv,
    ext_glGetTextureParameterIuivEXT,
    ext_glGetTextureParameterfv,
    ext_glGetTextureParameterfvEXT,
    ext_glGetTextureParameteriv,
    ext_glGetTextureParameterivEXT,
    ext_glGetTextureSamplerHandleARB,
    ext_glGetTextureSamplerHandleNV,
    ext_glGetTextureSubImage,
    ext_glGetTrackMatrixivNV,
    ext_glGetTransformFeedbackVarying,
    ext_glGetTransformFeedbackVaryingEXT,
    ext_glGetTransformFeedbackVaryingNV,
    ext_glGetTransformFeedbacki64_v,
    ext_glGetTransformFeedbacki_v,
    ext_glGetTransformFeedbackiv,
    ext_glGetUniformBlockIndex,
    ext_glGetUniformBufferSizeEXT,
    ext_glGetUniformIndices,
    ext_glGetUniformLocation,
    ext_glGetUniformLocationARB,
    ext_glGetUniformOffsetEXT,
    ext_glGetUniformSubroutineuiv,
    ext_glGetUniformdv,
    ext_glGetUniformfv,
    ext_glGetUniformfvARB,
    ext_glGetUniformi64vARB,
    ext_glGetUniformi64vNV,
    ext_glGetUniformiv,
    ext_glGetUniformivARB,
    ext_glGetUniformui64vARB,
    ext_glGetUniformui64vNV,
    ext_glGetUniformuiv,
    ext_glGetUniformuivEXT,
    ext_glGetUnsignedBytei_vEXT,
    ext_glGetUnsignedBytevEXT,
    ext_glGetVariantArrayObjectfvATI,
    ext_glGetVariantArrayObjectivATI,
    ext_glGetVariantBooleanvEXT,
    ext_glGetVariantFloatvEXT,
    ext_glGetVariantIntegervEXT,
    ext_glGetVariantPointervEXT,
    ext_glGetVaryingLocationNV,
    ext_glGetVertexArrayIndexed64iv,
    ext_glGetVertexArrayIndexediv,
    ext_glGetVertexArrayIntegeri_vEXT,
    ext_glGetVertexArrayIntegervEXT,
    ext_glGetVertexArrayPointeri_vEXT,
    ext_glGetVertexArrayPointervEXT,
    ext_glGetVertexArrayiv,
    ext_glGetVertexAttribArrayObjectfvATI,
    ext_glGetVertexAttribArrayObjectivATI,
    ext_glGetVertexAttribIiv,
    ext_glGetVertexAttribIivEXT,
    ext_glGetVertexAttribIuiv,
    ext_glGetVertexAttribIuivEXT,
    ext_glGetVertexAttribLdv,
    ext_glGetVertexAttribLdvEXT,
    ext_glGetVertexAttribLi64vNV,
    ext_glGetVertexAttribLui64vARB,
    ext_glGetVertexAttribLui64vNV,
    ext_glGetVertexAttribPointerv,
    ext_glGetVertexAttribPointervARB,
    ext_glGetVertexAttribPointervNV,
    ext_glGetVertexAttribdv,
    ext_glGetVertexAttribdvARB,
    ext_glGetVertexAttribdvNV,
    ext_glGetVertexAttribfv,
    ext_glGetVertexAttribfvARB,
    ext_glGetVertexAttribfvNV,
    ext_glGetVertexAttribiv,
    ext_glGetVertexAttribivARB,
    ext_glGetVertexAttribivNV,
    ext_glGetVideoCaptureStreamdvNV,
    ext_glGetVideoCaptureStreamfvNV,
    ext_glGetVideoCaptureStreamivNV,
    ext_glGetVideoCaptureivNV,
    ext_glGetVideoi64vNV,
    ext_glGetVideoivNV,
    ext_glGetVideoui64vNV,
    ext_glGetVideouivNV,
    ext_glGetVkProcAddrNV,
    ext_glGetnColorTable,
    ext_glGetnColorTableARB,
    ext_glGetnCompressedTexImage,
    ext_glGetnCompressedTexImageARB,
    ext_glGetnConvolutionFilter,
    ext_glGetnConvolutionFilterARB,
    ext_glGetnHistogram,
    ext_glGetnHistogramARB,
    ext_glGetnMapdv,
    ext_glGetnMapdvARB,
    ext_glGetnMapfv,
    ext_glGetnMapfvARB,
    ext_glGetnMapiv,
    ext_glGetnMapivARB,
    ext_glGetnMinmax,
    ext_glGetnMinmaxARB,
    ext_glGetnPixelMapfv,
    ext_glGetnPixelMapfvARB,
    ext_glGetnPixelMapuiv,
    ext_glGetnPixelMapuivARB,
    ext_glGetnPixelMapusv,
    ext_glGetnPixelMapusvARB,
    ext_glGetnPolygonStipple,
    ext_glGetnPolygonStippleARB,
    ext_glGetnSeparableFilter,
    ext_glGetnSeparableFilterARB,
    ext_glGetnTexImage,
    ext_glGetnTexImageARB,
    ext_glGetnUniformdv,
    ext_glGetnUniformdvARB,
    ext_glGetnUniformfv,
    ext_glGetnUniformfvARB,
    ext_glGetnUniformi64vARB,
    ext_glGetnUniformiv,
    ext_glGetnUniformivARB,
    ext_glGetnUniformui64vARB,
    ext_glGetnUniformuiv,
    ext_glGetnUniformuivARB,
    ext_glGlobalAlphaFactorbSUN,
    ext_glGlobalAlphaFactordSUN,
    ext_glGlobalAlphaFactorfSUN,
    ext_glGlobalAlphaFactoriSUN,
    ext_glGlobalAlphaFactorsSUN,
    ext_glGlobalAlphaFactorubSUN,
    ext_glGlobalAlphaFactoruiSUN,
    ext_glGlobalAlphaFactorusSUN,
    ext_glHintPGI,
    ext_glHistogram,
    ext_glHistogramEXT,
    ext_glIglooInterfaceSGIX,
    ext_glImageTransformParameterfHP,
    ext_glImageTransformParameterfvHP,
    ext_glImageTransformParameteriHP,
    ext_glImageTransformParameterivHP,
    ext_glImportMemoryFdEXT,
    ext_glImportMemoryWin32HandleEXT,
    ext_glImportMemoryWin32NameEXT,
    ext_glImportSemaphoreFdEXT,
    ext_glImportSemaphoreWin32HandleEXT,
    ext_glImportSemaphoreWin32NameEXT,
    ext_glImportSyncEXT,
    ext_glIndexFormatNV,
    ext_glIndexFuncEXT,
    ext_glIndexMaterialEXT,
    ext_glIndexPointerEXT,
    ext_glIndexPointerListIBM,
    ext_glIndexxOES,
    ext_glIndexxvOES,
    ext_glInsertComponentEXT,
    ext_glInsertEventMarkerEXT,
    ext_glInstrumentsBufferSGIX,
    ext_glInterpolatePathsNV,
    ext_glInvalidateBufferData,
    ext_glInvalidateBufferSubData,
    ext_glInvalidateFramebuffer,
    ext_glInvalidateNamedFramebufferData,
    ext_glInvalidateNamedFramebufferSubData,
    ext_glInvalidateSubFramebuffer,
    ext_glInvalidateTexImage,
    ext_glInvalidateTexSubImage,
    ext_glIsAsyncMarkerSGIX,
    ext_glIsBuffer,
    ext_glIsBufferARB,
    ext_glIsBufferResidentNV,
    ext_glIsCommandListNV,
    ext_glIsEnabledIndexedEXT,
    ext_glIsEnabledi,
    ext_glIsFenceAPPLE,
    ext_glIsFenceNV,
    ext_glIsFramebuffer,
    ext_glIsFramebufferEXT,
    ext_glIsImageHandleResidentARB,
    ext_glIsImageHandleResidentNV,
    ext_glIsMemoryObjectEXT,
    ext_glIsNameAMD,
    ext_glIsNamedBufferResidentNV,
    ext_glIsNamedStringARB,
    ext_glIsObjectBufferATI,
    ext_glIsOcclusionQueryNV,
    ext_glIsPathNV,
    ext_glIsPointInFillPathNV,
    ext_glIsPointInStrokePathNV,
    ext_glIsProgram,
    ext_glIsProgramARB,
    ext_glIsProgramNV,
    ext_glIsProgramPipeline,
    ext_glIsQuery,
    ext_glIsQueryARB,
    ext_glIsRenderbuffer,
    ext_glIsRenderbufferEXT,
    ext_glIsSampler,
    ext_glIsSemaphoreEXT,
    ext_glIsShader,
    ext_glIsStateNV,
    ext_glIsSync,
    ext_glIsTextureEXT,
    ext_glIsTextureHandleResidentARB,
    ext_glIsTextureHandleResidentNV,
    ext_glIsTransformFeedback,
    ext_glIsTransformFeedbackNV,
    ext_glIsVariantEnabledEXT,
    ext_glIsVertexArray,
    ext_glIsVertexArrayAPPLE,
    ext_glIsVertexAttribEnabledAPPLE,
    ext_glLGPUCopyImageSubDataNVX,
    ext_glLGPUInterlockNVX,
    ext_glLGPUNamedBufferSubDataNVX,
    ext_glLabelObjectEXT,
    ext_glLightEnviSGIX,
    ext_glLightModelxOES,
    ext_glLightModelxvOES,
    ext_glLightxOES,
    ext_glLightxvOES,
    ext_glLineWidthxOES,
    ext_glLinkProgram,
    ext_glLinkProgramARB,
    ext_glListDrawCommandsStatesClientNV,
    ext_glListParameterfSGIX,
    ext_glListParameterfvSGIX,
    ext_glListParameteriSGIX,
    ext_glListParameterivSGIX,
    ext_glLoadIdentityDeformationMapSGIX,
    ext_glLoadMatrixxOES,
    ext_glLoadProgramNV,
    ext_glLoadTransposeMatrixd,
    ext_glLoadTransposeMatrixdARB,
    ext_glLoadTransposeMatrixf,
    ext_glLoadTransposeMatrixfARB,
    ext_glLoadTransposeMatrixxOES,
    ext_glLockArraysEXT,
    ext_glMTexCoord2fSGIS,
    ext_glMTexCoord2fvSGIS,
    ext_glMakeBufferNonResidentNV,
    ext_glMakeBufferResidentNV,
    ext_glMakeImageHandleNonResidentARB,
    ext_glMakeImageHandleNonResidentNV,
    ext_glMakeImageHandleResidentARB,
    ext_glMakeImageHandleResidentNV,
    ext_glMakeNamedBufferNonResidentNV,
    ext_glMakeNamedBufferResidentNV,
    ext_glMakeTextureHandleNonResidentARB,
    ext_glMakeTextureHandleNonResidentNV,
    ext_glMakeTextureHandleResidentARB,
    ext_glMakeTextureHandleResidentNV,
    ext_glMap1xOES,
    ext_glMap2xOES,
    ext_glMapBuffer,
    ext_glMapBufferARB,
    ext_glMapBufferRange,
    ext_glMapControlPointsNV,
    ext_glMapGrid1xOES,
    ext_glMapGrid2xOES,
    ext_glMapNamedBuffer,
    ext_glMapNamedBufferEXT,
    ext_glMapNamedBufferRange,
    ext_glMapNamedBufferRangeEXT,
    ext_glMapObjectBufferATI,
    ext_glMapParameterfvNV,
    ext_glMapParameterivNV,
    ext_glMapTexture2DINTEL,
    ext_glMapVertexAttrib1dAPPLE,
    ext_glMapVertexAttrib1fAPPLE,
    ext_glMapVertexAttrib2dAPPLE,
    ext_glMapVertexAttrib2fAPPLE,
    ext_glMaterialxOES,
    ext_glMaterialxvOES,
    ext_glMatrixFrustumEXT,
    ext_glMatrixIndexPointerARB,
    ext_glMatrixIndexubvARB,
    ext_glMatrixIndexuivARB,
    ext_glMatrixIndexusvARB,
    ext_glMatrixLoad3x2fNV,
    ext_glMatrixLoad3x3fNV,
    ext_glMatrixLoadIdentityEXT,
    ext_glMatrixLoadTranspose3x3fNV,
    ext_glMatrixLoadTransposedEXT,
    ext_glMatrixLoadTransposefEXT,
    ext_glMatrixLoaddEXT,
    ext_glMatrixLoadfEXT,
    ext_glMatrixMult3x2fNV,
    ext_glMatrixMult3x3fNV,
    ext_glMatrixMultTranspose3x3fNV,
    ext_glMatrixMultTransposedEXT,
    ext_glMatrixMultTransposefEXT,
    ext_glMatrixMultdEXT,
    ext_glMatrixMultfEXT,
    ext_glMatrixOrthoEXT,
    ext_glMatrixPopEXT,
    ext_glMatrixPushEXT,
    ext_glMatrixRotatedEXT,
    ext_glMatrixRotatefEXT,
    ext_glMatrixScaledEXT,
    ext_glMatrixScalefEXT,
    ext_glMatrixTranslatedEXT,
    ext_glMatrixTranslatefEXT,
    ext_glMaxShaderCompilerThreadsARB,
    ext_glMaxShaderCompilerThreadsKHR,
    ext_glMemoryBarrier,
    ext_glMemoryBarrierByRegion,
    ext_glMemoryBarrierEXT,
    ext_glMemoryObjectParameterivEXT,
    ext_glMinSampleShading,
    ext_glMinSampleShadingARB,
    ext_glMinmax,
    ext_glMinmaxEXT,
    ext_glMultMatrixxOES,
    ext_glMultTransposeMatrixd,
    ext_glMultTransposeMatrixdARB,
    ext_glMultTransposeMatrixf,
    ext_glMultTransposeMatrixfARB,
    ext_glMultTransposeMatrixxOES,
    ext_glMultiDrawArrays,
    ext_glMultiDrawArraysEXT,
    ext_glMultiDrawArraysIndirect,
    ext_glMultiDrawArraysIndirectAMD,
    ext_glMultiDrawArraysIndirectBindlessCountNV,
    ext_glMultiDrawArraysIndirectBindlessNV,
    ext_glMultiDrawArraysIndirectCount,
    ext_glMultiDrawArraysIndirectCountARB,
    ext_glMultiDrawElementArrayAPPLE,
    ext_glMultiDrawElements,
    ext_glMultiDrawElementsBaseVertex,
    ext_glMultiDrawElementsEXT,
    ext_glMultiDrawElementsIndirect,
    ext_glMultiDrawElementsIndirectAMD,
    ext_glMultiDrawElementsIndirectBindlessCountNV,
    ext_glMultiDrawElementsIndirectBindlessNV,
    ext_glMultiDrawElementsIndirectCount,
    ext_glMultiDrawElementsIndirectCountARB,
    ext_glMultiDrawMeshTasksIndirectCountNV,
    ext_glMultiDrawMeshTasksIndirectNV,
    ext_glMultiDrawRangeElementArrayAPPLE,
    ext_glMultiModeDrawArraysIBM,
    ext_glMultiModeDrawElementsIBM,
    ext_glMultiTexBufferEXT,
    ext_glMultiTexCoord1bOES,
    ext_glMultiTexCoord1bvOES,
    ext_glMultiTexCoord1d,
    ext_glMultiTexCoord1dARB,
    ext_glMultiTexCoord1dSGIS,
    ext_glMultiTexCoord1dv,
    ext_glMultiTexCoord1dvARB,
    ext_glMultiTexCoord1dvSGIS,
    ext_glMultiTexCoord1f,
    ext_glMultiTexCoord1fARB,
    ext_glMultiTexCoord1fSGIS,
    ext_glMultiTexCoord1fv,
    ext_glMultiTexCoord1fvARB,
    ext_glMultiTexCoord1fvSGIS,
    ext_glMultiTexCoord1hNV,
    ext_glMultiTexCoord1hvNV,
    ext_glMultiTexCoord1i,
    ext_glMultiTexCoord1iARB,
    ext_glMultiTexCoord1iSGIS,
    ext_glMultiTexCoord1iv,
    ext_glMultiTexCoord1ivARB,
    ext_glMultiTexCoord1ivSGIS,
    ext_glMultiTexCoord1s,
    ext_glMultiTexCoord1sARB,
    ext_glMultiTexCoord1sSGIS,
    ext_glMultiTexCoord1sv,
    ext_glMultiTexCoord1svARB,
    ext_glMultiTexCoord1svSGIS,
    ext_glMultiTexCoord1xOES,
    ext_glMultiTexCoord1xvOES,
    ext_glMultiTexCoord2bOES,
    ext_glMultiTexCoord2bvOES,
    ext_glMultiTexCoord2d,
    ext_glMultiTexCoord2dARB,
    ext_glMultiTexCoord2dSGIS,
    ext_glMultiTexCoord2dv,
    ext_glMultiTexCoord2dvARB,
    ext_glMultiTexCoord2dvSGIS,
    ext_glMultiTexCoord2f,
    ext_glMultiTexCoord2fARB,
    ext_glMultiTexCoord2fSGIS,
    ext_glMultiTexCoord2fv,
    ext_glMultiTexCoord2fvARB,
    ext_glMultiTexCoord2fvSGIS,
    ext_glMultiTexCoord2hNV,
    ext_glMultiTexCoord2hvNV,
    ext_glMultiTexCoord2i,
    ext_glMultiTexCoord2iARB,
    ext_glMultiTexCoord2iSGIS,
    ext_glMultiTexCoord2iv,
    ext_glMultiTexCoord2ivARB,
    ext_glMultiTexCoord2ivSGIS,
    ext_glMultiTexCoord2s,
    ext_glMultiTexCoord2sARB,
    ext_glMultiTexCoord2sSGIS,
    ext_glMultiTexCoord2sv,
    ext_glMultiTexCoord2svARB,
    ext_glMultiTexCoord2svSGIS,
    ext_glMultiTexCoord2xOES,
    ext_glMultiTexCoord2xvOES,
    ext_glMultiTexCoord3bOES,
    ext_glMultiTexCoord3bvOES,
    ext_glMultiTexCoord3d,
    ext_glMultiTexCoord3dARB,
    ext_glMultiTexCoord3dSGIS,
    ext_glMultiTexCoord3dv,
    ext_glMultiTexCoord3dvARB,
    ext_glMultiTexCoord3dvSGIS,
    ext_glMultiTexCoord3f,
    ext_glMultiTexCoord3fARB,
    ext_glMultiTexCoord3fSGIS,
    ext_glMultiTexCoord3fv,
    ext_glMultiTexCoord3fvARB,
    ext_glMultiTexCoord3fvSGIS,
    ext_glMultiTexCoord3hNV,
    ext_glMultiTexCoord3hvNV,
    ext_glMultiTexCoord3i,
    ext_glMultiTexCoord3iARB,
    ext_glMultiTexCoord3iSGIS,
    ext_glMultiTexCoord3iv,
    ext_glMultiTexCoord3ivARB,
    ext_glMultiTexCoord3ivSGIS,
    ext_glMultiTexCoord3s,
    ext_glMultiTexCoord3sARB,
    ext_glMultiTexCoord3sSGIS,
    ext_glMultiTexCoord3sv,
    ext_glMultiTexCoord3svARB,
    ext_glMultiTexCoord3svSGIS,
    ext_glMultiTexCoord3xOES,
    ext_glMultiTexCoord3xvOES,
    ext_glMultiTexCoord4bOES,
    ext_glMultiTexCoord4bvOES,
    ext_glMultiTexCoord4d,
    ext_glMultiTexCoord4dARB,
    ext_glMultiTexCoord4dSGIS,
    ext_glMultiTexCoord4dv,
    ext_glMultiTexCoord4dvARB,
    ext_glMultiTexCoord4dvSGIS,
    ext_glMultiTexCoord4f,
    ext_glMultiTexCoord4fARB,
    ext_glMultiTexCoord4fSGIS,
    ext_glMultiTexCoord4fv,
    ext_glMultiTexCoord4fvARB,
    ext_glMultiTexCoord4fvSGIS,
    ext_glMultiTexCoord4hNV,
    ext_glMultiTexCoord4hvNV,
    ext_glMultiTexCoord4i,
    ext_glMultiTexCoord4iARB,
    ext_glMultiTexCoord4iSGIS,
    ext_glMultiTexCoord4iv,
    ext_glMultiTexCoord4ivARB,
    ext_glMultiTexCoord4ivSGIS,
    ext_glMultiTexCoord4s,
    ext_glMultiTexCoord4sARB,
    ext_glMultiTexCoord4sSGIS,
    ext_glMultiTexCoord4sv,
    ext_glMultiTexCoord4svARB,
    ext_glMultiTexCoord4svSGIS,
    ext_glMultiTexCoord4xOES,
    ext_glMultiTexCoord4xvOES,
    ext_glMultiTexCoordP1ui,
    ext_glMultiTexCoordP1uiv,
    ext_glMultiTexCoordP2ui,
    ext_glMultiTexCoordP2uiv,
    ext_glMultiTexCoordP3ui,
    ext_glMultiTexCoordP3uiv,
    ext_glMultiTexCoordP4ui,
    ext_glMultiTexCoordP4uiv,
    ext_glMultiTexCoordPointerEXT,
    ext_glMultiTexCoordPointerSGIS,
    ext_glMultiTexEnvfEXT,
    ext_glMultiTexEnvfvEXT,
    ext_glMultiTexEnviEXT,
    ext_glMultiTexEnvivEXT,
    ext_glMultiTexGendEXT,
    ext_glMultiTexGendvEXT,
    ext_glMultiTexGenfEXT,
    ext_glMultiTexGenfvEXT,
    ext_glMultiTexGeniEXT,
    ext_glMultiTexGenivEXT,
    ext_glMultiTexImage1DEXT,
    ext_glMultiTexImage2DEXT,
    ext_glMultiTexImage3DEXT,
    ext_glMultiTexParameterIivEXT,
    ext_glMultiTexParameterIuivEXT,
    ext_glMultiTexParameterfEXT,
    ext_glMultiTexParameterfvEXT,
    ext_glMultiTexParameteriEXT,
    ext_glMultiTexParameterivEXT,
    ext_glMultiTexRenderbufferEXT,
    ext_glMultiTexSubImage1DEXT,
    ext_glMultiTexSubImage2DEXT,
    ext_glMultiTexSubImage3DEXT,
    ext_glMulticastBarrierNV,
    ext_glMulticastBlitFramebufferNV,
    ext_glMulticastBufferSubDataNV,
    ext_glMulticastCopyBufferSubDataNV,
    ext_glMulticastCopyImageSubDataNV,
    ext_glMulticastFramebufferSampleLocationsfvNV,
    ext_glMulticastGetQueryObjecti64vNV,
    ext_glMulticastGetQueryObjectivNV,
    ext_glMulticastGetQueryObjectui64vNV,
    ext_glMulticastGetQueryObjectuivNV,
    ext_glMulticastScissorArrayvNVX,
    ext_glMulticastViewportArrayvNVX,
    ext_glMulticastViewportPositionWScaleNVX,
    ext_glMulticastWaitSyncNV,
    ext_glNamedBufferAttachMemoryNV,
    ext_glNamedBufferData,
    ext_glNamedBufferDataEXT,
    ext_glNamedBufferPageCommitmentARB,
    ext_glNamedBufferPageCommitmentEXT,
    ext_glNamedBufferStorage,
    ext_glNamedBufferStorageEXT,
    ext_glNamedBufferStorageExternalEXT,
    ext_glNamedBufferStorageMemEXT,
    ext_glNamedBufferSubData,
    ext_glNamedBufferSubDataEXT,
    ext_glNamedCopyBufferSubDataEXT,
    ext_glNamedFramebufferDrawBuffer,
    ext_glNamedFramebufferDrawBuffers,
    ext_glNamedFramebufferParameteri,
    ext_glNamedFramebufferParameteriEXT,
    ext_glNamedFramebufferReadBuffer,
    ext_glNamedFramebufferRenderbuffer,
    ext_glNamedFramebufferRenderbufferEXT,
    ext_glNamedFramebufferSampleLocationsfvARB,
    ext_glNamedFramebufferSampleLocationsfvNV,
    ext_glNamedFramebufferSamplePositionsfvAMD,
    ext_glNamedFramebufferTexture,
    ext_glNamedFramebufferTexture1DEXT,
    ext_glNamedFramebufferTexture2DEXT,
    ext_glNamedFramebufferTexture3DEXT,
    ext_glNamedFramebufferTextureEXT,
    ext_glNamedFramebufferTextureFaceEXT,
    ext_glNamedFramebufferTextureLayer,
    ext_glNamedFramebufferTextureLayerEXT,
    ext_glNamedProgramLocalParameter4dEXT,
    ext_glNamedProgramLocalParameter4dvEXT,
    ext_glNamedProgramLocalParameter4fEXT,
    ext_glNamedProgramLocalParameter4fvEXT,
    ext_glNamedProgramLocalParameterI4iEXT,
    ext_glNamedProgramLocalParameterI4ivEXT,
    ext_glNamedProgramLocalParameterI4uiEXT,
    ext_glNamedProgramLocalParameterI4uivEXT,
    ext_glNamedProgramLocalParameters4fvEXT,
    ext_glNamedProgramLocalParametersI4ivEXT,
    ext_glNamedProgramLocalParametersI4uivEXT,
    ext_glNamedProgramStringEXT,
    ext_glNamedRenderbufferStorage,
    ext_glNamedRenderbufferStorageEXT,
    ext_glNamedRenderbufferStorageMultisample,
    ext_glNamedRenderbufferStorageMultisampleAdvancedAMD,
    ext_glNamedRenderbufferStorageMultisampleCoverageEXT,
    ext_glNamedRenderbufferStorageMultisampleEXT,
    ext_glNamedStringARB,
    ext_glNewBufferRegion,
    ext_glNewObjectBufferATI,
    ext_glNormal3fVertex3fSUN,
    ext_glNormal3fVertex3fvSUN,
    ext_glNormal3hNV,
    ext_glNormal3hvNV,
    ext_glNormal3xOES,
    ext_glNormal3xvOES,
    ext_glNormalFormatNV,
    ext_glNormalP3ui,
    ext_glNormalP3uiv,
    ext_glNormalPointerEXT,
    ext_glNormalPointerListIBM,
    ext_glNormalPointervINTEL,
    ext_glNormalStream3bATI,
    ext_glNormalStream3bvATI,
    ext_glNormalStream3dATI,
    ext_glNormalStream3dvATI,
    ext_glNormalStream3fATI,
    ext_glNormalStream3fvATI,
    ext_glNormalStream3iATI,
    ext_glNormalStream3ivATI,
    ext_glNormalStream3sATI,
    ext_glNormalStream3svATI,
    ext_glObjectLabel,
    ext_glObjectPtrLabel,
    ext_glObjectPurgeableAPPLE,
    ext_glObjectUnpurgeableAPPLE,
    ext_glOrthofOES,
    ext_glOrthoxOES,
    ext_glPNTrianglesfATI,
    ext_glPNTrianglesiATI,
    ext_glPassTexCoordATI,
    ext_glPassThroughxOES,
    ext_glPatchParameterfv,
    ext_glPatchParameteri,
    ext_glPathColorGenNV,
    ext_glPathCommandsNV,
    ext_glPathCoordsNV,
    ext_glPathCoverDepthFuncNV,
    ext_glPathDashArrayNV,
    ext_glPathFogGenNV,
    ext_glPathGlyphIndexArrayNV,
    ext_glPathGlyphIndexRangeNV,
    ext_glPathGlyphRangeNV,
    ext_glPathGlyphsNV,
    ext_glPathMemoryGlyphIndexArrayNV,
    ext_glPathParameterfNV,
    ext_glPathParameterfvNV,
    ext_glPathParameteriNV,
    ext_glPathParameterivNV,
    ext_glPathStencilDepthOffsetNV,
    ext_glPathStencilFuncNV,
    ext_glPathStringNV,
    ext_glPathSubCommandsNV,
    ext_glPathSubCoordsNV,
    ext_glPathTexGenNV,
    ext_glPauseTransformFeedback,
    ext_glPauseTransformFeedbackNV,
    ext_glPixelDataRangeNV,
    ext_glPixelMapx,
    ext_glPixelStorex,
    ext_glPixelTexGenParameterfSGIS,
    ext_glPixelTexGenParameterfvSGIS,
    ext_glPixelTexGenParameteriSGIS,
    ext_glPixelTexGenParameterivSGIS,
    ext_glPixelTexGenSGIX,
    ext_glPixelTransferxOES,
    ext_glPixelTransformParameterfEXT,
    ext_glPixelTransformParameterfvEXT,
    ext_glPixelTransformParameteriEXT,
    ext_glPixelTransformParameterivEXT,
    ext_glPixelZoomxOES,
    ext_glPointAlongPathNV,
    ext_glPointParameterf,
    ext_glPointParameterfARB,
    ext_glPointParameterfEXT,
    ext_glPointParameterfSGIS,
    ext_glPointParameterfv,
    ext_glPointParameterfvARB,
    ext_glPointParameterfvEXT,
    ext_glPointParameterfvSGIS,
    ext_glPointParameteri,
    ext_glPointParameteriNV,
    ext_glPointParameteriv,
    ext_glPointParameterivNV,
    ext_glPointParameterxvOES,
    ext_glPointSizexOES,
    ext_glPollAsyncSGIX,
    ext_glPollInstrumentsSGIX,
    ext_glPolygonOffsetClamp,
    ext_glPolygonOffsetClampEXT,
    ext_glPolygonOffsetEXT,
    ext_glPolygonOffsetxOES,
    ext_glPopDebugGroup,
    ext_glPopGroupMarkerEXT,
    ext_glPresentFrameDualFillNV,
    ext_glPresentFrameKeyedNV,
    ext_glPrimitiveBoundingBoxARB,
    ext_glPrimitiveRestartIndex,
    ext_glPrimitiveRestartIndexNV,
    ext_glPrimitiveRestartNV,
    ext_glPrioritizeTexturesEXT,
    ext_glPrioritizeTexturesxOES,
    ext_glProgramBinary,
    ext_glProgramBufferParametersIivNV,
    ext_glProgramBufferParametersIuivNV,
    ext_glProgramBufferParametersfvNV,
    ext_glProgramEnvParameter4dARB,
    ext_glProgramEnvParameter4dvARB,
    ext_glProgramEnvParameter4fARB,
    ext_glProgramEnvParameter4fvARB,
    ext_glProgramEnvParameterI4iNV,
    ext_glProgramEnvParameterI4ivNV,
    ext_glProgramEnvParameterI4uiNV,
    ext_glProgramEnvParameterI4uivNV,
    ext_glProgramEnvParameters4fvEXT,
    ext_glProgramEnvParametersI4ivNV,
    ext_glProgramEnvParametersI4uivNV,
    ext_glProgramLocalParameter4dARB,
    ext_glProgramLocalParameter4dvARB,
    ext_glProgramLocalParameter4fARB,
    ext_glProgramLocalParameter4fvARB,
    ext_glProgramLocalParameterI4iNV,
    ext_glProgramLocalParameterI4ivNV,
    ext_glProgramLocalParameterI4uiNV,
    ext_glProgramLocalParameterI4uivNV,
    ext_glProgramLocalParameters4fvEXT,
    ext_glProgramLocalParametersI4ivNV,
    ext_glProgramLocalParametersI4uivNV,
    ext_glProgramNamedParameter4dNV,
    ext_glProgramNamedParameter4dvNV,
    ext_glProgramNamedParameter4fNV,
    ext_glProgramNamedParameter4fvNV,
    ext_glProgramParameter4dNV,
    ext_glProgramParameter4dvNV,
    ext_glProgramParameter4fNV,
    ext_glProgramParameter4fvNV,
    ext_glProgramParameteri,
    ext_glProgramParameteriARB,
    ext_glProgramParameteriEXT,
    ext_glProgramParameters4dvNV,
    ext_glProgramParameters4fvNV,
    ext_glProgramPathFragmentInputGenNV,
    ext_glProgramStringARB,
    ext_glProgramSubroutineParametersuivNV,
    ext_glProgramUniform1d,
    ext_glProgramUniform1dEXT,
    ext_glProgramUniform1dv,
    ext_glProgramUniform1dvEXT,
    ext_glProgramUniform1f,
    ext_glProgramUniform1fEXT,
    ext_glProgramUniform1fv,
    ext_glProgramUniform1fvEXT,
    ext_glProgramUniform1i,
    ext_glProgramUniform1i64ARB,
    ext_glProgramUniform1i64NV,
    ext_glProgramUniform1i64vARB,
    ext_glProgramUniform1i64vNV,
    ext_glProgramUniform1iEXT,
    ext_glProgramUniform1iv,
    ext_glProgramUniform1ivEXT,
    ext_glProgramUniform1ui,
    ext_glProgramUniform1ui64ARB,
    ext_glProgramUniform1ui64NV,
    ext_glProgramUniform1ui64vARB,
    ext_glProgramUniform1ui64vNV,
    ext_glProgramUniform1uiEXT,
    ext_glProgramUniform1uiv,
    ext_glProgramUniform1uivEXT,
    ext_glProgramUniform2d,
    ext_glProgramUniform2dEXT,
    ext_glProgramUniform2dv,
    ext_glProgramUniform2dvEXT,
    ext_glProgramUniform2f,
    ext_glProgramUniform2fEXT,
    ext_glProgramUniform2fv,
    ext_glProgramUniform2fvEXT,
    ext_glProgramUniform2i,
    ext_glProgramUniform2i64ARB,
    ext_glProgramUniform2i64NV,
    ext_glProgramUniform2i64vARB,
    ext_glProgramUniform2i64vNV,
    ext_glProgramUniform2iEXT,
    ext_glProgramUniform2iv,
    ext_glProgramUniform2ivEXT,
    ext_glProgramUniform2ui,
    ext_glProgramUniform2ui64ARB,
    ext_glProgramUniform2ui64NV,
    ext_glProgramUniform2ui64vARB,
    ext_glProgramUniform2ui64vNV,
    ext_glProgramUniform2uiEXT,
    ext_glProgramUniform2uiv,
    ext_glProgramUniform2uivEXT,
    ext_glProgramUniform3d,
    ext_glProgramUniform3dEXT,
    ext_glProgramUniform3dv,
    ext_glProgramUniform3dvEXT,
    ext_glProgramUniform3f,
    ext_glProgramUniform3fEXT,
    ext_glProgramUniform3fv,
    ext_glProgramUniform3fvEXT,
    ext_glProgramUniform3i,
    ext_glProgramUniform3i64ARB,
    ext_glProgramUniform3i64NV,
    ext_glProgramUniform3i64vARB,
    ext_glProgramUniform3i64vNV,
    ext_glProgramUniform3iEXT,
    ext_glProgramUniform3iv,
    ext_glProgramUniform3ivEXT,
    ext_glProgramUniform3ui,
    ext_glProgramUniform3ui64ARB,
    ext_glProgramUniform3ui64NV,
    ext_glProgramUniform3ui64vARB,
    ext_glProgramUniform3ui64vNV,
    ext_glProgramUniform3uiEXT,
    ext_glProgramUniform3uiv,
    ext_glProgramUniform3uivEXT,
    ext_glProgramUniform4d,
    ext_glProgramUniform4dEXT,
    ext_glProgramUniform4dv,
    ext_glProgramUniform4dvEXT,
    ext_glProgramUniform4f,
    ext_glProgramUniform4fEXT,
    ext_glProgramUniform4fv,
    ext_glProgramUniform4fvEXT,
    ext_glProgramUniform4i,
    ext_glProgramUniform4i64ARB,
    ext_glProgramUniform4i64NV,
    ext_glProgramUniform4i64vARB,
    ext_glProgramUniform4i64vNV,
    ext_glProgramUniform4iEXT,
    ext_glProgramUniform4iv,
    ext_glProgramUniform4ivEXT,
    ext_glProgramUniform4ui,
    ext_glProgramUniform4ui64ARB,
    ext_glProgramUniform4ui64NV,
    ext_glProgramUniform4ui64vARB,
    ext_glProgramUniform4ui64vNV,
    ext_glProgramUniform4uiEXT,
    ext_glProgramUniform4uiv,
    ext_glProgramUniform4uivEXT,
    ext_glProgramUniformHandleui64ARB,
    ext_glProgramUniformHandleui64NV,
    ext_glProgramUniformHandleui64vARB,
    ext_glProgramUniformHandleui64vNV,
    ext_glProgramUniformMatrix2dv,
    ext_glProgramUniformMatrix2dvEXT,
    ext_glProgramUniformMatrix2fv,
    ext_glProgramUniformMatrix2fvEXT,
    ext_glProgramUniformMatrix2x3dv,
    ext_glProgramUniformMatrix2x3dvEXT,
    ext_glProgramUniformMatrix2x3fv,
    ext_glProgramUniformMatrix2x3fvEXT,
    ext_glProgramUniformMatrix2x4dv,
    ext_glProgramUniformMatrix2x4dvEXT,
    ext_glProgramUniformMatrix2x4fv,
    ext_glProgramUniformMatrix2x4fvEXT,
    ext_glProgramUniformMatrix3dv,
    ext_glProgramUniformMatrix3dvEXT,
    ext_glProgramUniformMatrix3fv,
    ext_glProgramUniformMatrix3fvEXT,
    ext_glProgramUniformMatrix3x2dv,
    ext_glProgramUniformMatrix3x2dvEXT,
    ext_glProgramUniformMatrix3x2fv,
    ext_glProgramUniformMatrix3x2fvEXT,
    ext_glProgramUniformMatrix3x4dv,
    ext_glProgramUniformMatrix3x4dvEXT,
    ext_glProgramUniformMatrix3x4fv,
    ext_glProgramUniformMatrix3x4fvEXT,
    ext_glProgramUniformMatrix4dv,
    ext_glProgramUniformMatrix4dvEXT,
    ext_glProgramUniformMatrix4fv,
    ext_glProgramUniformMatrix4fvEXT,
    ext_glProgramUniformMatrix4x2dv,
    ext_glProgramUniformMatrix4x2dvEXT,
    ext_glProgramUniformMatrix4x2fv,
    ext_glProgramUniformMatrix4x2fvEXT,
    ext_glProgramUniformMatrix4x3dv,
    ext_glProgramUniformMatrix4x3dvEXT,
    ext_glProgramUniformMatrix4x3fv,
    ext_glProgramUniformMatrix4x3fvEXT,
    ext_glProgramUniformui64NV,
    ext_glProgramUniformui64vNV,
    ext_glProgramVertexLimitNV,
    ext_glProvokingVertex,
    ext_glProvokingVertexEXT,
    ext_glPushClientAttribDefaultEXT,
    ext_glPushDebugGroup,
    ext_glPushGroupMarkerEXT,
    ext_glQueryCounter,
    ext_glQueryMatrixxOES,
    ext_glQueryObjectParameteruiAMD,
    ext_glQueryResourceNV,
    ext_glQueryResourceTagNV,
    ext_glRasterPos2xOES,
    ext_glRasterPos2xvOES,
    ext_glRasterPos3xOES,
    ext_glRasterPos3xvOES,
    ext_glRasterPos4xOES,
    ext_glRasterPos4xvOES,
    ext_glRasterSamplesEXT,
    ext_glReadBufferRegion,
    ext_glReadInstrumentsSGIX,
    ext_glReadnPixels,
    ext_glReadnPixelsARB,
    ext_glRectxOES,
    ext_glRectxvOES,
    ext_glReferencePlaneSGIX,
    ext_glReleaseKeyedMutexWin32EXT,
    ext_glReleaseShaderCompiler,
    ext_glRenderGpuMaskNV,
    ext_glRenderbufferStorage,
    ext_glRenderbufferStorageEXT,
    ext_glRenderbufferStorageMultisample,
    ext_glRenderbufferStorageMultisampleAdvancedAMD,
    ext_glRenderbufferStorageMultisampleCoverageNV,
    ext_glRenderbufferStorageMultisampleEXT,
    ext_glReplacementCodePointerSUN,
    ext_glReplacementCodeubSUN,
    ext_glReplacementCodeubvSUN,
    ext_glReplacementCodeuiColor3fVertex3fSUN,
    ext_glReplacementCodeuiColor3fVertex3fvSUN,
    ext_glReplacementCodeuiColor4fNormal3fVertex3fSUN,
    ext_glReplacementCodeuiColor4fNormal3fVertex3fvSUN,
    ext_glReplacementCodeuiColor4ubVertex3fSUN,
    ext_glReplacementCodeuiColor4ubVertex3fvSUN,
    ext_glReplacementCodeuiNormal3fVertex3fSUN,
    ext_glReplacementCodeuiNormal3fVertex3fvSUN,
    ext_glReplacementCodeuiSUN,
    ext_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN,
    ext_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN,
    ext_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN,
    ext_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN,
    ext_glReplacementCodeuiTexCoord2fVertex3fSUN,
    ext_glReplacementCodeuiTexCoord2fVertex3fvSUN,
    ext_glReplacementCodeuiVertex3fSUN,
    ext_glReplacementCodeuiVertex3fvSUN,
    ext_glReplacementCodeuivSUN,
    ext_glReplacementCodeusSUN,
    ext_glReplacementCodeusvSUN,
    ext_glRequestResidentProgramsNV,
    ext_glResetHistogram,
    ext_glResetHistogramEXT,
    ext_glResetMemoryObjectParameterNV,
    ext_glResetMinmax,
    ext_glResetMinmaxEXT,
    ext_glResizeBuffersMESA,
    ext_glResolveDepthValuesNV,
    ext_glResumeTransformFeedback,
    ext_glResumeTransformFeedbackNV,
    ext_glRotatexOES,
    ext_glSampleCoverage,
    ext_glSampleCoverageARB,
    ext_glSampleMapATI,
    ext_glSampleMaskEXT,
    ext_glSampleMaskIndexedNV,
    ext_glSampleMaskSGIS,
    ext_glSampleMaski,
    ext_glSamplePatternEXT,
    ext_glSamplePatternSGIS,
    ext_glSamplerParameterIiv,
    ext_glSamplerParameterIuiv,
    ext_glSamplerParameterf,
    ext_glSamplerParameterfv,
    ext_glSamplerParameteri,
    ext_glSamplerParameteriv,
    ext_glScalexOES,
    ext_glScissorArrayv,
    ext_glScissorExclusiveArrayvNV,
    ext_glScissorExclusiveNV,
    ext_glScissorIndexed,
    ext_glScissorIndexedv,
    ext_glSecondaryColor3b,
    ext_glSecondaryColor3bEXT,
    ext_glSecondaryColor3bv,
    ext_glSecondaryColor3bvEXT,
    ext_glSecondaryColor3d,
    ext_glSecondaryColor3dEXT,
    ext_glSecondaryColor3dv,
    ext_glSecondaryColor3dvEXT,
    ext_glSecondaryColor3f,
    ext_glSecondaryColor3fEXT,
    ext_glSecondaryColor3fv,
    ext_glSecondaryColor3fvEXT,
    ext_glSecondaryColor3hNV,
    ext_glSecondaryColor3hvNV,
    ext_glSecondaryColor3i,
    ext_glSecondaryColor3iEXT,
    ext_glSecondaryColor3iv,
    ext_glSecondaryColor3ivEXT,
    ext_glSecondaryColor3s,
    ext_glSecondaryColor3sEXT,
    ext_glSecondaryColor3sv,
    ext_glSecondaryColor3svEXT,
    ext_glSecondaryColor3ub,
    ext_glSecondaryColor3ubEXT,
    ext_glSecondaryColor3ubv,
    ext_glSecondaryColor3ubvEXT,
    ext_glSecondaryColor3ui,
    ext_glSecondaryColor3uiEXT,
    ext_glSecondaryColor3uiv,
    ext_glSecondaryColor3uivEXT,
    ext_glSecondaryColor3us,
    ext_glSecondaryColor3usEXT,
    ext_glSecondaryColor3usv,
    ext_glSecondaryColor3usvEXT,
    ext_glSecondaryColorFormatNV,
    ext_glSecondaryColorP3ui,
    ext_glSecondaryColorP3uiv,
    ext_glSecondaryColorPointer,
    ext_glSecondaryColorPointerEXT,
    ext_glSecondaryColorPointerListIBM,
    ext_glSelectPerfMonitorCountersAMD,
    ext_glSelectTextureCoordSetSGIS,
    ext_glSelectTextureSGIS,
    ext_glSemaphoreParameterui64vEXT,
    ext_glSeparableFilter2D,
    ext_glSeparableFilter2DEXT,
    ext_glSetFenceAPPLE,
    ext_glSetFenceNV,
    ext_glSetFragmentShaderConstantATI,
    ext_glSetInvariantEXT,
    ext_glSetLocalConstantEXT,
    ext_glSetMultisamplefvAMD,
    ext_glShaderBinary,
    ext_glShaderOp1EXT,
    ext_glShaderOp2EXT,
    ext_glShaderOp3EXT,
    ext_glShaderSource,
    ext_glShaderSourceARB,
    ext_glShaderStorageBlockBinding,
    ext_glShadingRateImageBarrierNV,
    ext_glShadingRateImagePaletteNV,
    ext_glShadingRateSampleOrderCustomNV,
    ext_glShadingRateSampleOrderNV,
    ext_glSharpenTexFuncSGIS,
    ext_glSignalSemaphoreEXT,
    ext_glSignalSemaphoreui64NVX,
    ext_glSignalVkFenceNV,
    ext_glSignalVkSemaphoreNV,
    ext_glSpecializeShader,
    ext_glSpecializeShaderARB,
    ext_glSpriteParameterfSGIX,
    ext_glSpriteParameterfvSGIX,
    ext_glSpriteParameteriSGIX,
    ext_glSpriteParameterivSGIX,
    ext_glStartInstrumentsSGIX,
    ext_glStateCaptureNV,
    ext_glStencilClearTagEXT,
    ext_glStencilFillPathInstancedNV,
    ext_glStencilFillPathNV,
    ext_glStencilFuncSeparate,
    ext_glStencilFuncSeparateATI,
    ext_glStencilMaskSeparate,
    ext_glStencilOpSeparate,
    ext_glStencilOpSeparateATI,
    ext_glStencilOpValueAMD,
    ext_glStencilStrokePathInstancedNV,
    ext_glStencilStrokePathNV,
    ext_glStencilThenCoverFillPathInstancedNV,
    ext_glStencilThenCoverFillPathNV,
    ext_glStencilThenCoverStrokePathInstancedNV,
    ext_glStencilThenCoverStrokePathNV,
    ext_glStopInstrumentsSGIX,
    ext_glStringMarkerGREMEDY,
    ext_glSubpixelPrecisionBiasNV,
    ext_glSwizzleEXT,
    ext_glSyncTextureINTEL,
    ext_glTagSampleBufferSGIX,
    ext_glTangent3bEXT,
    ext_glTangent3bvEXT,
    ext_glTangent3dEXT,
    ext_glTangent3dvEXT,
    ext_glTangent3fEXT,
    ext_glTangent3fvEXT,
    ext_glTangent3iEXT,
    ext_glTangent3ivEXT,
    ext_glTangent3sEXT,
    ext_glTangent3svEXT,
    ext_glTangentPointerEXT,
    ext_glTbufferMask3DFX,
    ext_glTessellationFactorAMD,
    ext_glTessellationModeAMD,
    ext_glTestFenceAPPLE,
    ext_glTestFenceNV,
    ext_glTestObjectAPPLE,
    ext_glTexAttachMemoryNV,
    ext_glTexBuffer,
    ext_glTexBufferARB,
    ext_glTexBufferEXT,
    ext_glTexBufferRange,
    ext_glTexBumpParameterfvATI,
    ext_glTexBumpParameterivATI,
    ext_glTexCoord1bOES,
    ext_glTexCoord1bvOES,
    ext_glTexCoord1hNV,
    ext_glTexCoord1hvNV,
    ext_glTexCoord1xOES,
    ext_glTexCoord1xvOES,
    ext_glTexCoord2bOES,
    ext_glTexCoord2bvOES,
    ext_glTexCoord2fColor3fVertex3fSUN,
    ext_glTexCoord2fColor3fVertex3fvSUN,
    ext_glTexCoord2fColor4fNormal3fVertex3fSUN,
    ext_glTexCoord2fColor4fNormal3fVertex3fvSUN,
    ext_glTexCoord2fColor4ubVertex3fSUN,
    ext_glTexCoord2fColor4ubVertex3fvSUN,
    ext_glTexCoord2fNormal3fVertex3fSUN,
    ext_glTexCoord2fNormal3fVertex3fvSUN,
    ext_glTexCoord2fVertex3fSUN,
    ext_glTexCoord2fVertex3fvSUN,
    ext_glTexCoord2hNV,
    ext_glTexCoord2hvNV,
    ext_glTexCoord2xOES,
    ext_glTexCoord2xvOES,
    ext_glTexCoord3bOES,
    ext_glTexCoord3bvOES,
    ext_glTexCoord3hNV,
    ext_glTexCoord3hvNV,
    ext_glTexCoord3xOES,
    ext_glTexCoord3xvOES,
    ext_glTexCoord4bOES,
    ext_glTexCoord4bvOES,
    ext_glTexCoord4fColor4fNormal3fVertex4fSUN,
    ext_glTexCoord4fColor4fNormal3fVertex4fvSUN,
    ext_glTexCoord4fVertex4fSUN,
    ext_glTexCoord4fVertex4fvSUN,
    ext_glTexCoord4hNV,
    ext_glTexCoord4hvNV,
    ext_glTexCoord4xOES,
    ext_glTexCoord4xvOES,
    ext_glTexCoordFormatNV,
    ext_glTexCoordP1ui,
    ext_glTexCoordP1uiv,
    ext_glTexCoordP2ui,
    ext_glTexCoordP2uiv,
    ext_glTexCoordP3ui,
    ext_glTexCoordP3uiv,
    ext_glTexCoordP4ui,
    ext_glTexCoordP4uiv,
    ext_glTexCoordPointerEXT,
    ext_glTexCoordPointerListIBM,
    ext_glTexCoordPointervINTEL,
    ext_glTexEnvxOES,
    ext_glTexEnvxvOES,
    ext_glTexFilterFuncSGIS,
    ext_glTexGenxOES,
    ext_glTexGenxvOES,
    ext_glTexImage2DMultisample,
    ext_glTexImage2DMultisampleCoverageNV,
    ext_glTexImage3D,
    ext_glTexImage3DEXT,
    ext_glTexImage3DMultisample,
    ext_glTexImage3DMultisampleCoverageNV,
    ext_glTexImage4DSGIS,
    ext_glTexPageCommitmentARB,
    ext_glTexParameterIiv,
    ext_glTexParameterIivEXT,
    ext_glTexParameterIuiv,
    ext_glTexParameterIuivEXT,
    ext_glTexParameterxOES,
    ext_glTexParameterxvOES,
    ext_glTexRenderbufferNV,
    ext_glTexStorage1D,
    ext_glTexStorage2D,
    ext_glTexStorage2DMultisample,
    ext_glTexStorage3D,
    ext_glTexStorage3DMultisample,
    ext_glTexStorageMem1DEXT,
    ext_glTexStorageMem2DEXT,
    ext_glTexStorageMem2DMultisampleEXT,
    ext_glTexStorageMem3DEXT,
    ext_glTexStorageMem3DMultisampleEXT,
    ext_glTexStorageSparseAMD,
    ext_glTexSubImage1DEXT,
    ext_glTexSubImage2DEXT,
    ext_glTexSubImage3D,
    ext_glTexSubImage3DEXT,
    ext_glTexSubImage4DSGIS,
    ext_glTextureAttachMemoryNV,
    ext_glTextureBarrier,
    ext_glTextureBarrierNV,
    ext_glTextureBuffer,
    ext_glTextureBufferEXT,
    ext_glTextureBufferRange,
    ext_glTextureBufferRangeEXT,
    ext_glTextureColorMaskSGIS,
    ext_glTextureImage1DEXT,
    ext_glTextureImage2DEXT,
    ext_glTextureImage2DMultisampleCoverageNV,
    ext_glTextureImage2DMultisampleNV,
    ext_glTextureImage3DEXT,
    ext_glTextureImage3DMultisampleCoverageNV,
    ext_glTextureImage3DMultisampleNV,
    ext_glTextureLightEXT,
    ext_glTextureMaterialEXT,
    ext_glTextureNormalEXT,
    ext_glTexturePageCommitmentEXT,
    ext_glTextureParameterIiv,
    ext_glTextureParameterIivEXT,
    ext_glTextureParameterIuiv,
    ext_glTextureParameterIuivEXT,
    ext_glTextureParameterf,
    ext_glTextureParameterfEXT,
    ext_glTextureParameterfv,
    ext_glTextureParameterfvEXT,
    ext_glTextureParameteri,
    ext_glTextureParameteriEXT,
    ext_glTextureParameteriv,
    ext_glTextureParameterivEXT,
    ext_glTextureRangeAPPLE,
    ext_glTextureRenderbufferEXT,
    ext_glTextureStorage1D,
    ext_glTextureStorage1DEXT,
    ext_glTextureStorage2D,
    ext_glTextureStorage2DEXT,
    ext_glTextureStorage2DMultisample,
    ext_glTextureStorage2DMultisampleEXT,
    ext_glTextureStorage3D,
    ext_glTextureStorage3DEXT,
    ext_glTextureStorage3DMultisample,
    ext_glTextureStorage3DMultisampleEXT,
    ext_glTextureStorageMem1DEXT,
    ext_glTextureStorageMem2DEXT,
    ext_glTextureStorageMem2DMultisampleEXT,
    ext_glTextureStorageMem3DEXT,
    ext_glTextureStorageMem3DMultisampleEXT,
    ext_glTextureStorageSparseAMD,
    ext_glTextureSubImage1D,
    ext_glTextureSubImage1DEXT,
    ext_glTextureSubImage2D,
    ext_glTextureSubImage2DEXT,
    ext_glTextureSubImage3D,
    ext_glTextureSubImage3DEXT,
    ext_glTextureView,
    ext_glTrackMatrixNV,
    ext_glTransformFeedbackAttribsNV,
    ext_glTransformFeedbackBufferBase,
    ext_glTransformFeedbackBufferRange,
    ext_glTransformFeedbackStreamAttribsNV,
    ext_glTransformFeedbackVaryings,
    ext_glTransformFeedbackVaryingsEXT,
    ext_glTransformFeedbackVaryingsNV,
    ext_glTransformPathNV,
    ext_glTranslatexOES,
    ext_glUniform1d,
    ext_glUniform1dv,
    ext_glUniform1f,
    ext_glUniform1fARB,
    ext_glUniform1fv,
    ext_glUniform1fvARB,
    ext_glUniform1i,
    ext_glUniform1i64ARB,
    ext_glUniform1i64NV,
    ext_glUniform1i64vARB,
    ext_glUniform1i64vNV,
    ext_glUniform1iARB,
    ext_glUniform1iv,
    ext_glUniform1ivARB,
    ext_glUniform1ui,
    ext_glUniform1ui64ARB,
    ext_glUniform1ui64NV,
    ext_glUniform1ui64vARB,
    ext_glUniform1ui64vNV,
    ext_glUniform1uiEXT,
    ext_glUniform1uiv,
    ext_glUniform1uivEXT,
    ext_glUniform2d,
    ext_glUniform2dv,
    ext_glUniform2f,
    ext_glUniform2fARB,
    ext_glUniform2fv,
    ext_glUniform2fvARB,
    ext_glUniform2i,
    ext_glUniform2i64ARB,
    ext_glUniform2i64NV,
    ext_glUniform2i64vARB,
    ext_glUniform2i64vNV,
    ext_glUniform2iARB,
    ext_glUniform2iv,
    ext_glUniform2ivARB,
    ext_glUniform2ui,
    ext_glUniform2ui64ARB,
    ext_glUniform2ui64NV,
    ext_glUniform2ui64vARB,
    ext_glUniform2ui64vNV,
    ext_glUniform2uiEXT,
    ext_glUniform2uiv,
    ext_glUniform2uivEXT,
    ext_glUniform3d,
    ext_glUniform3dv,
    ext_glUniform3f,
    ext_glUniform3fARB,
    ext_glUniform3fv,
    ext_glUniform3fvARB,
    ext_glUniform3i,
    ext_glUniform3i64ARB,
    ext_glUniform3i64NV,
    ext_glUniform3i64vARB,
    ext_glUniform3i64vNV,
    ext_glUniform3iARB,
    ext_glUniform3iv,
    ext_glUniform3ivARB,
    ext_glUniform3ui,
    ext_glUniform3ui64ARB,
    ext_glUniform3ui64NV,
    ext_glUniform3ui64vARB,
    ext_glUniform3ui64vNV,
    ext_glUniform3uiEXT,
    ext_glUniform3uiv,
    ext_glUniform3uivEXT,
    ext_glUniform4d,
    ext_glUniform4dv,
    ext_glUniform4f,
    ext_glUniform4fARB,
    ext_glUniform4fv,
    ext_glUniform4fvARB,
    ext_glUniform4i,
    ext_glUniform4i64ARB,
    ext_glUniform4i64NV,
    ext_glUniform4i64vARB,
    ext_glUniform4i64vNV,
    ext_glUniform4iARB,
    ext_glUniform4iv,
    ext_glUniform4ivARB,
    ext_glUniform4ui,
    ext_glUniform4ui64ARB,
    ext_glUniform4ui64NV,
    ext_glUniform4ui64vARB,
    ext_glUniform4ui64vNV,
    ext_glUniform4uiEXT,
    ext_glUniform4uiv,
    ext_glUniform4uivEXT,
    ext_glUniformBlockBinding,
    ext_glUniformBufferEXT,
    ext_glUniformHandleui64ARB,
    ext_glUniformHandleui64NV,
    ext_glUniformHandleui64vARB,
    ext_glUniformHandleui64vNV,
    ext_glUniformMatrix2dv,
    ext_glUniformMatrix2fv,
    ext_glUniformMatrix2fvARB,
    ext_glUniformMatrix2x3dv,
    ext_glUniformMatrix2x3fv,
    ext_glUniformMatrix2x4dv,
    ext_glUniformMatrix2x4fv,
    ext_glUniformMatrix3dv,
    ext_glUniformMatrix3fv,
    ext_glUniformMatrix3fvARB,
    ext_glUniformMatrix3x2dv,
    ext_glUniformMatrix3x2fv,
    ext_glUniformMatrix3x4dv,
    ext_glUniformMatrix3x4fv,
    ext_glUniformMatrix4dv,
    ext_glUniformMatrix4fv,
    ext_glUniformMatrix4fvARB,
    ext_glUniformMatrix4x2dv,
    ext_glUniformMatrix4x2fv,
    ext_glUniformMatrix4x3dv,
    ext_glUniformMatrix4x3fv,
    ext_glUniformSubroutinesuiv,
    ext_glUniformui64NV,
    ext_glUniformui64vNV,
    ext_glUnlockArraysEXT,
    ext_glUnmapBuffer,
    ext_glUnmapBufferARB,
    ext_glUnmapNamedBuffer,
    ext_glUnmapNamedBufferEXT,
    ext_glUnmapObjectBufferATI,
    ext_glUnmapTexture2DINTEL,
    ext_glUpdateObjectBufferATI,
    ext_glUploadGpuMaskNVX,
    ext_glUseProgram,
    ext_glUseProgramObjectARB,
    ext_glUseProgramStages,
    ext_glUseShaderProgramEXT,
    ext_glVDPAUFiniNV,
    ext_glVDPAUGetSurfaceivNV,
    ext_glVDPAUInitNV,
    ext_glVDPAUIsSurfaceNV,
    ext_glVDPAUMapSurfacesNV,
    ext_glVDPAURegisterOutputSurfaceNV,
    ext_glVDPAURegisterVideoSurfaceNV,
    ext_glVDPAURegisterVideoSurfaceWithPictureStructureNV,
    ext_glVDPAUSurfaceAccessNV,
    ext_glVDPAUUnmapSurfacesNV,
    ext_glVDPAUUnregisterSurfaceNV,
    ext_glValidateProgram,
    ext_glValidateProgramARB,
    ext_glValidateProgramPipeline,
    ext_glVariantArrayObjectATI,
    ext_glVariantPointerEXT,
    ext_glVariantbvEXT,
    ext_glVariantdvEXT,
    ext_glVariantfvEXT,
    ext_glVariantivEXT,
    ext_glVariantsvEXT,
    ext_glVariantubvEXT,
    ext_glVariantuivEXT,
    ext_glVariantusvEXT,
    ext_glVertex2bOES,
    ext_glVertex2bvOES,
    ext_glVertex2hNV,
    ext_glVertex2hvNV,
    ext_glVertex2xOES,
    ext_glVertex2xvOES,
    ext_glVertex3bOES,
    ext_glVertex3bvOES,
    ext_glVertex3hNV,
    ext_glVertex3hvNV,
    ext_glVertex3xOES,
    ext_glVertex3xvOES,
    ext_glVertex4bOES,
    ext_glVertex4bvOES,
    ext_glVertex4hNV,
    ext_glVertex4hvNV,
    ext_glVertex4xOES,
    ext_glVertex4xvOES,
    ext_glVertexArrayAttribBinding,
    ext_glVertexArrayAttribFormat,
    ext_glVertexArrayAttribIFormat,
    ext_glVertexArrayAttribLFormat,
    ext_glVertexArrayBindVertexBufferEXT,
    ext_glVertexArrayBindingDivisor,
    ext_glVertexArrayColorOffsetEXT,
    ext_glVertexArrayEdgeFlagOffsetEXT,
    ext_glVertexArrayElementBuffer,
    ext_glVertexArrayFogCoordOffsetEXT,
    ext_glVertexArrayIndexOffsetEXT,
    ext_glVertexArrayMultiTexCoordOffsetEXT,
    ext_glVertexArrayNormalOffsetEXT,
    ext_glVertexArrayParameteriAPPLE,
    ext_glVertexArrayRangeAPPLE,
    ext_glVertexArrayRangeNV,
    ext_glVertexArraySecondaryColorOffsetEXT,
    ext_glVertexArrayTexCoordOffsetEXT,
    ext_glVertexArrayVertexAttribBindingEXT,
    ext_glVertexArrayVertexAttribDivisorEXT,
    ext_glVertexArrayVertexAttribFormatEXT,
    ext_glVertexArrayVertexAttribIFormatEXT,
    ext_glVertexArrayVertexAttribIOffsetEXT,
    ext_glVertexArrayVertexAttribLFormatEXT,
    ext_glVertexArrayVertexAttribLOffsetEXT,
    ext_glVertexArrayVertexAttribOffsetEXT,
    ext_glVertexArrayVertexBindingDivisorEXT,
    ext_glVertexArrayVertexBuffer,
    ext_glVertexArrayVertexBuffers,
    ext_glVertexArrayVertexOffsetEXT,
    ext_glVertexAttrib1d,
    ext_glVertexAttrib1dARB,
    ext_glVertexAttrib1dNV,
    ext_glVertexAttrib1dv,
    ext_glVertexAttrib1dvARB,
    ext_glVertexAttrib1dvNV,
    ext_glVertexAttrib1f,
    ext_glVertexAttrib1fARB,
    ext_glVertexAttrib1fNV,
    ext_glVertexAttrib1fv,
    ext_glVertexAttrib1fvARB,
    ext_glVertexAttrib1fvNV,
    ext_glVertexAttrib1hNV,
    ext_glVertexAttrib1hvNV,
    ext_glVertexAttrib1s,
    ext_glVertexAttrib1sARB,
    ext_glVertexAttrib1sNV,
    ext_glVertexAttrib1sv,
    ext_glVertexAttrib1svARB,
    ext_glVertexAttrib1svNV,
    ext_glVertexAttrib2d,
    ext_glVertexAttrib2dARB,
    ext_glVertexAttrib2dNV,
    ext_glVertexAttrib2dv,
    ext_glVertexAttrib2dvARB,
    ext_glVertexAttrib2dvNV,
    ext_glVertexAttrib2f,
    ext_glVertexAttrib2fARB,
    ext_glVertexAttrib2fNV,
    ext_glVertexAttrib2fv,
    ext_glVertexAttrib2fvARB,
    ext_glVertexAttrib2fvNV,
    ext_glVertexAttrib2hNV,
    ext_glVertexAttrib2hvNV,
    ext_glVertexAttrib2s,
    ext_glVertexAttrib2sARB,
    ext_glVertexAttrib2sNV,
    ext_glVertexAttrib2sv,
    ext_glVertexAttrib2svARB,
    ext_glVertexAttrib2svNV,
    ext_glVertexAttrib3d,
    ext_glVertexAttrib3dARB,
    ext_glVertexAttrib3dNV,
    ext_glVertexAttrib3dv,
    ext_glVertexAttrib3dvARB,
    ext_glVertexAttrib3dvNV,
    ext_glVertexAttrib3f,
    ext_glVertexAttrib3fARB,
    ext_glVertexAttrib3fNV,
    ext_glVertexAttrib3fv,
    ext_glVertexAttrib3fvARB,
    ext_glVertexAttrib3fvNV,
    ext_glVertexAttrib3hNV,
    ext_glVertexAttrib3hvNV,
    ext_glVertexAttrib3s,
    ext_glVertexAttrib3sARB,
    ext_glVertexAttrib3sNV,
    ext_glVertexAttrib3sv,
    ext_glVertexAttrib3svARB,
    ext_glVertexAttrib3svNV,
    ext_glVertexAttrib4Nbv,
    ext_glVertexAttrib4NbvARB,
    ext_glVertexAttrib4Niv,
    ext_glVertexAttrib4NivARB,
    ext_glVertexAttrib4Nsv,
    ext_glVertexAttrib4NsvARB,
    ext_glVertexAttrib4Nub,
    ext_glVertexAttrib4NubARB,
    ext_glVertexAttrib4Nubv,
    ext_glVertexAttrib4NubvARB,
    ext_glVertexAttrib4Nuiv,
    ext_glVertexAttrib4NuivARB,
    ext_glVertexAttrib4Nusv,
    ext_glVertexAttrib4NusvARB,
    ext_glVertexAttrib4bv,
    ext_glVertexAttrib4bvARB,
    ext_glVertexAttrib4d,
    ext_glVertexAttrib4dARB,
    ext_glVertexAttrib4dNV,
    ext_glVertexAttrib4dv,
    ext_glVertexAttrib4dvARB,
    ext_glVertexAttrib4dvNV,
    ext_glVertexAttrib4f,
    ext_glVertexAttrib4fARB,
    ext_glVertexAttrib4fNV,
    ext_glVertexAttrib4fv,
    ext_glVertexAttrib4fvARB,
    ext_glVertexAttrib4fvNV,
    ext_glVertexAttrib4hNV,
    ext_glVertexAttrib4hvNV,
    ext_glVertexAttrib4iv,
    ext_glVertexAttrib4ivARB,
    ext_glVertexAttrib4s,
    ext_glVertexAttrib4sARB,
    ext_glVertexAttrib4sNV,
    ext_glVertexAttrib4sv,
    ext_glVertexAttrib4svARB,
    ext_glVertexAttrib4svNV,
    ext_glVertexAttrib4ubNV,
    ext_glVertexAttrib4ubv,
    ext_glVertexAttrib4ubvARB,
    ext_glVertexAttrib4ubvNV,
    ext_glVertexAttrib4uiv,
    ext_glVertexAttrib4uivARB,
    ext_glVertexAttrib4usv,
    ext_glVertexAttrib4usvARB,
    ext_glVertexAttribArrayObjectATI,
    ext_glVertexAttribBinding,
    ext_glVertexAttribDivisor,
    ext_glVertexAttribDivisorARB,
    ext_glVertexAttribFormat,
    ext_glVertexAttribFormatNV,
    ext_glVertexAttribI1i,
    ext_glVertexAttribI1iEXT,
    ext_glVertexAttribI1iv,
    ext_glVertexAttribI1ivEXT,
    ext_glVertexAttribI1ui,
    ext_glVertexAttribI1uiEXT,
    ext_glVertexAttribI1uiv,
    ext_glVertexAttribI1uivEXT,
    ext_glVertexAttribI2i,
    ext_glVertexAttribI2iEXT,
    ext_glVertexAttribI2iv,
    ext_glVertexAttribI2ivEXT,
    ext_glVertexAttribI2ui,
    ext_glVertexAttribI2uiEXT,
    ext_glVertexAttribI2uiv,
    ext_glVertexAttribI2uivEXT,
    ext_glVertexAttribI3i,
    ext_glVertexAttribI3iEXT,
    ext_glVertexAttribI3iv,
    ext_glVertexAttribI3ivEXT,
    ext_glVertexAttribI3ui,
    ext_glVertexAttribI3uiEXT,
    ext_glVertexAttribI3uiv,
    ext_glVertexAttribI3uivEXT,
    ext_glVertexAttribI4bv,
    ext_glVertexAttribI4bvEXT,
    ext_glVertexAttribI4i,
    ext_glVertexAttribI4iEXT,
    ext_glVertexAttribI4iv,
    ext_glVertexAttribI4ivEXT,
    ext_glVertexAttribI4sv,
    ext_glVertexAttribI4svEXT,
    ext_glVertexAttribI4ubv,
    ext_glVertexAttribI4ubvEXT,
    ext_glVertexAttribI4ui,
    ext_glVertexAttribI4uiEXT,
    ext_glVertexAttribI4uiv,
    ext_glVertexAttribI4uivEXT,
    ext_glVertexAttribI4usv,
    ext_glVertexAttribI4usvEXT,
    ext_glVertexAttribIFormat,
    ext_glVertexAttribIFormatNV,
    ext_glVertexAttribIPointer,
    ext_glVertexAttribIPointerEXT,
    ext_glVertexAttribL1d,
    ext_glVertexAttribL1dEXT,
    ext_glVertexAttribL1dv,
    ext_glVertexAttribL1dvEXT,
    ext_glVertexAttribL1i64NV,
    ext_glVertexAttribL1i64vNV,
    ext_glVertexAttribL1ui64ARB,
    ext_glVertexAttribL1ui64NV,
    ext_glVertexAttribL1ui64vARB,
    ext_glVertexAttribL1ui64vNV,
    ext_glVertexAttribL2d,
    ext_glVertexAttribL2dEXT,
    ext_glVertexAttribL2dv,
    ext_glVertexAttribL2dvEXT,
    ext_glVertexAttribL2i64NV,
    ext_glVertexAttribL2i64vNV,
    ext_glVertexAttribL2ui64NV,
    ext_glVertexAttribL2ui64vNV,
    ext_glVertexAttribL3d,
    ext_glVertexAttribL3dEXT,
    ext_glVertexAttribL3dv,
    ext_glVertexAttribL3dvEXT,
    ext_glVertexAttribL3i64NV,
    ext_glVertexAttribL3i64vNV,
    ext_glVertexAttribL3ui64NV,
    ext_glVertexAttribL3ui64vNV,
    ext_glVertexAttribL4d,
    ext_glVertexAttribL4dEXT,
    ext_glVertexAttribL4dv,
    ext_glVertexAttribL4dvEXT,
    ext_glVertexAttribL4i64NV,
    ext_glVertexAttribL4i64vNV,
    ext_glVertexAttribL4ui64NV,
    ext_glVertexAttribL4ui64vNV,
    ext_glVertexAttribLFormat,
    ext_glVertexAttribLFormatNV,
    ext_glVertexAttribLPointer,
    ext_glVertexAttribLPointerEXT,
    ext_glVertexAttribP1ui,
    ext_glVertexAttribP1uiv,
    ext_glVertexAttribP2ui,
    ext_glVertexAttribP2uiv,
    ext_glVertexAttribP3ui,
    ext_glVertexAttribP3uiv,
    ext_glVertexAttribP4ui,
    ext_glVertexAttribP4uiv,
    ext_glVertexAttribParameteriAMD,
    ext_glVertexAttribPointer,
    ext_glVertexAttribPointerARB,
    ext_glVertexAttribPointerNV,
    ext_glVertexAttribs1dvNV,
    ext_glVertexAttribs1fvNV,
    ext_glVertexAttribs1hvNV,
    ext_glVertexAttribs1svNV,
    ext_glVertexAttribs2dvNV,
    ext_glVertexAttribs2fvNV,
    ext_glVertexAttribs2hvNV,
    ext_glVertexAttribs2svNV,
    ext_glVertexAttribs3dvNV,
    ext_glVertexAttribs3fvNV,
    ext_glVertexAttribs3hvNV,
    ext_glVertexAttribs3svNV,
    ext_glVertexAttribs4dvNV,
    ext_glVertexAttribs4fvNV,
    ext_glVertexAttribs4hvNV,
    ext_glVertexAttribs4svNV,
    ext_glVertexAttribs4ubvNV,
    ext_glVertexBindingDivisor,
    ext_glVertexBlendARB,
    ext_glVertexBlendEnvfATI,
    ext_glVertexBlendEnviATI,
    ext_glVertexFormatNV,
    ext_glVertexP2ui,
    ext_glVertexP2uiv,
    ext_glVertexP3ui,
    ext_glVertexP3uiv,
    ext_glVertexP4ui,
    ext_glVertexP4uiv,
    ext_glVertexPointerEXT,
    ext_glVertexPointerListIBM,
    ext_glVertexPointervINTEL,
    ext_glVertexStream1dATI,
    ext_glVertexStream1dvATI,
    ext_glVertexStream1fATI,
    ext_glVertexStream1fvATI,
    ext_glVertexStream1iATI,
    ext_glVertexStream1ivATI,
    ext_glVertexStream1sATI,
    ext_glVertexStream1svATI,
    ext_glVertexStream2dATI,
    ext_glVertexStream2dvATI,
    ext_glVertexStream2fATI,
    ext_glVertexStream2fvATI,
    ext_glVertexStream2iATI,
    ext_glVertexStream2ivATI,
    ext_glVertexStream2sATI,
    ext_glVertexStream2svATI,
    ext_glVertexStream3dATI,
    ext_glVertexStream3dvATI,
    ext_glVertexStream3fATI,
    ext_glVertexStream3fvATI,
    ext_glVertexStream3iATI,
    ext_glVertexStream3ivATI,
    ext_glVertexStream3sATI,
    ext_glVertexStream3svATI,
    ext_glVertexStream4dATI,
    ext_glVertexStream4dvATI,
    ext_glVertexStream4fATI,
    ext_glVertexStream4fvATI,
    ext_glVertexStream4iATI,
    ext_glVertexStream4ivATI,
    ext_glVertexStream4sATI,
    ext_glVertexStream4svATI,
    ext_glVertexWeightPointerEXT,
    ext_glVertexWeightfEXT,
    ext_glVertexWeightfvEXT,
    ext_glVertexWeighthNV,
    ext_glVertexWeighthvNV,
    ext_glVideoCaptureNV,
    ext_glVideoCaptureStreamParameterdvNV,
    ext_glVideoCaptureStreamParameterfvNV,
    ext_glVideoCaptureStreamParameterivNV,
    ext_glViewportArrayv,
    ext_glViewportIndexedf,
    ext_glViewportIndexedfv,
    ext_glViewportPositionWScaleNV,
    ext_glViewportSwizzleNV,
    ext_glWaitSemaphoreEXT,
    ext_glWaitSemaphoreui64NVX,
    ext_glWaitSync,
    ext_glWaitVkSemaphoreNV,
    ext_glWeightPathsNV,
    ext_glWeightPointerARB,
    ext_glWeightbvARB,
    ext_glWeightdvARB,
    ext_glWeightfvARB,
    ext_glWeightivARB,
    ext_glWeightsvARB,
    ext_glWeightubvARB,
    ext_glWeightuivARB,
    ext_glWeightusvARB,
    ext_glWindowPos2d,
    ext_glWindowPos2dARB,
    ext_glWindowPos2dMESA,
    ext_glWindowPos2dv,
    ext_glWindowPos2dvARB,
    ext_glWindowPos2dvMESA,
    ext_glWindowPos2f,
    ext_glWindowPos2fARB,
    ext_glWindowPos2fMESA,
    ext_glWindowPos2fv,
    ext_glWindowPos2fvARB,
    ext_glWindowPos2fvMESA,
    ext_glWindowPos2i,
    ext_glWindowPos2iARB,
    ext_glWindowPos2iMESA,
    ext_glWindowPos2iv,
    ext_glWindowPos2ivARB,
    ext_glWindowPos2ivMESA,
    ext_glWindowPos2s,
    ext_glWindowPos2sARB,
    ext_glWindowPos2sMESA,
    ext_glWindowPos2sv,
    ext_glWindowPos2svARB,
    ext_glWindowPos2svMESA,
    ext_glWindowPos3d,
    ext_glWindowPos3dARB,
    ext_glWindowPos3dMESA,
    ext_glWindowPos3dv,
    ext_glWindowPos3dvARB,
    ext_glWindowPos3dvMESA,
    ext_glWindowPos3f,
    ext_glWindowPos3fARB,
    ext_glWindowPos3fMESA,
    ext_glWindowPos3fv,
    ext_glWindowPos3fvARB,
    ext_glWindowPos3fvMESA,
    ext_glWindowPos3i,
    ext_glWindowPos3iARB,
    ext_glWindowPos3iMESA,
    ext_glWindowPos3iv,
    ext_glWindowPos3ivARB,
    ext_glWindowPos3ivMESA,
    ext_glWindowPos3s,
    ext_glWindowPos3sARB,
    ext_glWindowPos3sMESA,
    ext_glWindowPos3sv,
    ext_glWindowPos3svARB,
    ext_glWindowPos3svMESA,
    ext_glWindowPos4dMESA,
    ext_glWindowPos4dvMESA,
    ext_glWindowPos4fMESA,
    ext_glWindowPos4fvMESA,
    ext_glWindowPos4iMESA,
    ext_glWindowPos4ivMESA,
    ext_glWindowPos4sMESA,
    ext_glWindowPos4svMESA,
    ext_glWindowRectanglesEXT,
    ext_glWriteMaskEXT,
    ext_wglAllocateMemoryNV,
    ext_wglBindTexImageARB,
    ext_wglChoosePixelFormatARB,
    ext_wglCreateContextAttribsARB,
    ext_wglCreatePbufferARB,
    ext_wglDestroyPbufferARB,
    ext_wglFreeMemoryNV,
    ext_wglGetCurrentReadDCARB,
    ext_wglGetExtensionsStringARB,
    ext_wglGetExtensionsStringEXT,
    ext_wglGetPbufferDCARB,
    ext_wglGetPixelFormatAttribfvARB,
    ext_wglGetPixelFormatAttribivARB,
    ext_wglGetSwapIntervalEXT,
    ext_wglMakeContextCurrentARB,
    ext_wglQueryCurrentRendererIntegerWINE,
    ext_wglQueryCurrentRendererStringWINE,
    ext_wglQueryPbufferARB,
    ext_wglQueryRendererIntegerWINE,
    ext_wglQueryRendererStringWINE,
    ext_wglReleasePbufferDCARB,
    ext_wglReleaseTexImageARB,
    ext_wglSetPbufferAttribARB,
    ext_wglSetPixelFormatWINE,
    ext_wglSwapIntervalEXT,
};

C_ASSERT(ARRAYSIZE(__wine_unix_call_funcs) == funcs_count);

#ifdef _WIN64

typedef ULONG PTR32;

extern NTSTATUS wow64_thread_attach( void *args );
extern NTSTATUS wow64_process_detach( void *args );
extern NTSTATUS wow64_get_pixel_formats( void *args );

static NTSTATUS wow64_wgl_wglCopyContext( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hglrcSrc;
        PTR32 hglrcDst;
        UINT mask;
        BOOL ret;
    } *params32 = args;
    struct wglCopyContext_params params =
    {
        .teb = get_teb64(params32->teb),
        .hglrcSrc = ULongToPtr(params32->hglrcSrc),
        .hglrcDst = ULongToPtr(params32->hglrcDst),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = wgl_wglCopyContext( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_wgl_wglGetPixelFormat( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hdc;
        int ret;
    } *params32 = args;
    struct wglGetPixelFormat_params params =
    {
        .teb = get_teb64(params32->teb),
        .hdc = ULongToPtr(params32->hdc),
    };
    NTSTATUS status;
    status = wgl_wglGetPixelFormat( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_wgl_wglSetPixelFormat( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hdc;
        int ipfd;
        PTR32 ppfd;
        BOOL ret;
    } *params32 = args;
    struct wglSetPixelFormat_params params =
    {
        .teb = get_teb64(params32->teb),
        .hdc = ULongToPtr(params32->hdc),
        .ipfd = params32->ipfd,
        .ppfd = ULongToPtr(params32->ppfd),
    };
    NTSTATUS status;
    status = wgl_wglSetPixelFormat( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_wgl_wglShareLists( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hrcSrvShare;
        PTR32 hrcSrvSource;
        BOOL ret;
    } *params32 = args;
    struct wglShareLists_params params =
    {
        .teb = get_teb64(params32->teb),
        .hrcSrvShare = ULongToPtr(params32->hrcSrvShare),
        .hrcSrvSource = ULongToPtr(params32->hrcSrvSource),
    };
    NTSTATUS status;
    status = wgl_wglShareLists( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_wgl_wglSwapBuffers( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hdc;
        BOOL ret;
    } *params32 = args;
    struct wglSwapBuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .hdc = ULongToPtr(params32->hdc),
    };
    NTSTATUS status;
    status = wgl_wglSwapBuffers( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_gl_glAccum( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum op;
        GLfloat value;
    } *params32 = args;
    struct glAccum_params params =
    {
        .teb = get_teb64(params32->teb),
        .op = params32->op,
        .value = params32->value,
    };
    NTSTATUS status;
    status = gl_glAccum( &params );
    return status;
}

static NTSTATUS wow64_gl_glAlphaFunc( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum func;
        GLfloat ref;
    } *params32 = args;
    struct glAlphaFunc_params params =
    {
        .teb = get_teb64(params32->teb),
        .func = params32->func,
        .ref = params32->ref,
    };
    NTSTATUS status;
    status = gl_glAlphaFunc( &params );
    return status;
}

static NTSTATUS wow64_gl_glAreTexturesResident( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 textures;
        PTR32 residences;
        GLboolean ret;
    } *params32 = args;
    struct glAreTexturesResident_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .textures = ULongToPtr(params32->textures),
        .residences = ULongToPtr(params32->residences),
    };
    NTSTATUS status;
    status = gl_glAreTexturesResident( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_gl_glArrayElement( void *args )
{
    struct
    {
        PTR32 teb;
        GLint i;
    } *params32 = args;
    struct glArrayElement_params params =
    {
        .teb = get_teb64(params32->teb),
        .i = params32->i,
    };
    NTSTATUS status;
    status = gl_glArrayElement( &params );
    return status;
}

static NTSTATUS wow64_gl_glBegin( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glBegin_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = gl_glBegin( &params );
    return status;
}

static NTSTATUS wow64_gl_glBindTexture( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint texture;
    } *params32 = args;
    struct glBindTexture_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = gl_glBindTexture( &params );
    return status;
}

static NTSTATUS wow64_gl_glBitmap( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei width;
        GLsizei height;
        GLfloat xorig;
        GLfloat yorig;
        GLfloat xmove;
        GLfloat ymove;
        PTR32 bitmap;
    } *params32 = args;
    struct glBitmap_params params =
    {
        .teb = get_teb64(params32->teb),
        .width = params32->width,
        .height = params32->height,
        .xorig = params32->xorig,
        .yorig = params32->yorig,
        .xmove = params32->xmove,
        .ymove = params32->ymove,
        .bitmap = ULongToPtr(params32->bitmap),
    };
    NTSTATUS status;
    status = gl_glBitmap( &params );
    return status;
}

static NTSTATUS wow64_gl_glBlendFunc( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum sfactor;
        GLenum dfactor;
    } *params32 = args;
    struct glBlendFunc_params params =
    {
        .teb = get_teb64(params32->teb),
        .sfactor = params32->sfactor,
        .dfactor = params32->dfactor,
    };
    NTSTATUS status;
    status = gl_glBlendFunc( &params );
    return status;
}

static NTSTATUS wow64_gl_glCallList( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
    } *params32 = args;
    struct glCallList_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
    };
    NTSTATUS status;
    status = gl_glCallList( &params );
    return status;
}

static NTSTATUS wow64_gl_glCallLists( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        GLenum type;
        PTR32 lists;
    } *params32 = args;
    struct glCallLists_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .type = params32->type,
        .lists = ULongToPtr(params32->lists),
    };
    NTSTATUS status;
    status = gl_glCallLists( &params );
    return status;
}

static NTSTATUS wow64_gl_glClear( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield mask;
    } *params32 = args;
    struct glClear_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = gl_glClear( &params );
    return status;
}

static NTSTATUS wow64_gl_glClearAccum( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat red;
        GLfloat green;
        GLfloat blue;
        GLfloat alpha;
    } *params32 = args;
    struct glClearAccum_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = gl_glClearAccum( &params );
    return status;
}

static NTSTATUS wow64_gl_glClearColor( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat red;
        GLfloat green;
        GLfloat blue;
        GLfloat alpha;
    } *params32 = args;
    struct glClearColor_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = gl_glClearColor( &params );
    return status;
}

static NTSTATUS wow64_gl_glClearDepth( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble depth;
    } *params32 = args;
    struct glClearDepth_params params =
    {
        .teb = get_teb64(params32->teb),
        .depth = params32->depth,
    };
    NTSTATUS status;
    status = gl_glClearDepth( &params );
    return status;
}

static NTSTATUS wow64_gl_glClearIndex( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat c;
    } *params32 = args;
    struct glClearIndex_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = params32->c,
    };
    NTSTATUS status;
    status = gl_glClearIndex( &params );
    return status;
}

static NTSTATUS wow64_gl_glClearStencil( void *args )
{
    struct
    {
        PTR32 teb;
        GLint s;
    } *params32 = args;
    struct glClearStencil_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
    };
    NTSTATUS status;
    status = gl_glClearStencil( &params );
    return status;
}

static NTSTATUS wow64_gl_glClipPlane( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum plane;
        PTR32 equation;
    } *params32 = args;
    struct glClipPlane_params params =
    {
        .teb = get_teb64(params32->teb),
        .plane = params32->plane,
        .equation = ULongToPtr(params32->equation),
    };
    NTSTATUS status;
    status = gl_glClipPlane( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3b( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte red;
        GLbyte green;
        GLbyte blue;
    } *params32 = args;
    struct glColor3b_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = gl_glColor3b( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3bv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor3bv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor3bv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble red;
        GLdouble green;
        GLdouble blue;
    } *params32 = args;
    struct glColor3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = gl_glColor3d( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor3dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat red;
        GLfloat green;
        GLfloat blue;
    } *params32 = args;
    struct glColor3f_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = gl_glColor3f( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor3fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint red;
        GLint green;
        GLint blue;
    } *params32 = args;
    struct glColor3i_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = gl_glColor3i( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor3iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor3iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort red;
        GLshort green;
        GLshort blue;
    } *params32 = args;
    struct glColor3s_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = gl_glColor3s( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor3sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor3sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3ub( void *args )
{
    struct
    {
        PTR32 teb;
        GLubyte red;
        GLubyte green;
        GLubyte blue;
    } *params32 = args;
    struct glColor3ub_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = gl_glColor3ub( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3ubv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor3ubv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor3ubv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint red;
        GLuint green;
        GLuint blue;
    } *params32 = args;
    struct glColor3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = gl_glColor3ui( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor3uiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3us( void *args )
{
    struct
    {
        PTR32 teb;
        GLushort red;
        GLushort green;
        GLushort blue;
    } *params32 = args;
    struct glColor3us_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = gl_glColor3us( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor3usv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor3usv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor3usv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4b( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte red;
        GLbyte green;
        GLbyte blue;
        GLbyte alpha;
    } *params32 = args;
    struct glColor4b_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = gl_glColor4b( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4bv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor4bv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor4bv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble red;
        GLdouble green;
        GLdouble blue;
        GLdouble alpha;
    } *params32 = args;
    struct glColor4d_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = gl_glColor4d( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor4dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat red;
        GLfloat green;
        GLfloat blue;
        GLfloat alpha;
    } *params32 = args;
    struct glColor4f_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = gl_glColor4f( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor4fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint red;
        GLint green;
        GLint blue;
        GLint alpha;
    } *params32 = args;
    struct glColor4i_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = gl_glColor4i( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor4iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor4iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort red;
        GLshort green;
        GLshort blue;
        GLshort alpha;
    } *params32 = args;
    struct glColor4s_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = gl_glColor4s( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor4sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor4sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4ub( void *args )
{
    struct
    {
        PTR32 teb;
        GLubyte red;
        GLubyte green;
        GLubyte blue;
        GLubyte alpha;
    } *params32 = args;
    struct glColor4ub_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = gl_glColor4ub( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4ubv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor4ubv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor4ubv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint red;
        GLuint green;
        GLuint blue;
        GLuint alpha;
    } *params32 = args;
    struct glColor4ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = gl_glColor4ui( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4uiv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor4uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor4uiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4us( void *args )
{
    struct
    {
        PTR32 teb;
        GLushort red;
        GLushort green;
        GLushort blue;
        GLushort alpha;
    } *params32 = args;
    struct glColor4us_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = gl_glColor4us( &params );
    return status;
}

static NTSTATUS wow64_gl_glColor4usv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor4usv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glColor4usv( &params );
    return status;
}

static NTSTATUS wow64_gl_glColorMask( void *args )
{
    struct
    {
        PTR32 teb;
        GLboolean red;
        GLboolean green;
        GLboolean blue;
        GLboolean alpha;
    } *params32 = args;
    struct glColorMask_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = gl_glColorMask( &params );
    return status;
}

static NTSTATUS wow64_gl_glColorMaterial( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum mode;
    } *params32 = args;
    struct glColorMaterial_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = gl_glColorMaterial( &params );
    return status;
}

static NTSTATUS wow64_gl_glColorPointer( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glColorPointer_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = gl_glColorPointer( &params );
    return status;
}

static NTSTATUS wow64_gl_glCopyPixels( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
        GLenum type;
    } *params32 = args;
    struct glCopyPixels_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
        .type = params32->type,
    };
    NTSTATUS status;
    status = gl_glCopyPixels( &params );
    return status;
}

static NTSTATUS wow64_gl_glCopyTexImage1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
        GLint border;
    } *params32 = args;
    struct glCopyTexImage1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .border = params32->border,
    };
    NTSTATUS status;
    status = gl_glCopyTexImage1D( &params );
    return status;
}

static NTSTATUS wow64_gl_glCopyTexImage2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
        GLint border;
    } *params32 = args;
    struct glCopyTexImage2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
        .border = params32->border,
    };
    NTSTATUS status;
    status = gl_glCopyTexImage2D( &params );
    return status;
}

static NTSTATUS wow64_gl_glCopyTexSubImage1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint x;
        GLint y;
        GLsizei width;
    } *params32 = args;
    struct glCopyTexSubImage1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
    };
    NTSTATUS status;
    status = gl_glCopyTexSubImage1D( &params );
    return status;
}

static NTSTATUS wow64_gl_glCopyTexSubImage2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyTexSubImage2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = gl_glCopyTexSubImage2D( &params );
    return status;
}

static NTSTATUS wow64_gl_glCullFace( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glCullFace_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = gl_glCullFace( &params );
    return status;
}

static NTSTATUS wow64_gl_glDeleteLists( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLsizei range;
    } *params32 = args;
    struct glDeleteLists_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
        .range = params32->range,
    };
    NTSTATUS status;
    status = gl_glDeleteLists( &params );
    return status;
}

static NTSTATUS wow64_gl_glDeleteTextures( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 textures;
    } *params32 = args;
    struct glDeleteTextures_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .textures = ULongToPtr(params32->textures),
    };
    NTSTATUS status;
    status = gl_glDeleteTextures( &params );
    return status;
}

static NTSTATUS wow64_gl_glDepthFunc( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum func;
    } *params32 = args;
    struct glDepthFunc_params params =
    {
        .teb = get_teb64(params32->teb),
        .func = params32->func,
    };
    NTSTATUS status;
    status = gl_glDepthFunc( &params );
    return status;
}

static NTSTATUS wow64_gl_glDepthMask( void *args )
{
    struct
    {
        PTR32 teb;
        GLboolean flag;
    } *params32 = args;
    struct glDepthMask_params params =
    {
        .teb = get_teb64(params32->teb),
        .flag = params32->flag,
    };
    NTSTATUS status;
    status = gl_glDepthMask( &params );
    return status;
}

static NTSTATUS wow64_gl_glDepthRange( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble n;
        GLdouble f;
    } *params32 = args;
    struct glDepthRange_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .f = params32->f,
    };
    NTSTATUS status;
    status = gl_glDepthRange( &params );
    return status;
}

static NTSTATUS wow64_gl_glDisable( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum cap;
    } *params32 = args;
    struct glDisable_params params =
    {
        .teb = get_teb64(params32->teb),
        .cap = params32->cap,
    };
    NTSTATUS status;
    status = gl_glDisable( &params );
    return status;
}

static NTSTATUS wow64_gl_glDisableClientState( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum array;
    } *params32 = args;
    struct glDisableClientState_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
    };
    NTSTATUS status;
    status = gl_glDisableClientState( &params );
    return status;
}

static NTSTATUS wow64_gl_glDrawArrays( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLint first;
        GLsizei count;
    } *params32 = args;
    struct glDrawArrays_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .first = params32->first,
        .count = params32->count,
    };
    NTSTATUS status;
    status = gl_glDrawArrays( &params );
    return status;
}

static NTSTATUS wow64_gl_glDrawBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum buf;
    } *params32 = args;
    struct glDrawBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
    };
    NTSTATUS status;
    status = gl_glDrawBuffer( &params );
    return status;
}

static NTSTATUS wow64_gl_glDrawElements( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLsizei count;
        GLenum type;
        PTR32 indices;
    } *params32 = args;
    struct glDrawElements_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = params32->count,
        .type = params32->type,
        .indices = ULongToPtr(params32->indices),
    };
    NTSTATUS status;
    status = gl_glDrawElements( &params );
    return status;
}

static NTSTATUS wow64_gl_glDrawPixels( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glDrawPixels_params params =
    {
        .teb = get_teb64(params32->teb),
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = gl_glDrawPixels( &params );
    return status;
}

static NTSTATUS wow64_gl_glEdgeFlag( void *args )
{
    struct
    {
        PTR32 teb;
        GLboolean flag;
    } *params32 = args;
    struct glEdgeFlag_params params =
    {
        .teb = get_teb64(params32->teb),
        .flag = params32->flag,
    };
    NTSTATUS status;
    status = gl_glEdgeFlag( &params );
    return status;
}

static NTSTATUS wow64_gl_glEdgeFlagPointer( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glEdgeFlagPointer_params params =
    {
        .teb = get_teb64(params32->teb),
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = gl_glEdgeFlagPointer( &params );
    return status;
}

static NTSTATUS wow64_gl_glEdgeFlagv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 flag;
    } *params32 = args;
    struct glEdgeFlagv_params params =
    {
        .teb = get_teb64(params32->teb),
        .flag = ULongToPtr(params32->flag),
    };
    NTSTATUS status;
    status = gl_glEdgeFlagv( &params );
    return status;
}

static NTSTATUS wow64_gl_glEnable( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum cap;
    } *params32 = args;
    struct glEnable_params params =
    {
        .teb = get_teb64(params32->teb),
        .cap = params32->cap,
    };
    NTSTATUS status;
    status = gl_glEnable( &params );
    return status;
}

static NTSTATUS wow64_gl_glEnableClientState( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum array;
    } *params32 = args;
    struct glEnableClientState_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
    };
    NTSTATUS status;
    status = gl_glEnableClientState( &params );
    return status;
}

static NTSTATUS wow64_gl_glEnd( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEnd_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glEnd( &params );
    return status;
}

static NTSTATUS wow64_gl_glEndList( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEndList_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glEndList( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalCoord1d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble u;
    } *params32 = args;
    struct glEvalCoord1d_params params =
    {
        .teb = get_teb64(params32->teb),
        .u = params32->u,
    };
    NTSTATUS status;
    status = gl_glEvalCoord1d( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalCoord1dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 u;
    } *params32 = args;
    struct glEvalCoord1dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .u = ULongToPtr(params32->u),
    };
    NTSTATUS status;
    status = gl_glEvalCoord1dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalCoord1f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat u;
    } *params32 = args;
    struct glEvalCoord1f_params params =
    {
        .teb = get_teb64(params32->teb),
        .u = params32->u,
    };
    NTSTATUS status;
    status = gl_glEvalCoord1f( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalCoord1fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 u;
    } *params32 = args;
    struct glEvalCoord1fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .u = ULongToPtr(params32->u),
    };
    NTSTATUS status;
    status = gl_glEvalCoord1fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalCoord2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble u;
        GLdouble v;
    } *params32 = args;
    struct glEvalCoord2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .u = params32->u,
        .v = params32->v,
    };
    NTSTATUS status;
    status = gl_glEvalCoord2d( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalCoord2dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 u;
    } *params32 = args;
    struct glEvalCoord2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .u = ULongToPtr(params32->u),
    };
    NTSTATUS status;
    status = gl_glEvalCoord2dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalCoord2f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat u;
        GLfloat v;
    } *params32 = args;
    struct glEvalCoord2f_params params =
    {
        .teb = get_teb64(params32->teb),
        .u = params32->u,
        .v = params32->v,
    };
    NTSTATUS status;
    status = gl_glEvalCoord2f( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalCoord2fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 u;
    } *params32 = args;
    struct glEvalCoord2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .u = ULongToPtr(params32->u),
    };
    NTSTATUS status;
    status = gl_glEvalCoord2fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalMesh1( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLint i1;
        GLint i2;
    } *params32 = args;
    struct glEvalMesh1_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .i1 = params32->i1,
        .i2 = params32->i2,
    };
    NTSTATUS status;
    status = gl_glEvalMesh1( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalMesh2( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLint i1;
        GLint i2;
        GLint j1;
        GLint j2;
    } *params32 = args;
    struct glEvalMesh2_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .i1 = params32->i1,
        .i2 = params32->i2,
        .j1 = params32->j1,
        .j2 = params32->j2,
    };
    NTSTATUS status;
    status = gl_glEvalMesh2( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalPoint1( void *args )
{
    struct
    {
        PTR32 teb;
        GLint i;
    } *params32 = args;
    struct glEvalPoint1_params params =
    {
        .teb = get_teb64(params32->teb),
        .i = params32->i,
    };
    NTSTATUS status;
    status = gl_glEvalPoint1( &params );
    return status;
}

static NTSTATUS wow64_gl_glEvalPoint2( void *args )
{
    struct
    {
        PTR32 teb;
        GLint i;
        GLint j;
    } *params32 = args;
    struct glEvalPoint2_params params =
    {
        .teb = get_teb64(params32->teb),
        .i = params32->i,
        .j = params32->j,
    };
    NTSTATUS status;
    status = gl_glEvalPoint2( &params );
    return status;
}

static NTSTATUS wow64_gl_glFeedbackBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei size;
        GLenum type;
        PTR32 buffer;
    } *params32 = args;
    struct glFeedbackBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .buffer = ULongToPtr(params32->buffer),
    };
    NTSTATUS status;
    status = gl_glFeedbackBuffer( &params );
    return status;
}

static NTSTATUS wow64_gl_glFinish( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glFinish_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glFinish( &params );
    return status;
}

static NTSTATUS wow64_gl_glFlush( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glFlush_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glFlush( &params );
    return status;
}

static NTSTATUS wow64_gl_glFogf( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glFogf_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glFogf( &params );
    return status;
}

static NTSTATUS wow64_gl_glFogfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glFogfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glFogfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glFogi( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glFogi_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glFogi( &params );
    return status;
}

static NTSTATUS wow64_gl_glFogiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glFogiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glFogiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glFrontFace( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glFrontFace_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = gl_glFrontFace( &params );
    return status;
}

static NTSTATUS wow64_gl_glFrustum( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble left;
        GLdouble right;
        GLdouble bottom;
        GLdouble top;
        GLdouble zNear;
        GLdouble zFar;
    } *params32 = args;
    struct glFrustum_params params =
    {
        .teb = get_teb64(params32->teb),
        .left = params32->left,
        .right = params32->right,
        .bottom = params32->bottom,
        .top = params32->top,
        .zNear = params32->zNear,
        .zFar = params32->zFar,
    };
    NTSTATUS status;
    status = gl_glFrustum( &params );
    return status;
}

static NTSTATUS wow64_gl_glGenLists( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei range;
        GLuint ret;
    } *params32 = args;
    struct glGenLists_params params =
    {
        .teb = get_teb64(params32->teb),
        .range = params32->range,
    };
    NTSTATUS status;
    status = gl_glGenLists( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_gl_glGenTextures( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 textures;
    } *params32 = args;
    struct glGenTextures_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .textures = ULongToPtr(params32->textures),
    };
    NTSTATUS status;
    status = gl_glGenTextures( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetBooleanv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 data;
    } *params32 = args;
    struct glGetBooleanv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = gl_glGetBooleanv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetClipPlane( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum plane;
        PTR32 equation;
    } *params32 = args;
    struct glGetClipPlane_params params =
    {
        .teb = get_teb64(params32->teb),
        .plane = params32->plane,
        .equation = ULongToPtr(params32->equation),
    };
    NTSTATUS status;
    status = gl_glGetClipPlane( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetDoublev( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 data;
    } *params32 = args;
    struct glGetDoublev_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = gl_glGetDoublev( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetError( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum ret;
    } *params32 = args;
    struct glGetError_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glGetError( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_gl_glGetFloatv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 data;
    } *params32 = args;
    struct glGetFloatv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = gl_glGetFloatv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetIntegerv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 data;
    } *params32 = args;
    struct glGetIntegerv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = gl_glGetIntegerv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetLightfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetLightfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetLightfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetLightiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetLightiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetLightiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetMapdv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum query;
        PTR32 v;
    } *params32 = args;
    struct glGetMapdv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .query = params32->query,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glGetMapdv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetMapfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum query;
        PTR32 v;
    } *params32 = args;
    struct glGetMapfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .query = params32->query,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glGetMapfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetMapiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum query;
        PTR32 v;
    } *params32 = args;
    struct glGetMapiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .query = params32->query,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glGetMapiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetMaterialfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMaterialfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetMaterialfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetMaterialiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMaterialiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetMaterialiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetPixelMapfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        PTR32 values;
    } *params32 = args;
    struct glGetPixelMapfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = gl_glGetPixelMapfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetPixelMapuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        PTR32 values;
    } *params32 = args;
    struct glGetPixelMapuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = gl_glGetPixelMapuiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetPixelMapusv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        PTR32 values;
    } *params32 = args;
    struct glGetPixelMapusv_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = gl_glGetPixelMapusv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetPointerv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetPointerv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
    };
    NTSTATUS status;
    status = gl_glGetPointerv( &params );
    params32->params = PtrToUlong( params.params );
    return status;
}

static NTSTATUS wow64_gl_glGetPolygonStipple( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 mask;
    } *params32 = args;
    struct glGetPolygonStipple_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = ULongToPtr(params32->mask),
    };
    NTSTATUS status;
    status = gl_glGetPolygonStipple( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetTexEnvfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexEnvfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetTexEnvfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetTexEnviv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexEnviv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetTexEnviv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetTexGendv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexGendv_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetTexGendv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetTexGenfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexGenfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetTexGenfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetTexGeniv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexGeniv_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetTexGeniv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetTexImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glGetTexImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = gl_glGetTexImage( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetTexLevelParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexLevelParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetTexLevelParameterfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetTexLevelParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexLevelParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetTexLevelParameteriv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetTexParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetTexParameterfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glGetTexParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glGetTexParameteriv( &params );
    return status;
}

static NTSTATUS wow64_gl_glHint( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum mode;
    } *params32 = args;
    struct glHint_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = gl_glHint( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexMask( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint mask;
    } *params32 = args;
    struct glIndexMask_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = gl_glIndexMask( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexPointer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glIndexPointer_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = gl_glIndexPointer( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexd( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble c;
    } *params32 = args;
    struct glIndexd_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = params32->c,
    };
    NTSTATUS status;
    status = gl_glIndexd( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexdv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 c;
    } *params32 = args;
    struct glIndexdv_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = ULongToPtr(params32->c),
    };
    NTSTATUS status;
    status = gl_glIndexdv( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexf( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat c;
    } *params32 = args;
    struct glIndexf_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = params32->c,
    };
    NTSTATUS status;
    status = gl_glIndexf( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexfv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 c;
    } *params32 = args;
    struct glIndexfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = ULongToPtr(params32->c),
    };
    NTSTATUS status;
    status = gl_glIndexfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexi( void *args )
{
    struct
    {
        PTR32 teb;
        GLint c;
    } *params32 = args;
    struct glIndexi_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = params32->c,
    };
    NTSTATUS status;
    status = gl_glIndexi( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexiv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 c;
    } *params32 = args;
    struct glIndexiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = ULongToPtr(params32->c),
    };
    NTSTATUS status;
    status = gl_glIndexiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexs( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort c;
    } *params32 = args;
    struct glIndexs_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = params32->c,
    };
    NTSTATUS status;
    status = gl_glIndexs( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexsv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 c;
    } *params32 = args;
    struct glIndexsv_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = ULongToPtr(params32->c),
    };
    NTSTATUS status;
    status = gl_glIndexsv( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexub( void *args )
{
    struct
    {
        PTR32 teb;
        GLubyte c;
    } *params32 = args;
    struct glIndexub_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = params32->c,
    };
    NTSTATUS status;
    status = gl_glIndexub( &params );
    return status;
}

static NTSTATUS wow64_gl_glIndexubv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 c;
    } *params32 = args;
    struct glIndexubv_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = ULongToPtr(params32->c),
    };
    NTSTATUS status;
    status = gl_glIndexubv( &params );
    return status;
}

static NTSTATUS wow64_gl_glInitNames( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glInitNames_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glInitNames( &params );
    return status;
}

static NTSTATUS wow64_gl_glInterleavedArrays( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum format;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glInterleavedArrays_params params =
    {
        .teb = get_teb64(params32->teb),
        .format = params32->format,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = gl_glInterleavedArrays( &params );
    return status;
}

static NTSTATUS wow64_gl_glIsEnabled( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum cap;
        GLboolean ret;
    } *params32 = args;
    struct glIsEnabled_params params =
    {
        .teb = get_teb64(params32->teb),
        .cap = params32->cap,
    };
    NTSTATUS status;
    status = gl_glIsEnabled( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_gl_glIsList( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLboolean ret;
    } *params32 = args;
    struct glIsList_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
    };
    NTSTATUS status;
    status = gl_glIsList( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_gl_glIsTexture( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLboolean ret;
    } *params32 = args;
    struct glIsTexture_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = gl_glIsTexture( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_gl_glLightModelf( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glLightModelf_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glLightModelf( &params );
    return status;
}

static NTSTATUS wow64_gl_glLightModelfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glLightModelfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glLightModelfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glLightModeli( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glLightModeli_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glLightModeli( &params );
    return status;
}

static NTSTATUS wow64_gl_glLightModeliv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glLightModeliv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glLightModeliv( &params );
    return status;
}

static NTSTATUS wow64_gl_glLightf( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glLightf_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glLightf( &params );
    return status;
}

static NTSTATUS wow64_gl_glLightfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glLightfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glLightfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glLighti( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glLighti_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glLighti( &params );
    return status;
}

static NTSTATUS wow64_gl_glLightiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glLightiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glLightiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glLineStipple( void *args )
{
    struct
    {
        PTR32 teb;
        GLint factor;
        GLushort pattern;
    } *params32 = args;
    struct glLineStipple_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
        .pattern = params32->pattern,
    };
    NTSTATUS status;
    status = gl_glLineStipple( &params );
    return status;
}

static NTSTATUS wow64_gl_glLineWidth( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat width;
    } *params32 = args;
    struct glLineWidth_params params =
    {
        .teb = get_teb64(params32->teb),
        .width = params32->width,
    };
    NTSTATUS status;
    status = gl_glLineWidth( &params );
    return status;
}

static NTSTATUS wow64_gl_glListBase( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint base;
    } *params32 = args;
    struct glListBase_params params =
    {
        .teb = get_teb64(params32->teb),
        .base = params32->base,
    };
    NTSTATUS status;
    status = gl_glListBase( &params );
    return status;
}

static NTSTATUS wow64_gl_glLoadIdentity( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glLoadIdentity_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glLoadIdentity( &params );
    return status;
}

static NTSTATUS wow64_gl_glLoadMatrixd( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glLoadMatrixd_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = gl_glLoadMatrixd( &params );
    return status;
}

static NTSTATUS wow64_gl_glLoadMatrixf( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glLoadMatrixf_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = gl_glLoadMatrixf( &params );
    return status;
}

static NTSTATUS wow64_gl_glLoadName( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint name;
    } *params32 = args;
    struct glLoadName_params params =
    {
        .teb = get_teb64(params32->teb),
        .name = params32->name,
    };
    NTSTATUS status;
    status = gl_glLoadName( &params );
    return status;
}

static NTSTATUS wow64_gl_glLogicOp( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum opcode;
    } *params32 = args;
    struct glLogicOp_params params =
    {
        .teb = get_teb64(params32->teb),
        .opcode = params32->opcode,
    };
    NTSTATUS status;
    status = gl_glLogicOp( &params );
    return status;
}

static NTSTATUS wow64_gl_glMap1d( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble u1;
        GLdouble u2;
        GLint stride;
        GLint order;
        PTR32 points;
    } *params32 = args;
    struct glMap1d_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .stride = params32->stride,
        .order = params32->order,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = gl_glMap1d( &params );
    return status;
}

static NTSTATUS wow64_gl_glMap1f( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat u1;
        GLfloat u2;
        GLint stride;
        GLint order;
        PTR32 points;
    } *params32 = args;
    struct glMap1f_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .stride = params32->stride,
        .order = params32->order,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = gl_glMap1f( &params );
    return status;
}

static NTSTATUS wow64_gl_glMap2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble u1;
        GLdouble u2;
        GLint ustride;
        GLint uorder;
        GLdouble v1;
        GLdouble v2;
        GLint vstride;
        GLint vorder;
        PTR32 points;
    } *params32 = args;
    struct glMap2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .ustride = params32->ustride,
        .uorder = params32->uorder,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .vstride = params32->vstride,
        .vorder = params32->vorder,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = gl_glMap2d( &params );
    return status;
}

static NTSTATUS wow64_gl_glMap2f( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat u1;
        GLfloat u2;
        GLint ustride;
        GLint uorder;
        GLfloat v1;
        GLfloat v2;
        GLint vstride;
        GLint vorder;
        PTR32 points;
    } *params32 = args;
    struct glMap2f_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .ustride = params32->ustride,
        .uorder = params32->uorder,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .vstride = params32->vstride,
        .vorder = params32->vorder,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = gl_glMap2f( &params );
    return status;
}

static NTSTATUS wow64_gl_glMapGrid1d( void *args )
{
    struct
    {
        PTR32 teb;
        GLint un;
        GLdouble u1;
        GLdouble u2;
    } *params32 = args;
    struct glMapGrid1d_params params =
    {
        .teb = get_teb64(params32->teb),
        .un = params32->un,
        .u1 = params32->u1,
        .u2 = params32->u2,
    };
    NTSTATUS status;
    status = gl_glMapGrid1d( &params );
    return status;
}

static NTSTATUS wow64_gl_glMapGrid1f( void *args )
{
    struct
    {
        PTR32 teb;
        GLint un;
        GLfloat u1;
        GLfloat u2;
    } *params32 = args;
    struct glMapGrid1f_params params =
    {
        .teb = get_teb64(params32->teb),
        .un = params32->un,
        .u1 = params32->u1,
        .u2 = params32->u2,
    };
    NTSTATUS status;
    status = gl_glMapGrid1f( &params );
    return status;
}

static NTSTATUS wow64_gl_glMapGrid2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLint un;
        GLdouble u1;
        GLdouble u2;
        GLint vn;
        GLdouble v1;
        GLdouble v2;
    } *params32 = args;
    struct glMapGrid2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .un = params32->un,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .vn = params32->vn,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = gl_glMapGrid2d( &params );
    return status;
}

static NTSTATUS wow64_gl_glMapGrid2f( void *args )
{
    struct
    {
        PTR32 teb;
        GLint un;
        GLfloat u1;
        GLfloat u2;
        GLint vn;
        GLfloat v1;
        GLfloat v2;
    } *params32 = args;
    struct glMapGrid2f_params params =
    {
        .teb = get_teb64(params32->teb),
        .un = params32->un,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .vn = params32->vn,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = gl_glMapGrid2f( &params );
    return status;
}

static NTSTATUS wow64_gl_glMaterialf( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glMaterialf_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glMaterialf( &params );
    return status;
}

static NTSTATUS wow64_gl_glMaterialfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMaterialfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glMaterialfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glMateriali( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glMateriali_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glMateriali( &params );
    return status;
}

static NTSTATUS wow64_gl_glMaterialiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMaterialiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glMaterialiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glMatrixMode( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glMatrixMode_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = gl_glMatrixMode( &params );
    return status;
}

static NTSTATUS wow64_gl_glMultMatrixd( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glMultMatrixd_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = gl_glMultMatrixd( &params );
    return status;
}

static NTSTATUS wow64_gl_glMultMatrixf( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glMultMatrixf_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = gl_glMultMatrixf( &params );
    return status;
}

static NTSTATUS wow64_gl_glNewList( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLenum mode;
    } *params32 = args;
    struct glNewList_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = gl_glNewList( &params );
    return status;
}

static NTSTATUS wow64_gl_glNormal3b( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte nx;
        GLbyte ny;
        GLbyte nz;
    } *params32 = args;
    struct glNormal3b_params params =
    {
        .teb = get_teb64(params32->teb),
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = gl_glNormal3b( &params );
    return status;
}

static NTSTATUS wow64_gl_glNormal3bv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glNormal3bv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glNormal3bv( &params );
    return status;
}

static NTSTATUS wow64_gl_glNormal3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble nx;
        GLdouble ny;
        GLdouble nz;
    } *params32 = args;
    struct glNormal3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = gl_glNormal3d( &params );
    return status;
}

static NTSTATUS wow64_gl_glNormal3dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glNormal3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glNormal3dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glNormal3f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat nx;
        GLfloat ny;
        GLfloat nz;
    } *params32 = args;
    struct glNormal3f_params params =
    {
        .teb = get_teb64(params32->teb),
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = gl_glNormal3f( &params );
    return status;
}

static NTSTATUS wow64_gl_glNormal3fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glNormal3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glNormal3fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glNormal3i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint nx;
        GLint ny;
        GLint nz;
    } *params32 = args;
    struct glNormal3i_params params =
    {
        .teb = get_teb64(params32->teb),
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = gl_glNormal3i( &params );
    return status;
}

static NTSTATUS wow64_gl_glNormal3iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glNormal3iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glNormal3iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glNormal3s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort nx;
        GLshort ny;
        GLshort nz;
    } *params32 = args;
    struct glNormal3s_params params =
    {
        .teb = get_teb64(params32->teb),
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = gl_glNormal3s( &params );
    return status;
}

static NTSTATUS wow64_gl_glNormal3sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glNormal3sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glNormal3sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glNormalPointer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glNormalPointer_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = gl_glNormalPointer( &params );
    return status;
}

static NTSTATUS wow64_gl_glOrtho( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble left;
        GLdouble right;
        GLdouble bottom;
        GLdouble top;
        GLdouble zNear;
        GLdouble zFar;
    } *params32 = args;
    struct glOrtho_params params =
    {
        .teb = get_teb64(params32->teb),
        .left = params32->left,
        .right = params32->right,
        .bottom = params32->bottom,
        .top = params32->top,
        .zNear = params32->zNear,
        .zFar = params32->zFar,
    };
    NTSTATUS status;
    status = gl_glOrtho( &params );
    return status;
}

static NTSTATUS wow64_gl_glPassThrough( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat token;
    } *params32 = args;
    struct glPassThrough_params params =
    {
        .teb = get_teb64(params32->teb),
        .token = params32->token,
    };
    NTSTATUS status;
    status = gl_glPassThrough( &params );
    return status;
}

static NTSTATUS wow64_gl_glPixelMapfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        GLsizei mapsize;
        PTR32 values;
    } *params32 = args;
    struct glPixelMapfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .mapsize = params32->mapsize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = gl_glPixelMapfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glPixelMapuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        GLsizei mapsize;
        PTR32 values;
    } *params32 = args;
    struct glPixelMapuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .mapsize = params32->mapsize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = gl_glPixelMapuiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glPixelMapusv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        GLsizei mapsize;
        PTR32 values;
    } *params32 = args;
    struct glPixelMapusv_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .mapsize = params32->mapsize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = gl_glPixelMapusv( &params );
    return status;
}

static NTSTATUS wow64_gl_glPixelStoref( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glPixelStoref_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glPixelStoref( &params );
    return status;
}

static NTSTATUS wow64_gl_glPixelStorei( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glPixelStorei_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glPixelStorei( &params );
    return status;
}

static NTSTATUS wow64_gl_glPixelTransferf( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glPixelTransferf_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glPixelTransferf( &params );
    return status;
}

static NTSTATUS wow64_gl_glPixelTransferi( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glPixelTransferi_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glPixelTransferi( &params );
    return status;
}

static NTSTATUS wow64_gl_glPixelZoom( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat xfactor;
        GLfloat yfactor;
    } *params32 = args;
    struct glPixelZoom_params params =
    {
        .teb = get_teb64(params32->teb),
        .xfactor = params32->xfactor,
        .yfactor = params32->yfactor,
    };
    NTSTATUS status;
    status = gl_glPixelZoom( &params );
    return status;
}

static NTSTATUS wow64_gl_glPointSize( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat size;
    } *params32 = args;
    struct glPointSize_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
    };
    NTSTATUS status;
    status = gl_glPointSize( &params );
    return status;
}

static NTSTATUS wow64_gl_glPolygonMode( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum mode;
    } *params32 = args;
    struct glPolygonMode_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = gl_glPolygonMode( &params );
    return status;
}

static NTSTATUS wow64_gl_glPolygonOffset( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat factor;
        GLfloat units;
    } *params32 = args;
    struct glPolygonOffset_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
        .units = params32->units,
    };
    NTSTATUS status;
    status = gl_glPolygonOffset( &params );
    return status;
}

static NTSTATUS wow64_gl_glPolygonStipple( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 mask;
    } *params32 = args;
    struct glPolygonStipple_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = ULongToPtr(params32->mask),
    };
    NTSTATUS status;
    status = gl_glPolygonStipple( &params );
    return status;
}

static NTSTATUS wow64_gl_glPopAttrib( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glPopAttrib_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glPopAttrib( &params );
    return status;
}

static NTSTATUS wow64_gl_glPopClientAttrib( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glPopClientAttrib_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glPopClientAttrib( &params );
    return status;
}

static NTSTATUS wow64_gl_glPopMatrix( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glPopMatrix_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glPopMatrix( &params );
    return status;
}

static NTSTATUS wow64_gl_glPopName( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glPopName_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glPopName( &params );
    return status;
}

static NTSTATUS wow64_gl_glPrioritizeTextures( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 textures;
        PTR32 priorities;
    } *params32 = args;
    struct glPrioritizeTextures_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .textures = ULongToPtr(params32->textures),
        .priorities = ULongToPtr(params32->priorities),
    };
    NTSTATUS status;
    status = gl_glPrioritizeTextures( &params );
    return status;
}

static NTSTATUS wow64_gl_glPushAttrib( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield mask;
    } *params32 = args;
    struct glPushAttrib_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = gl_glPushAttrib( &params );
    return status;
}

static NTSTATUS wow64_gl_glPushClientAttrib( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield mask;
    } *params32 = args;
    struct glPushClientAttrib_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = gl_glPushClientAttrib( &params );
    return status;
}

static NTSTATUS wow64_gl_glPushMatrix( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glPushMatrix_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = gl_glPushMatrix( &params );
    return status;
}

static NTSTATUS wow64_gl_glPushName( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint name;
    } *params32 = args;
    struct glPushName_params params =
    {
        .teb = get_teb64(params32->teb),
        .name = params32->name,
    };
    NTSTATUS status;
    status = gl_glPushName( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glRasterPos2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = gl_glRasterPos2d( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos2dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos2dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos2f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
    } *params32 = args;
    struct glRasterPos2f_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = gl_glRasterPos2f( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos2fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos2fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos2i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
    } *params32 = args;
    struct glRasterPos2i_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = gl_glRasterPos2i( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos2iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos2iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos2iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos2s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
    } *params32 = args;
    struct glRasterPos2s_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = gl_glRasterPos2s( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos2sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos2sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos2sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glRasterPos3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glRasterPos3d( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos3dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos3dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos3f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glRasterPos3f_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glRasterPos3f( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos3fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos3fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos3i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLint z;
    } *params32 = args;
    struct glRasterPos3i_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glRasterPos3i( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos3iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos3iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos3iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos3s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
        GLshort z;
    } *params32 = args;
    struct glRasterPos3s_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glRasterPos3s( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos3sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos3sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos3sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos4d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glRasterPos4d_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = gl_glRasterPos4d( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos4dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos4dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos4f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glRasterPos4f_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = gl_glRasterPos4f( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos4fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos4fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos4i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLint z;
        GLint w;
    } *params32 = args;
    struct glRasterPos4i_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = gl_glRasterPos4i( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos4iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos4iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos4iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos4s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
        GLshort z;
        GLshort w;
    } *params32 = args;
    struct glRasterPos4s_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = gl_glRasterPos4s( &params );
    return status;
}

static NTSTATUS wow64_gl_glRasterPos4sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glRasterPos4sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glRasterPos4sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glReadBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum src;
    } *params32 = args;
    struct glReadBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .src = params32->src,
    };
    NTSTATUS status;
    status = gl_glReadBuffer( &params );
    return status;
}

static NTSTATUS wow64_gl_glReadPixels( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glReadPixels_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = gl_glReadPixels( &params );
    return status;
}

static NTSTATUS wow64_gl_glRectd( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x1;
        GLdouble y1;
        GLdouble x2;
        GLdouble y2;
    } *params32 = args;
    struct glRectd_params params =
    {
        .teb = get_teb64(params32->teb),
        .x1 = params32->x1,
        .y1 = params32->y1,
        .x2 = params32->x2,
        .y2 = params32->y2,
    };
    NTSTATUS status;
    status = gl_glRectd( &params );
    return status;
}

static NTSTATUS wow64_gl_glRectdv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v1;
        PTR32 v2;
    } *params32 = args;
    struct glRectdv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v1 = ULongToPtr(params32->v1),
        .v2 = ULongToPtr(params32->v2),
    };
    NTSTATUS status;
    status = gl_glRectdv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRectf( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x1;
        GLfloat y1;
        GLfloat x2;
        GLfloat y2;
    } *params32 = args;
    struct glRectf_params params =
    {
        .teb = get_teb64(params32->teb),
        .x1 = params32->x1,
        .y1 = params32->y1,
        .x2 = params32->x2,
        .y2 = params32->y2,
    };
    NTSTATUS status;
    status = gl_glRectf( &params );
    return status;
}

static NTSTATUS wow64_gl_glRectfv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v1;
        PTR32 v2;
    } *params32 = args;
    struct glRectfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v1 = ULongToPtr(params32->v1),
        .v2 = ULongToPtr(params32->v2),
    };
    NTSTATUS status;
    status = gl_glRectfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRecti( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x1;
        GLint y1;
        GLint x2;
        GLint y2;
    } *params32 = args;
    struct glRecti_params params =
    {
        .teb = get_teb64(params32->teb),
        .x1 = params32->x1,
        .y1 = params32->y1,
        .x2 = params32->x2,
        .y2 = params32->y2,
    };
    NTSTATUS status;
    status = gl_glRecti( &params );
    return status;
}

static NTSTATUS wow64_gl_glRectiv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v1;
        PTR32 v2;
    } *params32 = args;
    struct glRectiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v1 = ULongToPtr(params32->v1),
        .v2 = ULongToPtr(params32->v2),
    };
    NTSTATUS status;
    status = gl_glRectiv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRects( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x1;
        GLshort y1;
        GLshort x2;
        GLshort y2;
    } *params32 = args;
    struct glRects_params params =
    {
        .teb = get_teb64(params32->teb),
        .x1 = params32->x1,
        .y1 = params32->y1,
        .x2 = params32->x2,
        .y2 = params32->y2,
    };
    NTSTATUS status;
    status = gl_glRects( &params );
    return status;
}

static NTSTATUS wow64_gl_glRectsv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v1;
        PTR32 v2;
    } *params32 = args;
    struct glRectsv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v1 = ULongToPtr(params32->v1),
        .v2 = ULongToPtr(params32->v2),
    };
    NTSTATUS status;
    status = gl_glRectsv( &params );
    return status;
}

static NTSTATUS wow64_gl_glRenderMode( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLint ret;
    } *params32 = args;
    struct glRenderMode_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = gl_glRenderMode( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_gl_glRotated( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble angle;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glRotated_params params =
    {
        .teb = get_teb64(params32->teb),
        .angle = params32->angle,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glRotated( &params );
    return status;
}

static NTSTATUS wow64_gl_glRotatef( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat angle;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glRotatef_params params =
    {
        .teb = get_teb64(params32->teb),
        .angle = params32->angle,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glRotatef( &params );
    return status;
}

static NTSTATUS wow64_gl_glScaled( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glScaled_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glScaled( &params );
    return status;
}

static NTSTATUS wow64_gl_glScalef( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glScalef_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glScalef( &params );
    return status;
}

static NTSTATUS wow64_gl_glScissor( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glScissor_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = gl_glScissor( &params );
    return status;
}

static NTSTATUS wow64_gl_glSelectBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei size;
        PTR32 buffer;
    } *params32 = args;
    struct glSelectBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .buffer = ULongToPtr(params32->buffer),
    };
    NTSTATUS status;
    status = gl_glSelectBuffer( &params );
    return status;
}

static NTSTATUS wow64_gl_glShadeModel( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glShadeModel_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = gl_glShadeModel( &params );
    return status;
}

static NTSTATUS wow64_gl_glStencilFunc( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum func;
        GLint ref;
        GLuint mask;
    } *params32 = args;
    struct glStencilFunc_params params =
    {
        .teb = get_teb64(params32->teb),
        .func = params32->func,
        .ref = params32->ref,
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = gl_glStencilFunc( &params );
    return status;
}

static NTSTATUS wow64_gl_glStencilMask( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint mask;
    } *params32 = args;
    struct glStencilMask_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = gl_glStencilMask( &params );
    return status;
}

static NTSTATUS wow64_gl_glStencilOp( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum fail;
        GLenum zfail;
        GLenum zpass;
    } *params32 = args;
    struct glStencilOp_params params =
    {
        .teb = get_teb64(params32->teb),
        .fail = params32->fail,
        .zfail = params32->zfail,
        .zpass = params32->zpass,
    };
    NTSTATUS status;
    status = gl_glStencilOp( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord1d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble s;
    } *params32 = args;
    struct glTexCoord1d_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
    };
    NTSTATUS status;
    status = gl_glTexCoord1d( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord1dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord1dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord1dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord1f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat s;
    } *params32 = args;
    struct glTexCoord1f_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
    };
    NTSTATUS status;
    status = gl_glTexCoord1f( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord1fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord1fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord1fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord1i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint s;
    } *params32 = args;
    struct glTexCoord1i_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
    };
    NTSTATUS status;
    status = gl_glTexCoord1i( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord1iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord1iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord1iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord1s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort s;
    } *params32 = args;
    struct glTexCoord1s_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
    };
    NTSTATUS status;
    status = gl_glTexCoord1s( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord1sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord1sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord1sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble s;
        GLdouble t;
    } *params32 = args;
    struct glTexCoord2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = gl_glTexCoord2d( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord2dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord2dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord2f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat s;
        GLfloat t;
    } *params32 = args;
    struct glTexCoord2f_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = gl_glTexCoord2f( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord2fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord2fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord2i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint s;
        GLint t;
    } *params32 = args;
    struct glTexCoord2i_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = gl_glTexCoord2i( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord2iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord2iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord2iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord2s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort s;
        GLshort t;
    } *params32 = args;
    struct glTexCoord2s_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = gl_glTexCoord2s( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord2sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord2sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord2sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble s;
        GLdouble t;
        GLdouble r;
    } *params32 = args;
    struct glTexCoord3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = gl_glTexCoord3d( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord3dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord3dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord3f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat s;
        GLfloat t;
        GLfloat r;
    } *params32 = args;
    struct glTexCoord3f_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = gl_glTexCoord3f( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord3fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord3fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord3i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint s;
        GLint t;
        GLint r;
    } *params32 = args;
    struct glTexCoord3i_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = gl_glTexCoord3i( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord3iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord3iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord3iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord3s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort s;
        GLshort t;
        GLshort r;
    } *params32 = args;
    struct glTexCoord3s_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = gl_glTexCoord3s( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord3sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord3sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord3sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord4d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble s;
        GLdouble t;
        GLdouble r;
        GLdouble q;
    } *params32 = args;
    struct glTexCoord4d_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = gl_glTexCoord4d( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord4dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord4dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord4f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat s;
        GLfloat t;
        GLfloat r;
        GLfloat q;
    } *params32 = args;
    struct glTexCoord4f_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = gl_glTexCoord4f( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord4fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord4fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord4i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint s;
        GLint t;
        GLint r;
        GLint q;
    } *params32 = args;
    struct glTexCoord4i_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = gl_glTexCoord4i( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord4iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord4iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord4iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord4s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort s;
        GLshort t;
        GLshort r;
        GLshort q;
    } *params32 = args;
    struct glTexCoord4s_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = gl_glTexCoord4s( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoord4sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord4sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glTexCoord4sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexCoordPointer( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glTexCoordPointer_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = gl_glTexCoordPointer( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexEnvf( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glTexEnvf_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glTexEnvf( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexEnvfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexEnvfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glTexEnvfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexEnvi( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glTexEnvi_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glTexEnvi( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexEnviv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexEnviv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glTexEnviv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexGend( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        GLdouble param;
    } *params32 = args;
    struct glTexGend_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glTexGend( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexGendv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexGendv_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glTexGendv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexGenf( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glTexGenf_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glTexGenf( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexGenfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexGenfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glTexGenfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexGeni( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glTexGeni_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glTexGeni( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexGeniv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexGeniv_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glTexGeniv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexImage1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint internalformat;
        GLsizei width;
        GLint border;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexImage1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .border = params32->border,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = gl_glTexImage1D( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexImage2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint internalformat;
        GLsizei width;
        GLsizei height;
        GLint border;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexImage2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .border = params32->border,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = gl_glTexImage2D( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexParameterf( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glTexParameterf_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glTexParameterf( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glTexParameterfv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexParameteri( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glTexParameteri_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = gl_glTexParameteri( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = gl_glTexParameteriv( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexSubImage1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLsizei width;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexSubImage1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .width = params32->width,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = gl_glTexSubImage1D( &params );
    return status;
}

static NTSTATUS wow64_gl_glTexSubImage2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexSubImage2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = gl_glTexSubImage2D( &params );
    return status;
}

static NTSTATUS wow64_gl_glTranslated( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glTranslated_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glTranslated( &params );
    return status;
}

static NTSTATUS wow64_gl_glTranslatef( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glTranslatef_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glTranslatef( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glVertex2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = gl_glVertex2d( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex2dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex2dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex2f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
    } *params32 = args;
    struct glVertex2f_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = gl_glVertex2f( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex2fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex2fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex2i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
    } *params32 = args;
    struct glVertex2i_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = gl_glVertex2i( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex2iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex2iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex2iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex2s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
    } *params32 = args;
    struct glVertex2s_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = gl_glVertex2s( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex2sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex2sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex2sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glVertex3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glVertex3d( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex3dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex3dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex3f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glVertex3f_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glVertex3f( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex3fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex3fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex3i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLint z;
    } *params32 = args;
    struct glVertex3i_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glVertex3i( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex3iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex3iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex3iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex3s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
        GLshort z;
    } *params32 = args;
    struct glVertex3s_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = gl_glVertex3s( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex3sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex3sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex3sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex4d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glVertex4d_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = gl_glVertex4d( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex4dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex4dv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex4f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glVertex4f_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = gl_glVertex4f( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex4fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex4fv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex4i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLint z;
        GLint w;
    } *params32 = args;
    struct glVertex4i_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = gl_glVertex4i( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex4iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex4iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex4iv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex4s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
        GLshort z;
        GLshort w;
    } *params32 = args;
    struct glVertex4s_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = gl_glVertex4s( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertex4sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex4sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = gl_glVertex4sv( &params );
    return status;
}

static NTSTATUS wow64_gl_glVertexPointer( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexPointer_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = gl_glVertexPointer( &params );
    return status;
}

static NTSTATUS wow64_gl_glViewport( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glViewport_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = gl_glViewport( &params );
    return status;
}

static NTSTATUS wow64_ext_glAccumxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum op;
        GLfixed value;
    } *params32 = args;
    struct glAccumxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .op = params32->op,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glAccumxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glAcquireKeyedMutexWin32EXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint memory;
        GLuint64 key;
        GLuint timeout;
        GLboolean ret;
    } *params32 = args;
    struct glAcquireKeyedMutexWin32EXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .memory = params32->memory,
        .key = params32->key,
        .timeout = params32->timeout,
    };
    NTSTATUS status;
    status = ext_glAcquireKeyedMutexWin32EXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glActiveProgramEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
    } *params32 = args;
    struct glActiveProgramEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
    };
    NTSTATUS status;
    status = ext_glActiveProgramEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glActiveShaderProgram( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint pipeline;
        GLuint program;
    } *params32 = args;
    struct glActiveShaderProgram_params params =
    {
        .teb = get_teb64(params32->teb),
        .pipeline = params32->pipeline,
        .program = params32->program,
    };
    NTSTATUS status;
    status = ext_glActiveShaderProgram( &params );
    return status;
}

static NTSTATUS wow64_ext_glActiveStencilFaceEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
    } *params32 = args;
    struct glActiveStencilFaceEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
    };
    NTSTATUS status;
    status = ext_glActiveStencilFaceEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glActiveTexture( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
    } *params32 = args;
    struct glActiveTexture_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glActiveTexture( &params );
    return status;
}

static NTSTATUS wow64_ext_glActiveTextureARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
    } *params32 = args;
    struct glActiveTextureARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glActiveTextureARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glActiveVaryingNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        PTR32 name;
    } *params32 = args;
    struct glActiveVaryingNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glActiveVaryingNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glAlphaFragmentOp1ATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum op;
        GLuint dst;
        GLuint dstMod;
        GLuint arg1;
        GLuint arg1Rep;
        GLuint arg1Mod;
    } *params32 = args;
    struct glAlphaFragmentOp1ATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .op = params32->op,
        .dst = params32->dst,
        .dstMod = params32->dstMod,
        .arg1 = params32->arg1,
        .arg1Rep = params32->arg1Rep,
        .arg1Mod = params32->arg1Mod,
    };
    NTSTATUS status;
    status = ext_glAlphaFragmentOp1ATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glAlphaFragmentOp2ATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum op;
        GLuint dst;
        GLuint dstMod;
        GLuint arg1;
        GLuint arg1Rep;
        GLuint arg1Mod;
        GLuint arg2;
        GLuint arg2Rep;
        GLuint arg2Mod;
    } *params32 = args;
    struct glAlphaFragmentOp2ATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .op = params32->op,
        .dst = params32->dst,
        .dstMod = params32->dstMod,
        .arg1 = params32->arg1,
        .arg1Rep = params32->arg1Rep,
        .arg1Mod = params32->arg1Mod,
        .arg2 = params32->arg2,
        .arg2Rep = params32->arg2Rep,
        .arg2Mod = params32->arg2Mod,
    };
    NTSTATUS status;
    status = ext_glAlphaFragmentOp2ATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glAlphaFragmentOp3ATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum op;
        GLuint dst;
        GLuint dstMod;
        GLuint arg1;
        GLuint arg1Rep;
        GLuint arg1Mod;
        GLuint arg2;
        GLuint arg2Rep;
        GLuint arg2Mod;
        GLuint arg3;
        GLuint arg3Rep;
        GLuint arg3Mod;
    } *params32 = args;
    struct glAlphaFragmentOp3ATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .op = params32->op,
        .dst = params32->dst,
        .dstMod = params32->dstMod,
        .arg1 = params32->arg1,
        .arg1Rep = params32->arg1Rep,
        .arg1Mod = params32->arg1Mod,
        .arg2 = params32->arg2,
        .arg2Rep = params32->arg2Rep,
        .arg2Mod = params32->arg2Mod,
        .arg3 = params32->arg3,
        .arg3Rep = params32->arg3Rep,
        .arg3Mod = params32->arg3Mod,
    };
    NTSTATUS status;
    status = ext_glAlphaFragmentOp3ATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glAlphaFuncxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum func;
        GLfixed ref;
    } *params32 = args;
    struct glAlphaFuncxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .func = params32->func,
        .ref = params32->ref,
    };
    NTSTATUS status;
    status = ext_glAlphaFuncxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glAlphaToCoverageDitherControlNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glAlphaToCoverageDitherControlNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glAlphaToCoverageDitherControlNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glApplyFramebufferAttachmentCMAAINTEL( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glApplyFramebufferAttachmentCMAAINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glApplyFramebufferAttachmentCMAAINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glApplyTextureEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glApplyTextureEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glApplyTextureEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glAreProgramsResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 programs;
        PTR32 residences;
        GLboolean ret;
    } *params32 = args;
    struct glAreProgramsResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .programs = ULongToPtr(params32->programs),
        .residences = ULongToPtr(params32->residences),
    };
    NTSTATUS status;
    status = ext_glAreProgramsResidentNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glAreTexturesResidentEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 textures;
        PTR32 residences;
        GLboolean ret;
    } *params32 = args;
    struct glAreTexturesResidentEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .textures = ULongToPtr(params32->textures),
        .residences = ULongToPtr(params32->residences),
    };
    NTSTATUS status;
    status = ext_glAreTexturesResidentEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glArrayElementEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint i;
    } *params32 = args;
    struct glArrayElementEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .i = params32->i,
    };
    NTSTATUS status;
    status = ext_glArrayElementEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glArrayObjectATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum array;
        GLint size;
        GLenum type;
        GLsizei stride;
        GLuint buffer;
        GLuint offset;
    } *params32 = args;
    struct glArrayObjectATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .buffer = params32->buffer,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glArrayObjectATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glAsyncCopyBufferSubDataNVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei waitSemaphoreCount;
        PTR32 waitSemaphoreArray;
        PTR32 fenceValueArray;
        GLuint readGpu;
        GLbitfield writeGpuMask;
        GLuint readBuffer;
        GLuint writeBuffer;
        PTR32 readOffset;
        PTR32 writeOffset;
        PTR32 size;
        GLsizei signalSemaphoreCount;
        PTR32 signalSemaphoreArray;
        PTR32 signalValueArray;
        GLuint ret;
    } *params32 = args;
    struct glAsyncCopyBufferSubDataNVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .waitSemaphoreCount = params32->waitSemaphoreCount,
        .waitSemaphoreArray = ULongToPtr(params32->waitSemaphoreArray),
        .fenceValueArray = ULongToPtr(params32->fenceValueArray),
        .readGpu = params32->readGpu,
        .writeGpuMask = params32->writeGpuMask,
        .readBuffer = params32->readBuffer,
        .writeBuffer = params32->writeBuffer,
        .readOffset = (GLintptr)ULongToPtr(params32->readOffset),
        .writeOffset = (GLintptr)ULongToPtr(params32->writeOffset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .signalSemaphoreCount = params32->signalSemaphoreCount,
        .signalSemaphoreArray = ULongToPtr(params32->signalSemaphoreArray),
        .signalValueArray = ULongToPtr(params32->signalValueArray),
    };
    NTSTATUS status;
    status = ext_glAsyncCopyBufferSubDataNVX( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glAsyncCopyImageSubDataNVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei waitSemaphoreCount;
        PTR32 waitSemaphoreArray;
        PTR32 waitValueArray;
        GLuint srcGpu;
        GLbitfield dstGpuMask;
        GLuint srcName;
        GLenum srcTarget;
        GLint srcLevel;
        GLint srcX;
        GLint srcY;
        GLint srcZ;
        GLuint dstName;
        GLenum dstTarget;
        GLint dstLevel;
        GLint dstX;
        GLint dstY;
        GLint dstZ;
        GLsizei srcWidth;
        GLsizei srcHeight;
        GLsizei srcDepth;
        GLsizei signalSemaphoreCount;
        PTR32 signalSemaphoreArray;
        PTR32 signalValueArray;
        GLuint ret;
    } *params32 = args;
    struct glAsyncCopyImageSubDataNVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .waitSemaphoreCount = params32->waitSemaphoreCount,
        .waitSemaphoreArray = ULongToPtr(params32->waitSemaphoreArray),
        .waitValueArray = ULongToPtr(params32->waitValueArray),
        .srcGpu = params32->srcGpu,
        .dstGpuMask = params32->dstGpuMask,
        .srcName = params32->srcName,
        .srcTarget = params32->srcTarget,
        .srcLevel = params32->srcLevel,
        .srcX = params32->srcX,
        .srcY = params32->srcY,
        .srcZ = params32->srcZ,
        .dstName = params32->dstName,
        .dstTarget = params32->dstTarget,
        .dstLevel = params32->dstLevel,
        .dstX = params32->dstX,
        .dstY = params32->dstY,
        .dstZ = params32->dstZ,
        .srcWidth = params32->srcWidth,
        .srcHeight = params32->srcHeight,
        .srcDepth = params32->srcDepth,
        .signalSemaphoreCount = params32->signalSemaphoreCount,
        .signalSemaphoreArray = ULongToPtr(params32->signalSemaphoreArray),
        .signalValueArray = ULongToPtr(params32->signalValueArray),
    };
    NTSTATUS status;
    status = ext_glAsyncCopyImageSubDataNVX( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glAsyncMarkerSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint marker;
    } *params32 = args;
    struct glAsyncMarkerSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .marker = params32->marker,
    };
    NTSTATUS status;
    status = ext_glAsyncMarkerSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glAttachObjectARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB containerObj;
        GLhandleARB obj;
    } *params32 = args;
    struct glAttachObjectARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .containerObj = params32->containerObj,
        .obj = params32->obj,
    };
    NTSTATUS status;
    status = ext_glAttachObjectARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glAttachShader( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint shader;
    } *params32 = args;
    struct glAttachShader_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .shader = params32->shader,
    };
    NTSTATUS status;
    status = ext_glAttachShader( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginConditionalRender( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum mode;
    } *params32 = args;
    struct glBeginConditionalRender_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glBeginConditionalRender( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginConditionalRenderNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum mode;
    } *params32 = args;
    struct glBeginConditionalRenderNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glBeginConditionalRenderNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginConditionalRenderNVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
    } *params32 = args;
    struct glBeginConditionalRenderNVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glBeginConditionalRenderNVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginFragmentShaderATI( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glBeginFragmentShaderATI_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glBeginFragmentShaderATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginOcclusionQueryNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
    } *params32 = args;
    struct glBeginOcclusionQueryNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glBeginOcclusionQueryNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginPerfMonitorAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint monitor;
    } *params32 = args;
    struct glBeginPerfMonitorAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .monitor = params32->monitor,
    };
    NTSTATUS status;
    status = ext_glBeginPerfMonitorAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginPerfQueryINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint queryHandle;
    } *params32 = args;
    struct glBeginPerfQueryINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .queryHandle = params32->queryHandle,
    };
    NTSTATUS status;
    status = ext_glBeginPerfQueryINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginQuery( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint id;
    } *params32 = args;
    struct glBeginQuery_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glBeginQuery( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginQueryARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint id;
    } *params32 = args;
    struct glBeginQueryARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glBeginQueryARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginQueryIndexed( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLuint id;
    } *params32 = args;
    struct glBeginQueryIndexed_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glBeginQueryIndexed( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginTransformFeedback( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum primitiveMode;
    } *params32 = args;
    struct glBeginTransformFeedback_params params =
    {
        .teb = get_teb64(params32->teb),
        .primitiveMode = params32->primitiveMode,
    };
    NTSTATUS status;
    status = ext_glBeginTransformFeedback( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginTransformFeedbackEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum primitiveMode;
    } *params32 = args;
    struct glBeginTransformFeedbackEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .primitiveMode = params32->primitiveMode,
    };
    NTSTATUS status;
    status = ext_glBeginTransformFeedbackEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginTransformFeedbackNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum primitiveMode;
    } *params32 = args;
    struct glBeginTransformFeedbackNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .primitiveMode = params32->primitiveMode,
    };
    NTSTATUS status;
    status = ext_glBeginTransformFeedbackNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginVertexShaderEXT( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glBeginVertexShaderEXT_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glBeginVertexShaderEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBeginVideoCaptureNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
    } *params32 = args;
    struct glBeginVideoCaptureNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
    };
    NTSTATUS status;
    status = ext_glBeginVideoCaptureNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindAttribLocation( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint index;
        PTR32 name;
    } *params32 = args;
    struct glBindAttribLocation_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .index = params32->index,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glBindAttribLocation( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindAttribLocationARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB programObj;
        GLuint index;
        PTR32 name;
    } *params32 = args;
    struct glBindAttribLocationARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .programObj = params32->programObj,
        .index = params32->index,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glBindAttribLocationARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint buffer;
    } *params32 = args;
    struct glBindBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glBindBuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBufferARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint buffer;
    } *params32 = args;
    struct glBindBufferARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glBindBufferARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBufferBase( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLuint buffer;
    } *params32 = args;
    struct glBindBufferBase_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glBindBufferBase( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBufferBaseEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLuint buffer;
    } *params32 = args;
    struct glBindBufferBaseEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glBindBufferBaseEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBufferBaseNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLuint buffer;
    } *params32 = args;
    struct glBindBufferBaseNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glBindBufferBaseNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBufferOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLuint buffer;
        PTR32 offset;
    } *params32 = args;
    struct glBindBufferOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glBindBufferOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBufferOffsetNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLuint buffer;
        PTR32 offset;
    } *params32 = args;
    struct glBindBufferOffsetNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glBindBufferOffsetNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBufferRange( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
    } *params32 = args;
    struct glBindBufferRange_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glBindBufferRange( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBufferRangeEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
    } *params32 = args;
    struct glBindBufferRangeEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glBindBufferRangeEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBufferRangeNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
    } *params32 = args;
    struct glBindBufferRangeNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glBindBufferRangeNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBuffersBase( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint first;
        GLsizei count;
        PTR32 buffers;
    } *params32 = args;
    struct glBindBuffersBase_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .first = params32->first,
        .count = params32->count,
        .buffers = ULongToPtr(params32->buffers),
    };
    NTSTATUS status;
    status = ext_glBindBuffersBase( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindBuffersRange( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint first;
        GLsizei count;
        PTR32 buffers;
        PTR32 offsets;
        PTR32 sizes;
    } *params32 = args;
    struct glBindBuffersRange_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .first = params32->first,
        .count = params32->count,
        .buffers = ULongToPtr(params32->buffers),
    };
    NTSTATUS status;
    params.offsets = copy_wow64_ptr32s( (UINT_PTR)params32->offsets, params32->count );
    params.sizes = copy_wow64_ptr32s( (UINT_PTR)params32->sizes, params32->count );
    status = ext_glBindBuffersRange( &params );
    free( (void *)params.offsets );
    free( (void *)params.sizes );
    return status;
}

static NTSTATUS wow64_ext_glBindFragDataLocation( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint color;
        PTR32 name;
    } *params32 = args;
    struct glBindFragDataLocation_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .color = params32->color,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glBindFragDataLocation( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindFragDataLocationEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint color;
        PTR32 name;
    } *params32 = args;
    struct glBindFragDataLocationEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .color = params32->color,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glBindFragDataLocationEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindFragDataLocationIndexed( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint colorNumber;
        GLuint index;
        PTR32 name;
    } *params32 = args;
    struct glBindFragDataLocationIndexed_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .colorNumber = params32->colorNumber,
        .index = params32->index,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glBindFragDataLocationIndexed( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindFragmentShaderATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
    } *params32 = args;
    struct glBindFragmentShaderATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glBindFragmentShaderATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindFramebuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint framebuffer;
    } *params32 = args;
    struct glBindFramebuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .framebuffer = params32->framebuffer,
    };
    NTSTATUS status;
    status = ext_glBindFramebuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindFramebufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint framebuffer;
    } *params32 = args;
    struct glBindFramebufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .framebuffer = params32->framebuffer,
    };
    NTSTATUS status;
    status = ext_glBindFramebufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindImageTexture( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint unit;
        GLuint texture;
        GLint level;
        GLboolean layered;
        GLint layer;
        GLenum access;
        GLenum format;
    } *params32 = args;
    struct glBindImageTexture_params params =
    {
        .teb = get_teb64(params32->teb),
        .unit = params32->unit,
        .texture = params32->texture,
        .level = params32->level,
        .layered = params32->layered,
        .layer = params32->layer,
        .access = params32->access,
        .format = params32->format,
    };
    NTSTATUS status;
    status = ext_glBindImageTexture( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindImageTextureEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint texture;
        GLint level;
        GLboolean layered;
        GLint layer;
        GLenum access;
        GLint format;
    } *params32 = args;
    struct glBindImageTextureEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .texture = params32->texture,
        .level = params32->level,
        .layered = params32->layered,
        .layer = params32->layer,
        .access = params32->access,
        .format = params32->format,
    };
    NTSTATUS status;
    status = ext_glBindImageTextureEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindImageTextures( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint first;
        GLsizei count;
        PTR32 textures;
    } *params32 = args;
    struct glBindImageTextures_params params =
    {
        .teb = get_teb64(params32->teb),
        .first = params32->first,
        .count = params32->count,
        .textures = ULongToPtr(params32->textures),
    };
    NTSTATUS status;
    status = ext_glBindImageTextures( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindLightParameterEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum value;
        GLuint ret;
    } *params32 = args;
    struct glBindLightParameterEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glBindLightParameterEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glBindMaterialParameterEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum value;
        GLuint ret;
    } *params32 = args;
    struct glBindMaterialParameterEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glBindMaterialParameterEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glBindMultiTextureEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLuint texture;
    } *params32 = args;
    struct glBindMultiTextureEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glBindMultiTextureEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindParameterEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum value;
        GLuint ret;
    } *params32 = args;
    struct glBindParameterEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glBindParameterEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glBindProgramARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint program;
    } *params32 = args;
    struct glBindProgramARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .program = params32->program,
    };
    NTSTATUS status;
    status = ext_glBindProgramARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindProgramNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint id;
    } *params32 = args;
    struct glBindProgramNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glBindProgramNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindProgramPipeline( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint pipeline;
    } *params32 = args;
    struct glBindProgramPipeline_params params =
    {
        .teb = get_teb64(params32->teb),
        .pipeline = params32->pipeline,
    };
    NTSTATUS status;
    status = ext_glBindProgramPipeline( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindRenderbuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint renderbuffer;
    } *params32 = args;
    struct glBindRenderbuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .renderbuffer = params32->renderbuffer,
    };
    NTSTATUS status;
    status = ext_glBindRenderbuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindRenderbufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint renderbuffer;
    } *params32 = args;
    struct glBindRenderbufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .renderbuffer = params32->renderbuffer,
    };
    NTSTATUS status;
    status = ext_glBindRenderbufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindSampler( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint unit;
        GLuint sampler;
    } *params32 = args;
    struct glBindSampler_params params =
    {
        .teb = get_teb64(params32->teb),
        .unit = params32->unit,
        .sampler = params32->sampler,
    };
    NTSTATUS status;
    status = ext_glBindSampler( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindSamplers( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint first;
        GLsizei count;
        PTR32 samplers;
    } *params32 = args;
    struct glBindSamplers_params params =
    {
        .teb = get_teb64(params32->teb),
        .first = params32->first,
        .count = params32->count,
        .samplers = ULongToPtr(params32->samplers),
    };
    NTSTATUS status;
    status = ext_glBindSamplers( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindShadingRateImageNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
    } *params32 = args;
    struct glBindShadingRateImageNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glBindShadingRateImageNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindTexGenParameterEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum unit;
        GLenum coord;
        GLenum value;
        GLuint ret;
    } *params32 = args;
    struct glBindTexGenParameterEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .unit = params32->unit,
        .coord = params32->coord,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glBindTexGenParameterEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glBindTextureEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint texture;
    } *params32 = args;
    struct glBindTextureEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glBindTextureEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindTextureUnit( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint unit;
        GLuint texture;
    } *params32 = args;
    struct glBindTextureUnit_params params =
    {
        .teb = get_teb64(params32->teb),
        .unit = params32->unit,
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glBindTextureUnit( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindTextureUnitParameterEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum unit;
        GLenum value;
        GLuint ret;
    } *params32 = args;
    struct glBindTextureUnitParameterEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .unit = params32->unit,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glBindTextureUnitParameterEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glBindTextures( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint first;
        GLsizei count;
        PTR32 textures;
    } *params32 = args;
    struct glBindTextures_params params =
    {
        .teb = get_teb64(params32->teb),
        .first = params32->first,
        .count = params32->count,
        .textures = ULongToPtr(params32->textures),
    };
    NTSTATUS status;
    status = ext_glBindTextures( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindTransformFeedback( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint id;
    } *params32 = args;
    struct glBindTransformFeedback_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glBindTransformFeedback( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindTransformFeedbackNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint id;
    } *params32 = args;
    struct glBindTransformFeedbackNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glBindTransformFeedbackNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindVertexArray( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint array;
    } *params32 = args;
    struct glBindVertexArray_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
    };
    NTSTATUS status;
    status = ext_glBindVertexArray( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindVertexArrayAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint array;
    } *params32 = args;
    struct glBindVertexArrayAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
    };
    NTSTATUS status;
    status = ext_glBindVertexArrayAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindVertexBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint bindingindex;
        GLuint buffer;
        PTR32 offset;
        GLsizei stride;
    } *params32 = args;
    struct glBindVertexBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .bindingindex = params32->bindingindex,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glBindVertexBuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindVertexBuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint first;
        GLsizei count;
        PTR32 buffers;
        PTR32 offsets;
        PTR32 strides;
    } *params32 = args;
    struct glBindVertexBuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .first = params32->first,
        .count = params32->count,
        .buffers = ULongToPtr(params32->buffers),
        .strides = ULongToPtr(params32->strides),
    };
    NTSTATUS status;
    params.offsets = copy_wow64_ptr32s( (UINT_PTR)params32->offsets, params32->count );
    status = ext_glBindVertexBuffers( &params );
    free( (void *)params.offsets );
    return status;
}

static NTSTATUS wow64_ext_glBindVertexShaderEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
    } *params32 = args;
    struct glBindVertexShaderEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glBindVertexShaderEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindVideoCaptureStreamBufferNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
        GLuint stream;
        GLenum frame_region;
        PTR32 offset;
    } *params32 = args;
    struct glBindVideoCaptureStreamBufferNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
        .stream = params32->stream,
        .frame_region = params32->frame_region,
        .offset = (GLintptrARB)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glBindVideoCaptureStreamBufferNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBindVideoCaptureStreamTextureNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
        GLuint stream;
        GLenum frame_region;
        GLenum target;
        GLuint texture;
    } *params32 = args;
    struct glBindVideoCaptureStreamTextureNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
        .stream = params32->stream,
        .frame_region = params32->frame_region,
        .target = params32->target,
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glBindVideoCaptureStreamTextureNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBinormal3bEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte bx;
        GLbyte by;
        GLbyte bz;
    } *params32 = args;
    struct glBinormal3bEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .bx = params32->bx,
        .by = params32->by,
        .bz = params32->bz,
    };
    NTSTATUS status;
    status = ext_glBinormal3bEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBinormal3bvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glBinormal3bvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glBinormal3bvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBinormal3dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble bx;
        GLdouble by;
        GLdouble bz;
    } *params32 = args;
    struct glBinormal3dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .bx = params32->bx,
        .by = params32->by,
        .bz = params32->bz,
    };
    NTSTATUS status;
    status = ext_glBinormal3dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBinormal3dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glBinormal3dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glBinormal3dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBinormal3fEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat bx;
        GLfloat by;
        GLfloat bz;
    } *params32 = args;
    struct glBinormal3fEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .bx = params32->bx,
        .by = params32->by,
        .bz = params32->bz,
    };
    NTSTATUS status;
    status = ext_glBinormal3fEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBinormal3fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glBinormal3fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glBinormal3fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBinormal3iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint bx;
        GLint by;
        GLint bz;
    } *params32 = args;
    struct glBinormal3iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .bx = params32->bx,
        .by = params32->by,
        .bz = params32->bz,
    };
    NTSTATUS status;
    status = ext_glBinormal3iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBinormal3ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glBinormal3ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glBinormal3ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBinormal3sEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort bx;
        GLshort by;
        GLshort bz;
    } *params32 = args;
    struct glBinormal3sEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .bx = params32->bx,
        .by = params32->by,
        .bz = params32->bz,
    };
    NTSTATUS status;
    status = ext_glBinormal3sEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBinormal3svEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glBinormal3svEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glBinormal3svEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBinormalPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glBinormalPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glBinormalPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBitmapxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei width;
        GLsizei height;
        GLfixed xorig;
        GLfixed yorig;
        GLfixed xmove;
        GLfixed ymove;
        PTR32 bitmap;
    } *params32 = args;
    struct glBitmapxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .width = params32->width,
        .height = params32->height,
        .xorig = params32->xorig,
        .yorig = params32->yorig,
        .xmove = params32->xmove,
        .ymove = params32->ymove,
        .bitmap = ULongToPtr(params32->bitmap),
    };
    NTSTATUS status;
    status = ext_glBitmapxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendBarrierKHR( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glBlendBarrierKHR_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glBlendBarrierKHR( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendBarrierNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glBlendBarrierNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glBlendBarrierNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendColor( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat red;
        GLfloat green;
        GLfloat blue;
        GLfloat alpha;
    } *params32 = args;
    struct glBlendColor_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = ext_glBlendColor( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendColorEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat red;
        GLfloat green;
        GLfloat blue;
        GLfloat alpha;
    } *params32 = args;
    struct glBlendColorEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = ext_glBlendColorEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendColorxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed red;
        GLfixed green;
        GLfixed blue;
        GLfixed alpha;
    } *params32 = args;
    struct glBlendColorxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = ext_glBlendColorxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendEquation( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glBlendEquation_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glBlendEquation( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendEquationEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glBlendEquationEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glBlendEquationEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendEquationIndexedAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum mode;
    } *params32 = args;
    struct glBlendEquationIndexedAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glBlendEquationIndexedAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendEquationSeparate( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum modeRGB;
        GLenum modeAlpha;
    } *params32 = args;
    struct glBlendEquationSeparate_params params =
    {
        .teb = get_teb64(params32->teb),
        .modeRGB = params32->modeRGB,
        .modeAlpha = params32->modeAlpha,
    };
    NTSTATUS status;
    status = ext_glBlendEquationSeparate( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendEquationSeparateEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum modeRGB;
        GLenum modeAlpha;
    } *params32 = args;
    struct glBlendEquationSeparateEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .modeRGB = params32->modeRGB,
        .modeAlpha = params32->modeAlpha,
    };
    NTSTATUS status;
    status = ext_glBlendEquationSeparateEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendEquationSeparateIndexedAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum modeRGB;
        GLenum modeAlpha;
    } *params32 = args;
    struct glBlendEquationSeparateIndexedAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .modeRGB = params32->modeRGB,
        .modeAlpha = params32->modeAlpha,
    };
    NTSTATUS status;
    status = ext_glBlendEquationSeparateIndexedAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendEquationSeparatei( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum modeRGB;
        GLenum modeAlpha;
    } *params32 = args;
    struct glBlendEquationSeparatei_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .modeRGB = params32->modeRGB,
        .modeAlpha = params32->modeAlpha,
    };
    NTSTATUS status;
    status = ext_glBlendEquationSeparatei( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendEquationSeparateiARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum modeRGB;
        GLenum modeAlpha;
    } *params32 = args;
    struct glBlendEquationSeparateiARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .modeRGB = params32->modeRGB,
        .modeAlpha = params32->modeAlpha,
    };
    NTSTATUS status;
    status = ext_glBlendEquationSeparateiARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendEquationi( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum mode;
    } *params32 = args;
    struct glBlendEquationi_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glBlendEquationi( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendEquationiARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum mode;
    } *params32 = args;
    struct glBlendEquationiARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glBlendEquationiARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendFuncIndexedAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum src;
        GLenum dst;
    } *params32 = args;
    struct glBlendFuncIndexedAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .src = params32->src,
        .dst = params32->dst,
    };
    NTSTATUS status;
    status = ext_glBlendFuncIndexedAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendFuncSeparate( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum sfactorRGB;
        GLenum dfactorRGB;
        GLenum sfactorAlpha;
        GLenum dfactorAlpha;
    } *params32 = args;
    struct glBlendFuncSeparate_params params =
    {
        .teb = get_teb64(params32->teb),
        .sfactorRGB = params32->sfactorRGB,
        .dfactorRGB = params32->dfactorRGB,
        .sfactorAlpha = params32->sfactorAlpha,
        .dfactorAlpha = params32->dfactorAlpha,
    };
    NTSTATUS status;
    status = ext_glBlendFuncSeparate( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendFuncSeparateEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum sfactorRGB;
        GLenum dfactorRGB;
        GLenum sfactorAlpha;
        GLenum dfactorAlpha;
    } *params32 = args;
    struct glBlendFuncSeparateEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .sfactorRGB = params32->sfactorRGB,
        .dfactorRGB = params32->dfactorRGB,
        .sfactorAlpha = params32->sfactorAlpha,
        .dfactorAlpha = params32->dfactorAlpha,
    };
    NTSTATUS status;
    status = ext_glBlendFuncSeparateEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendFuncSeparateINGR( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum sfactorRGB;
        GLenum dfactorRGB;
        GLenum sfactorAlpha;
        GLenum dfactorAlpha;
    } *params32 = args;
    struct glBlendFuncSeparateINGR_params params =
    {
        .teb = get_teb64(params32->teb),
        .sfactorRGB = params32->sfactorRGB,
        .dfactorRGB = params32->dfactorRGB,
        .sfactorAlpha = params32->sfactorAlpha,
        .dfactorAlpha = params32->dfactorAlpha,
    };
    NTSTATUS status;
    status = ext_glBlendFuncSeparateINGR( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendFuncSeparateIndexedAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum srcRGB;
        GLenum dstRGB;
        GLenum srcAlpha;
        GLenum dstAlpha;
    } *params32 = args;
    struct glBlendFuncSeparateIndexedAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .srcRGB = params32->srcRGB,
        .dstRGB = params32->dstRGB,
        .srcAlpha = params32->srcAlpha,
        .dstAlpha = params32->dstAlpha,
    };
    NTSTATUS status;
    status = ext_glBlendFuncSeparateIndexedAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendFuncSeparatei( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum srcRGB;
        GLenum dstRGB;
        GLenum srcAlpha;
        GLenum dstAlpha;
    } *params32 = args;
    struct glBlendFuncSeparatei_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .srcRGB = params32->srcRGB,
        .dstRGB = params32->dstRGB,
        .srcAlpha = params32->srcAlpha,
        .dstAlpha = params32->dstAlpha,
    };
    NTSTATUS status;
    status = ext_glBlendFuncSeparatei( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendFuncSeparateiARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum srcRGB;
        GLenum dstRGB;
        GLenum srcAlpha;
        GLenum dstAlpha;
    } *params32 = args;
    struct glBlendFuncSeparateiARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .srcRGB = params32->srcRGB,
        .dstRGB = params32->dstRGB,
        .srcAlpha = params32->srcAlpha,
        .dstAlpha = params32->dstAlpha,
    };
    NTSTATUS status;
    status = ext_glBlendFuncSeparateiARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendFunci( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum src;
        GLenum dst;
    } *params32 = args;
    struct glBlendFunci_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .src = params32->src,
        .dst = params32->dst,
    };
    NTSTATUS status;
    status = ext_glBlendFunci( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendFunciARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buf;
        GLenum src;
        GLenum dst;
    } *params32 = args;
    struct glBlendFunciARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .buf = params32->buf,
        .src = params32->src,
        .dst = params32->dst,
    };
    NTSTATUS status;
    status = ext_glBlendFunciARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlendParameteriNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint value;
    } *params32 = args;
    struct glBlendParameteriNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glBlendParameteriNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlitFramebuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLint srcX0;
        GLint srcY0;
        GLint srcX1;
        GLint srcY1;
        GLint dstX0;
        GLint dstY0;
        GLint dstX1;
        GLint dstY1;
        GLbitfield mask;
        GLenum filter;
    } *params32 = args;
    struct glBlitFramebuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .srcX0 = params32->srcX0,
        .srcY0 = params32->srcY0,
        .srcX1 = params32->srcX1,
        .srcY1 = params32->srcY1,
        .dstX0 = params32->dstX0,
        .dstY0 = params32->dstY0,
        .dstX1 = params32->dstX1,
        .dstY1 = params32->dstY1,
        .mask = params32->mask,
        .filter = params32->filter,
    };
    NTSTATUS status;
    status = ext_glBlitFramebuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlitFramebufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint srcX0;
        GLint srcY0;
        GLint srcX1;
        GLint srcY1;
        GLint dstX0;
        GLint dstY0;
        GLint dstX1;
        GLint dstY1;
        GLbitfield mask;
        GLenum filter;
    } *params32 = args;
    struct glBlitFramebufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .srcX0 = params32->srcX0,
        .srcY0 = params32->srcY0,
        .srcX1 = params32->srcX1,
        .srcY1 = params32->srcY1,
        .dstX0 = params32->dstX0,
        .dstY0 = params32->dstY0,
        .dstX1 = params32->dstX1,
        .dstY1 = params32->dstY1,
        .mask = params32->mask,
        .filter = params32->filter,
    };
    NTSTATUS status;
    status = ext_glBlitFramebufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBlitNamedFramebuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint readFramebuffer;
        GLuint drawFramebuffer;
        GLint srcX0;
        GLint srcY0;
        GLint srcX1;
        GLint srcY1;
        GLint dstX0;
        GLint dstY0;
        GLint dstX1;
        GLint dstY1;
        GLbitfield mask;
        GLenum filter;
    } *params32 = args;
    struct glBlitNamedFramebuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .readFramebuffer = params32->readFramebuffer,
        .drawFramebuffer = params32->drawFramebuffer,
        .srcX0 = params32->srcX0,
        .srcY0 = params32->srcY0,
        .srcX1 = params32->srcX1,
        .srcY1 = params32->srcY1,
        .dstX0 = params32->dstX0,
        .dstY0 = params32->dstY0,
        .dstX1 = params32->dstX1,
        .dstY1 = params32->dstY1,
        .mask = params32->mask,
        .filter = params32->filter,
    };
    NTSTATUS status;
    status = ext_glBlitNamedFramebuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glBufferAddressRangeNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLuint index;
        GLuint64EXT address;
        PTR32 length;
    } *params32 = args;
    struct glBufferAddressRangeNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .index = params32->index,
        .address = params32->address,
        .length = (GLsizeiptr)ULongToPtr(params32->length),
    };
    NTSTATUS status;
    status = ext_glBufferAddressRangeNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBufferAttachMemoryNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glBufferAttachMemoryNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glBufferAttachMemoryNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glBufferData( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 size;
        PTR32 data;
        GLenum usage;
    } *params32 = args;
    struct glBufferData_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
        .usage = params32->usage,
    };
    NTSTATUS status;
    status = ext_glBufferData( &params );
    return status;
}

static NTSTATUS wow64_ext_glBufferDataARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 size;
        PTR32 data;
        GLenum usage;
    } *params32 = args;
    struct glBufferDataARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .size = (GLsizeiptrARB)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
        .usage = params32->usage,
    };
    NTSTATUS status;
    status = ext_glBufferDataARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glBufferPageCommitmentARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 offset;
        PTR32 size;
        GLboolean commit;
    } *params32 = args;
    struct glBufferPageCommitmentARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .commit = params32->commit,
    };
    NTSTATUS status;
    status = ext_glBufferPageCommitmentARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glBufferParameteriAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glBufferParameteriAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glBufferParameteriAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glBufferRegionEnabled( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint ret;
    } *params32 = args;
    struct glBufferRegionEnabled_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glBufferRegionEnabled( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glBufferStorage( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 size;
        PTR32 data;
        GLbitfield flags;
    } *params32 = args;
    struct glBufferStorage_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
        .flags = params32->flags,
    };
    NTSTATUS status;
    status = ext_glBufferStorage( &params );
    return status;
}

static NTSTATUS wow64_ext_glBufferStorageExternalEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 offset;
        PTR32 size;
        PTR32 clientBuffer;
        GLbitfield flags;
    } *params32 = args;
    struct glBufferStorageExternalEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .clientBuffer = ULongToPtr(params32->clientBuffer),
        .flags = params32->flags,
    };
    NTSTATUS status;
    status = ext_glBufferStorageExternalEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBufferStorageMemEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 size;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glBufferStorageMemEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glBufferStorageMemEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glBufferSubData( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 offset;
        PTR32 size;
        PTR32 data;
    } *params32 = args;
    struct glBufferSubData_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glBufferSubData( &params );
    return status;
}

static NTSTATUS wow64_ext_glBufferSubDataARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 offset;
        PTR32 size;
        PTR32 data;
    } *params32 = args;
    struct glBufferSubDataARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .offset = (GLintptrARB)ULongToPtr(params32->offset),
        .size = (GLsizeiptrARB)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glBufferSubDataARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glCallCommandListNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
    } *params32 = args;
    struct glCallCommandListNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
    };
    NTSTATUS status;
    status = ext_glCallCommandListNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCheckFramebufferStatus( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum ret;
    } *params32 = args;
    struct glCheckFramebufferStatus_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glCheckFramebufferStatus( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glCheckFramebufferStatusEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum ret;
    } *params32 = args;
    struct glCheckFramebufferStatusEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glCheckFramebufferStatusEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glCheckNamedFramebufferStatus( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum target;
        GLenum ret;
    } *params32 = args;
    struct glCheckNamedFramebufferStatus_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glCheckNamedFramebufferStatus( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glCheckNamedFramebufferStatusEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum target;
        GLenum ret;
    } *params32 = args;
    struct glCheckNamedFramebufferStatusEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glCheckNamedFramebufferStatusEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glClampColor( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum clamp;
    } *params32 = args;
    struct glClampColor_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .clamp = params32->clamp,
    };
    NTSTATUS status;
    status = ext_glClampColor( &params );
    return status;
}

static NTSTATUS wow64_ext_glClampColorARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum clamp;
    } *params32 = args;
    struct glClampColorARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .clamp = params32->clamp,
    };
    NTSTATUS status;
    status = ext_glClampColorARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearAccumxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed red;
        GLfixed green;
        GLfixed blue;
        GLfixed alpha;
    } *params32 = args;
    struct glClearAccumxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = ext_glClearAccumxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearBufferData( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLenum format;
        GLenum type;
        PTR32 data;
    } *params32 = args;
    struct glClearBufferData_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .format = params32->format,
        .type = params32->type,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glClearBufferData( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearBufferSubData( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        PTR32 offset;
        PTR32 size;
        GLenum format;
        GLenum type;
        PTR32 data;
    } *params32 = args;
    struct glClearBufferSubData_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .format = params32->format,
        .type = params32->type,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glClearBufferSubData( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearBufferfi( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum buffer;
        GLint drawbuffer;
        GLfloat depth;
        GLint stencil;
    } *params32 = args;
    struct glClearBufferfi_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .drawbuffer = params32->drawbuffer,
        .depth = params32->depth,
        .stencil = params32->stencil,
    };
    NTSTATUS status;
    status = ext_glClearBufferfi( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearBufferfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum buffer;
        GLint drawbuffer;
        PTR32 value;
    } *params32 = args;
    struct glClearBufferfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .drawbuffer = params32->drawbuffer,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glClearBufferfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearBufferiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum buffer;
        GLint drawbuffer;
        PTR32 value;
    } *params32 = args;
    struct glClearBufferiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .drawbuffer = params32->drawbuffer,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glClearBufferiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearBufferuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum buffer;
        GLint drawbuffer;
        PTR32 value;
    } *params32 = args;
    struct glClearBufferuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .drawbuffer = params32->drawbuffer,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glClearBufferuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearColorIiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint red;
        GLint green;
        GLint blue;
        GLint alpha;
    } *params32 = args;
    struct glClearColorIiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = ext_glClearColorIiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearColorIuiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint red;
        GLuint green;
        GLuint blue;
        GLuint alpha;
    } *params32 = args;
    struct glClearColorIuiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = ext_glClearColorIuiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearColorxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed red;
        GLfixed green;
        GLfixed blue;
        GLfixed alpha;
    } *params32 = args;
    struct glClearColorxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = ext_glClearColorxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearDepthdNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble depth;
    } *params32 = args;
    struct glClearDepthdNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .depth = params32->depth,
    };
    NTSTATUS status;
    status = ext_glClearDepthdNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearDepthf( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat d;
    } *params32 = args;
    struct glClearDepthf_params params =
    {
        .teb = get_teb64(params32->teb),
        .d = params32->d,
    };
    NTSTATUS status;
    status = ext_glClearDepthf( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearDepthfOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLclampf depth;
    } *params32 = args;
    struct glClearDepthfOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .depth = params32->depth,
    };
    NTSTATUS status;
    status = ext_glClearDepthfOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearDepthxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed depth;
    } *params32 = args;
    struct glClearDepthxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .depth = params32->depth,
    };
    NTSTATUS status;
    status = ext_glClearDepthxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearNamedBufferData( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLenum internalformat;
        GLenum format;
        GLenum type;
        PTR32 data;
    } *params32 = args;
    struct glClearNamedBufferData_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .internalformat = params32->internalformat,
        .format = params32->format,
        .type = params32->type,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glClearNamedBufferData( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearNamedBufferDataEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLenum internalformat;
        GLenum format;
        GLenum type;
        PTR32 data;
    } *params32 = args;
    struct glClearNamedBufferDataEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .internalformat = params32->internalformat,
        .format = params32->format,
        .type = params32->type,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glClearNamedBufferDataEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearNamedBufferSubData( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLenum internalformat;
        PTR32 offset;
        PTR32 size;
        GLenum format;
        GLenum type;
        PTR32 data;
    } *params32 = args;
    struct glClearNamedBufferSubData_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .internalformat = params32->internalformat,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .format = params32->format,
        .type = params32->type,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glClearNamedBufferSubData( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearNamedBufferSubDataEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLenum internalformat;
        PTR32 offset;
        PTR32 size;
        GLenum format;
        GLenum type;
        PTR32 data;
    } *params32 = args;
    struct glClearNamedBufferSubDataEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .internalformat = params32->internalformat,
        .offset = (GLsizeiptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .format = params32->format,
        .type = params32->type,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glClearNamedBufferSubDataEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearNamedFramebufferfi( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum buffer;
        GLint drawbuffer;
        GLfloat depth;
        GLint stencil;
    } *params32 = args;
    struct glClearNamedFramebufferfi_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .buffer = params32->buffer,
        .drawbuffer = params32->drawbuffer,
        .depth = params32->depth,
        .stencil = params32->stencil,
    };
    NTSTATUS status;
    status = ext_glClearNamedFramebufferfi( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearNamedFramebufferfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum buffer;
        GLint drawbuffer;
        PTR32 value;
    } *params32 = args;
    struct glClearNamedFramebufferfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .buffer = params32->buffer,
        .drawbuffer = params32->drawbuffer,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glClearNamedFramebufferfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearNamedFramebufferiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum buffer;
        GLint drawbuffer;
        PTR32 value;
    } *params32 = args;
    struct glClearNamedFramebufferiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .buffer = params32->buffer,
        .drawbuffer = params32->drawbuffer,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glClearNamedFramebufferiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearNamedFramebufferuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum buffer;
        GLint drawbuffer;
        PTR32 value;
    } *params32 = args;
    struct glClearNamedFramebufferuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .buffer = params32->buffer,
        .drawbuffer = params32->drawbuffer,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glClearNamedFramebufferuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearTexImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLenum format;
        GLenum type;
        PTR32 data;
    } *params32 = args;
    struct glClearTexImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .format = params32->format,
        .type = params32->type,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glClearTexImage( &params );
    return status;
}

static NTSTATUS wow64_ext_glClearTexSubImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLenum type;
        PTR32 data;
    } *params32 = args;
    struct glClearTexSubImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .type = params32->type,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glClearTexSubImage( &params );
    return status;
}

static NTSTATUS wow64_ext_glClientActiveTexture( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
    } *params32 = args;
    struct glClientActiveTexture_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glClientActiveTexture( &params );
    return status;
}

static NTSTATUS wow64_ext_glClientActiveTextureARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
    } *params32 = args;
    struct glClientActiveTextureARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glClientActiveTextureARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glClientActiveVertexStreamATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
    } *params32 = args;
    struct glClientActiveVertexStreamATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
    };
    NTSTATUS status;
    status = ext_glClientActiveVertexStreamATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glClientAttribDefaultEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield mask;
    } *params32 = args;
    struct glClientAttribDefaultEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glClientAttribDefaultEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glClientWaitSemaphoreui64NVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei fenceObjectCount;
        PTR32 semaphoreArray;
        PTR32 fenceValueArray;
    } *params32 = args;
    struct glClientWaitSemaphoreui64NVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .fenceObjectCount = params32->fenceObjectCount,
        .semaphoreArray = ULongToPtr(params32->semaphoreArray),
        .fenceValueArray = ULongToPtr(params32->fenceValueArray),
    };
    NTSTATUS status;
    status = ext_glClientWaitSemaphoreui64NVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glClipControl( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum origin;
        GLenum depth;
    } *params32 = args;
    struct glClipControl_params params =
    {
        .teb = get_teb64(params32->teb),
        .origin = params32->origin,
        .depth = params32->depth,
    };
    NTSTATUS status;
    status = ext_glClipControl( &params );
    return status;
}

static NTSTATUS wow64_ext_glClipPlanefOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum plane;
        PTR32 equation;
    } *params32 = args;
    struct glClipPlanefOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .plane = params32->plane,
        .equation = ULongToPtr(params32->equation),
    };
    NTSTATUS status;
    status = ext_glClipPlanefOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glClipPlanexOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum plane;
        PTR32 equation;
    } *params32 = args;
    struct glClipPlanexOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .plane = params32->plane,
        .equation = ULongToPtr(params32->equation),
    };
    NTSTATUS status;
    status = ext_glClipPlanexOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor3fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat r;
        GLfloat g;
        GLfloat b;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glColor3fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glColor3fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor3fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 c;
        PTR32 v;
    } *params32 = args;
    struct glColor3fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = ULongToPtr(params32->c),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glColor3fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor3hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV red;
        GLhalfNV green;
        GLhalfNV blue;
    } *params32 = args;
    struct glColor3hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glColor3hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor3hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor3hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glColor3hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor3xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed red;
        GLfixed green;
        GLfixed blue;
    } *params32 = args;
    struct glColor3xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glColor3xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor3xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 components;
    } *params32 = args;
    struct glColor3xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .components = ULongToPtr(params32->components),
    };
    NTSTATUS status;
    status = ext_glColor3xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor4fNormal3fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat r;
        GLfloat g;
        GLfloat b;
        GLfloat a;
        GLfloat nx;
        GLfloat ny;
        GLfloat nz;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glColor4fNormal3fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .a = params32->a,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glColor4fNormal3fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor4fNormal3fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 c;
        PTR32 n;
        PTR32 v;
    } *params32 = args;
    struct glColor4fNormal3fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = ULongToPtr(params32->c),
        .n = ULongToPtr(params32->n),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glColor4fNormal3fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor4hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV red;
        GLhalfNV green;
        GLhalfNV blue;
        GLhalfNV alpha;
    } *params32 = args;
    struct glColor4hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = ext_glColor4hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor4hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glColor4hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glColor4hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor4ubVertex2fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLubyte r;
        GLubyte g;
        GLubyte b;
        GLubyte a;
        GLfloat x;
        GLfloat y;
    } *params32 = args;
    struct glColor4ubVertex2fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .a = params32->a,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glColor4ubVertex2fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor4ubVertex2fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 c;
        PTR32 v;
    } *params32 = args;
    struct glColor4ubVertex2fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = ULongToPtr(params32->c),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glColor4ubVertex2fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor4ubVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLubyte r;
        GLubyte g;
        GLubyte b;
        GLubyte a;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glColor4ubVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .a = params32->a,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glColor4ubVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor4ubVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 c;
        PTR32 v;
    } *params32 = args;
    struct glColor4ubVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .c = ULongToPtr(params32->c),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glColor4ubVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor4xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed red;
        GLfixed green;
        GLfixed blue;
        GLfixed alpha;
    } *params32 = args;
    struct glColor4xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = ext_glColor4xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glColor4xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 components;
    } *params32 = args;
    struct glColor4xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .components = ULongToPtr(params32->components),
    };
    NTSTATUS status;
    status = ext_glColor4xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorFormatNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
    } *params32 = args;
    struct glColorFormatNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glColorFormatNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorFragmentOp1ATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum op;
        GLuint dst;
        GLuint dstMask;
        GLuint dstMod;
        GLuint arg1;
        GLuint arg1Rep;
        GLuint arg1Mod;
    } *params32 = args;
    struct glColorFragmentOp1ATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .op = params32->op,
        .dst = params32->dst,
        .dstMask = params32->dstMask,
        .dstMod = params32->dstMod,
        .arg1 = params32->arg1,
        .arg1Rep = params32->arg1Rep,
        .arg1Mod = params32->arg1Mod,
    };
    NTSTATUS status;
    status = ext_glColorFragmentOp1ATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorFragmentOp2ATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum op;
        GLuint dst;
        GLuint dstMask;
        GLuint dstMod;
        GLuint arg1;
        GLuint arg1Rep;
        GLuint arg1Mod;
        GLuint arg2;
        GLuint arg2Rep;
        GLuint arg2Mod;
    } *params32 = args;
    struct glColorFragmentOp2ATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .op = params32->op,
        .dst = params32->dst,
        .dstMask = params32->dstMask,
        .dstMod = params32->dstMod,
        .arg1 = params32->arg1,
        .arg1Rep = params32->arg1Rep,
        .arg1Mod = params32->arg1Mod,
        .arg2 = params32->arg2,
        .arg2Rep = params32->arg2Rep,
        .arg2Mod = params32->arg2Mod,
    };
    NTSTATUS status;
    status = ext_glColorFragmentOp2ATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorFragmentOp3ATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum op;
        GLuint dst;
        GLuint dstMask;
        GLuint dstMod;
        GLuint arg1;
        GLuint arg1Rep;
        GLuint arg1Mod;
        GLuint arg2;
        GLuint arg2Rep;
        GLuint arg2Mod;
        GLuint arg3;
        GLuint arg3Rep;
        GLuint arg3Mod;
    } *params32 = args;
    struct glColorFragmentOp3ATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .op = params32->op,
        .dst = params32->dst,
        .dstMask = params32->dstMask,
        .dstMod = params32->dstMod,
        .arg1 = params32->arg1,
        .arg1Rep = params32->arg1Rep,
        .arg1Mod = params32->arg1Mod,
        .arg2 = params32->arg2,
        .arg2Rep = params32->arg2Rep,
        .arg2Mod = params32->arg2Mod,
        .arg3 = params32->arg3,
        .arg3Rep = params32->arg3Rep,
        .arg3Mod = params32->arg3Mod,
    };
    NTSTATUS status;
    status = ext_glColorFragmentOp3ATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorMaskIndexedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLboolean r;
        GLboolean g;
        GLboolean b;
        GLboolean a;
    } *params32 = args;
    struct glColorMaskIndexedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .a = params32->a,
    };
    NTSTATUS status;
    status = ext_glColorMaskIndexedEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorMaski( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLboolean r;
        GLboolean g;
        GLboolean b;
        GLboolean a;
    } *params32 = args;
    struct glColorMaski_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .a = params32->a,
    };
    NTSTATUS status;
    status = ext_glColorMaski( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorP3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint color;
    } *params32 = args;
    struct glColorP3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .color = params32->color,
    };
    NTSTATUS status;
    status = ext_glColorP3ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorP3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 color;
    } *params32 = args;
    struct glColorP3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .color = ULongToPtr(params32->color),
    };
    NTSTATUS status;
    status = ext_glColorP3uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorP4ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint color;
    } *params32 = args;
    struct glColorP4ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .color = params32->color,
    };
    NTSTATUS status;
    status = ext_glColorP4ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorP4uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 color;
    } *params32 = args;
    struct glColorP4uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .color = ULongToPtr(params32->color),
    };
    NTSTATUS status;
    status = ext_glColorP4uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
        GLsizei count;
        PTR32 pointer;
    } *params32 = args;
    struct glColorPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .count = params32->count,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glColorPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorPointerListIBM( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLint stride;
        PTR32 pointer;
        GLint ptrstride;
    } *params32 = args;
    struct glColorPointerListIBM_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .ptrstride = params32->ptrstride,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glColorPointervINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        PTR32 pointer;
    } *params32 = args;
    struct glColorPointervINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glColorSubTable( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei start;
        GLsizei count;
        GLenum format;
        GLenum type;
        PTR32 data;
    } *params32 = args;
    struct glColorSubTable_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .start = params32->start,
        .count = params32->count,
        .format = params32->format,
        .type = params32->type,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glColorSubTable( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorSubTableEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei start;
        GLsizei count;
        GLenum format;
        GLenum type;
        PTR32 data;
    } *params32 = args;
    struct glColorSubTableEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .start = params32->start,
        .count = params32->count,
        .format = params32->format,
        .type = params32->type,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glColorSubTableEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorTable( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLsizei width;
        GLenum format;
        GLenum type;
        PTR32 table;
    } *params32 = args;
    struct glColorTable_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .format = params32->format,
        .type = params32->type,
        .table = ULongToPtr(params32->table),
    };
    NTSTATUS status;
    status = ext_glColorTable( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorTableEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalFormat;
        GLsizei width;
        GLenum format;
        GLenum type;
        PTR32 table;
    } *params32 = args;
    struct glColorTableEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .format = params32->format,
        .type = params32->type,
        .table = ULongToPtr(params32->table),
    };
    NTSTATUS status;
    status = ext_glColorTableEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorTableParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glColorTableParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glColorTableParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorTableParameterfvSGI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glColorTableParameterfvSGI_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glColorTableParameterfvSGI( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorTableParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glColorTableParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glColorTableParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorTableParameterivSGI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glColorTableParameterivSGI_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glColorTableParameterivSGI( &params );
    return status;
}

static NTSTATUS wow64_ext_glColorTableSGI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLsizei width;
        GLenum format;
        GLenum type;
        PTR32 table;
    } *params32 = args;
    struct glColorTableSGI_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .format = params32->format,
        .type = params32->type,
        .table = ULongToPtr(params32->table),
    };
    NTSTATUS status;
    status = ext_glColorTableSGI( &params );
    return status;
}

static NTSTATUS wow64_ext_glCombinerInputNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stage;
        GLenum portion;
        GLenum variable;
        GLenum input;
        GLenum mapping;
        GLenum componentUsage;
    } *params32 = args;
    struct glCombinerInputNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .stage = params32->stage,
        .portion = params32->portion,
        .variable = params32->variable,
        .input = params32->input,
        .mapping = params32->mapping,
        .componentUsage = params32->componentUsage,
    };
    NTSTATUS status;
    status = ext_glCombinerInputNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCombinerOutputNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stage;
        GLenum portion;
        GLenum abOutput;
        GLenum cdOutput;
        GLenum sumOutput;
        GLenum scale;
        GLenum bias;
        GLboolean abDotProduct;
        GLboolean cdDotProduct;
        GLboolean muxSum;
    } *params32 = args;
    struct glCombinerOutputNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .stage = params32->stage,
        .portion = params32->portion,
        .abOutput = params32->abOutput,
        .cdOutput = params32->cdOutput,
        .sumOutput = params32->sumOutput,
        .scale = params32->scale,
        .bias = params32->bias,
        .abDotProduct = params32->abDotProduct,
        .cdDotProduct = params32->cdDotProduct,
        .muxSum = params32->muxSum,
    };
    NTSTATUS status;
    status = ext_glCombinerOutputNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCombinerParameterfNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glCombinerParameterfNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glCombinerParameterfNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCombinerParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glCombinerParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glCombinerParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCombinerParameteriNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glCombinerParameteriNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glCombinerParameteriNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCombinerParameterivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glCombinerParameterivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glCombinerParameterivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCombinerStageParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stage;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glCombinerStageParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .stage = params32->stage,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glCombinerStageParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCommandListSegmentsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLuint segments;
    } *params32 = args;
    struct glCommandListSegmentsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
        .segments = params32->segments,
    };
    NTSTATUS status;
    status = ext_glCommandListSegmentsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompileCommandListNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
    } *params32 = args;
    struct glCompileCommandListNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
    };
    NTSTATUS status;
    status = ext_glCompileCommandListNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompileShader( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint shader;
    } *params32 = args;
    struct glCompileShader_params params =
    {
        .teb = get_teb64(params32->teb),
        .shader = params32->shader,
    };
    NTSTATUS status;
    status = ext_glCompileShader( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompileShaderARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB shaderObj;
    } *params32 = args;
    struct glCompileShaderARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .shaderObj = params32->shaderObj,
    };
    NTSTATUS status;
    status = ext_glCompileShaderARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompileShaderIncludeARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint shader;
        GLsizei count;
        PTR32 path;
        PTR32 length;
    } *params32 = args;
    struct glCompileShaderIncludeARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .shader = params32->shader,
        .count = params32->count,
        .length = ULongToPtr(params32->length),
    };
    NTSTATUS status;
    params.path = copy_wow64_ptr32s( (UINT_PTR)params32->path, params32->count );
    status = ext_glCompileShaderIncludeARB( &params );
    free( (void *)params.path );
    return status;
}

static NTSTATUS wow64_ext_glCompressedMultiTexImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLint border;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedMultiTexImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedMultiTexImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedMultiTexImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLint border;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedMultiTexImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedMultiTexImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedMultiTexImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLint border;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedMultiTexImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedMultiTexImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedMultiTexSubImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLsizei width;
        GLenum format;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedMultiTexSubImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .width = params32->width,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedMultiTexSubImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedMultiTexSubImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedMultiTexSubImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedMultiTexSubImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedMultiTexSubImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedMultiTexSubImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedMultiTexSubImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexImage1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLint border;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexImage1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexImage1D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexImage1DARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLint border;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexImage1DARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexImage1DARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexImage2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLint border;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexImage2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexImage2D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexImage2DARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLint border;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexImage2DARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexImage2DARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexImage3D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLint border;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexImage3D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexImage3D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexImage3DARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLint border;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexImage3DARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexImage3DARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexSubImage1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLsizei width;
        GLenum format;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexSubImage1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .width = params32->width,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexSubImage1D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexSubImage1DARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLsizei width;
        GLenum format;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexSubImage1DARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .width = params32->width,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexSubImage1DARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexSubImage2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexSubImage2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexSubImage2D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexSubImage2DARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexSubImage2DARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexSubImage2DARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexSubImage3D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexSubImage3D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexSubImage3D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTexSubImage3DARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTexSubImage3DARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTexSubImage3DARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTextureImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLint border;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedTextureImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedTextureImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTextureImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLint border;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedTextureImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedTextureImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTextureImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLint border;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedTextureImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .border = params32->border,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedTextureImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTextureSubImage1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLsizei width;
        GLenum format;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTextureSubImage1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .width = params32->width,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTextureSubImage1D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTextureSubImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLsizei width;
        GLenum format;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedTextureSubImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .width = params32->width,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedTextureSubImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTextureSubImage2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTextureSubImage2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTextureSubImage2D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTextureSubImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedTextureSubImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedTextureSubImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTextureSubImage3D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLsizei imageSize;
        PTR32 data;
    } *params32 = args;
    struct glCompressedTextureSubImage3D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glCompressedTextureSubImage3D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCompressedTextureSubImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLsizei imageSize;
        PTR32 bits;
    } *params32 = args;
    struct glCompressedTextureSubImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .imageSize = params32->imageSize,
        .bits = ULongToPtr(params32->bits),
    };
    NTSTATUS status;
    status = ext_glCompressedTextureSubImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glConservativeRasterParameterfNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat value;
    } *params32 = args;
    struct glConservativeRasterParameterfNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glConservativeRasterParameterfNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glConservativeRasterParameteriNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glConservativeRasterParameteriNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glConservativeRasterParameteriNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionFilter1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLsizei width;
        GLenum format;
        GLenum type;
        PTR32 image;
    } *params32 = args;
    struct glConvolutionFilter1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .format = params32->format,
        .type = params32->type,
        .image = ULongToPtr(params32->image),
    };
    NTSTATUS status;
    status = ext_glConvolutionFilter1D( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionFilter1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLsizei width;
        GLenum format;
        GLenum type;
        PTR32 image;
    } *params32 = args;
    struct glConvolutionFilter1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .format = params32->format,
        .type = params32->type,
        .image = ULongToPtr(params32->image),
    };
    NTSTATUS status;
    status = ext_glConvolutionFilter1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionFilter2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        PTR32 image;
    } *params32 = args;
    struct glConvolutionFilter2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .image = ULongToPtr(params32->image),
    };
    NTSTATUS status;
    status = ext_glConvolutionFilter2D( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionFilter2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        PTR32 image;
    } *params32 = args;
    struct glConvolutionFilter2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .image = ULongToPtr(params32->image),
    };
    NTSTATUS status;
    status = ext_glConvolutionFilter2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionParameterf( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLfloat params;
    } *params32 = args;
    struct glConvolutionParameterf_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = params32->params,
    };
    NTSTATUS status;
    status = ext_glConvolutionParameterf( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionParameterfEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLfloat params;
    } *params32 = args;
    struct glConvolutionParameterfEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = params32->params,
    };
    NTSTATUS status;
    status = ext_glConvolutionParameterfEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glConvolutionParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glConvolutionParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glConvolutionParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glConvolutionParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionParameteri( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLint params;
    } *params32 = args;
    struct glConvolutionParameteri_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = params32->params,
    };
    NTSTATUS status;
    status = ext_glConvolutionParameteri( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionParameteriEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLint params;
    } *params32 = args;
    struct glConvolutionParameteriEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = params32->params,
    };
    NTSTATUS status;
    status = ext_glConvolutionParameteriEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glConvolutionParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glConvolutionParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glConvolutionParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glConvolutionParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionParameterxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLfixed param;
    } *params32 = args;
    struct glConvolutionParameterxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glConvolutionParameterxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glConvolutionParameterxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glConvolutionParameterxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glConvolutionParameterxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyBufferSubData( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum readTarget;
        GLenum writeTarget;
        PTR32 readOffset;
        PTR32 writeOffset;
        PTR32 size;
    } *params32 = args;
    struct glCopyBufferSubData_params params =
    {
        .teb = get_teb64(params32->teb),
        .readTarget = params32->readTarget,
        .writeTarget = params32->writeTarget,
        .readOffset = (GLintptr)ULongToPtr(params32->readOffset),
        .writeOffset = (GLintptr)ULongToPtr(params32->writeOffset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glCopyBufferSubData( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyColorSubTable( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei start;
        GLint x;
        GLint y;
        GLsizei width;
    } *params32 = args;
    struct glCopyColorSubTable_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .start = params32->start,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glCopyColorSubTable( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyColorSubTableEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei start;
        GLint x;
        GLint y;
        GLsizei width;
    } *params32 = args;
    struct glCopyColorSubTableEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .start = params32->start,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glCopyColorSubTableEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyColorTable( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
    } *params32 = args;
    struct glCopyColorTable_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glCopyColorTable( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyColorTableSGI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
    } *params32 = args;
    struct glCopyColorTableSGI_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glCopyColorTableSGI( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyConvolutionFilter1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
    } *params32 = args;
    struct glCopyConvolutionFilter1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glCopyConvolutionFilter1D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyConvolutionFilter1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
    } *params32 = args;
    struct glCopyConvolutionFilter1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glCopyConvolutionFilter1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyConvolutionFilter2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyConvolutionFilter2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glCopyConvolutionFilter2D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyConvolutionFilter2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyConvolutionFilter2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glCopyConvolutionFilter2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyImageSubData( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint srcName;
        GLenum srcTarget;
        GLint srcLevel;
        GLint srcX;
        GLint srcY;
        GLint srcZ;
        GLuint dstName;
        GLenum dstTarget;
        GLint dstLevel;
        GLint dstX;
        GLint dstY;
        GLint dstZ;
        GLsizei srcWidth;
        GLsizei srcHeight;
        GLsizei srcDepth;
    } *params32 = args;
    struct glCopyImageSubData_params params =
    {
        .teb = get_teb64(params32->teb),
        .srcName = params32->srcName,
        .srcTarget = params32->srcTarget,
        .srcLevel = params32->srcLevel,
        .srcX = params32->srcX,
        .srcY = params32->srcY,
        .srcZ = params32->srcZ,
        .dstName = params32->dstName,
        .dstTarget = params32->dstTarget,
        .dstLevel = params32->dstLevel,
        .dstX = params32->dstX,
        .dstY = params32->dstY,
        .dstZ = params32->dstZ,
        .srcWidth = params32->srcWidth,
        .srcHeight = params32->srcHeight,
        .srcDepth = params32->srcDepth,
    };
    NTSTATUS status;
    status = ext_glCopyImageSubData( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyImageSubDataNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint srcName;
        GLenum srcTarget;
        GLint srcLevel;
        GLint srcX;
        GLint srcY;
        GLint srcZ;
        GLuint dstName;
        GLenum dstTarget;
        GLint dstLevel;
        GLint dstX;
        GLint dstY;
        GLint dstZ;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
    } *params32 = args;
    struct glCopyImageSubDataNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .srcName = params32->srcName,
        .srcTarget = params32->srcTarget,
        .srcLevel = params32->srcLevel,
        .srcX = params32->srcX,
        .srcY = params32->srcY,
        .srcZ = params32->srcZ,
        .dstName = params32->dstName,
        .dstTarget = params32->dstTarget,
        .dstLevel = params32->dstLevel,
        .dstX = params32->dstX,
        .dstY = params32->dstY,
        .dstZ = params32->dstZ,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
    };
    NTSTATUS status;
    status = ext_glCopyImageSubDataNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyMultiTexImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
        GLint border;
    } *params32 = args;
    struct glCopyMultiTexImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .border = params32->border,
    };
    NTSTATUS status;
    status = ext_glCopyMultiTexImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyMultiTexImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
        GLint border;
    } *params32 = args;
    struct glCopyMultiTexImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
        .border = params32->border,
    };
    NTSTATUS status;
    status = ext_glCopyMultiTexImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyMultiTexSubImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint x;
        GLint y;
        GLsizei width;
    } *params32 = args;
    struct glCopyMultiTexSubImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glCopyMultiTexSubImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyMultiTexSubImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyMultiTexSubImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glCopyMultiTexSubImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyMultiTexSubImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyMultiTexSubImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glCopyMultiTexSubImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyNamedBufferSubData( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint readBuffer;
        GLuint writeBuffer;
        PTR32 readOffset;
        PTR32 writeOffset;
        PTR32 size;
    } *params32 = args;
    struct glCopyNamedBufferSubData_params params =
    {
        .teb = get_teb64(params32->teb),
        .readBuffer = params32->readBuffer,
        .writeBuffer = params32->writeBuffer,
        .readOffset = (GLintptr)ULongToPtr(params32->readOffset),
        .writeOffset = (GLintptr)ULongToPtr(params32->writeOffset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glCopyNamedBufferSubData( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyPathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint resultPath;
        GLuint srcPath;
    } *params32 = args;
    struct glCopyPathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .resultPath = params32->resultPath,
        .srcPath = params32->srcPath,
    };
    NTSTATUS status;
    status = ext_glCopyPathNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTexImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
        GLint border;
    } *params32 = args;
    struct glCopyTexImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .border = params32->border,
    };
    NTSTATUS status;
    status = ext_glCopyTexImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTexImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
        GLint border;
    } *params32 = args;
    struct glCopyTexImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
        .border = params32->border,
    };
    NTSTATUS status;
    status = ext_glCopyTexImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTexSubImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint x;
        GLint y;
        GLsizei width;
    } *params32 = args;
    struct glCopyTexSubImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glCopyTexSubImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTexSubImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyTexSubImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glCopyTexSubImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTexSubImage3D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyTexSubImage3D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glCopyTexSubImage3D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTexSubImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyTexSubImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glCopyTexSubImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTextureImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
        GLint border;
    } *params32 = args;
    struct glCopyTextureImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .border = params32->border,
    };
    NTSTATUS status;
    status = ext_glCopyTextureImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTextureImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
        GLint border;
    } *params32 = args;
    struct glCopyTextureImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
        .border = params32->border,
    };
    NTSTATUS status;
    status = ext_glCopyTextureImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTextureSubImage1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint x;
        GLint y;
        GLsizei width;
    } *params32 = args;
    struct glCopyTextureSubImage1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glCopyTextureSubImage1D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTextureSubImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint x;
        GLint y;
        GLsizei width;
    } *params32 = args;
    struct glCopyTextureSubImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glCopyTextureSubImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTextureSubImage2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyTextureSubImage2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glCopyTextureSubImage2D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTextureSubImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyTextureSubImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glCopyTextureSubImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTextureSubImage3D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyTextureSubImage3D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glCopyTextureSubImage3D( &params );
    return status;
}

static NTSTATUS wow64_ext_glCopyTextureSubImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glCopyTextureSubImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glCopyTextureSubImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCoverFillPathInstancedNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei numPaths;
        GLenum pathNameType;
        PTR32 paths;
        GLuint pathBase;
        GLenum coverMode;
        GLenum transformType;
        PTR32 transformValues;
    } *params32 = args;
    struct glCoverFillPathInstancedNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .numPaths = params32->numPaths,
        .pathNameType = params32->pathNameType,
        .paths = ULongToPtr(params32->paths),
        .pathBase = params32->pathBase,
        .coverMode = params32->coverMode,
        .transformType = params32->transformType,
        .transformValues = ULongToPtr(params32->transformValues),
    };
    NTSTATUS status;
    status = ext_glCoverFillPathInstancedNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCoverFillPathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLenum coverMode;
    } *params32 = args;
    struct glCoverFillPathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .coverMode = params32->coverMode,
    };
    NTSTATUS status;
    status = ext_glCoverFillPathNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCoverStrokePathInstancedNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei numPaths;
        GLenum pathNameType;
        PTR32 paths;
        GLuint pathBase;
        GLenum coverMode;
        GLenum transformType;
        PTR32 transformValues;
    } *params32 = args;
    struct glCoverStrokePathInstancedNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .numPaths = params32->numPaths,
        .pathNameType = params32->pathNameType,
        .paths = ULongToPtr(params32->paths),
        .pathBase = params32->pathBase,
        .coverMode = params32->coverMode,
        .transformType = params32->transformType,
        .transformValues = ULongToPtr(params32->transformValues),
    };
    NTSTATUS status;
    status = ext_glCoverStrokePathInstancedNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCoverStrokePathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLenum coverMode;
    } *params32 = args;
    struct glCoverStrokePathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .coverMode = params32->coverMode,
    };
    NTSTATUS status;
    status = ext_glCoverStrokePathNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCoverageModulationNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum components;
    } *params32 = args;
    struct glCoverageModulationNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .components = params32->components,
    };
    NTSTATUS status;
    status = ext_glCoverageModulationNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCoverageModulationTableNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 v;
    } *params32 = args;
    struct glCoverageModulationTableNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glCoverageModulationTableNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateBuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 buffers;
    } *params32 = args;
    struct glCreateBuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .buffers = ULongToPtr(params32->buffers),
    };
    NTSTATUS status;
    status = ext_glCreateBuffers( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateCommandListsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 lists;
    } *params32 = args;
    struct glCreateCommandListsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .lists = ULongToPtr(params32->lists),
    };
    NTSTATUS status;
    status = ext_glCreateCommandListsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateFramebuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 framebuffers;
    } *params32 = args;
    struct glCreateFramebuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .framebuffers = ULongToPtr(params32->framebuffers),
    };
    NTSTATUS status;
    status = ext_glCreateFramebuffers( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateMemoryObjectsEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 memoryObjects;
    } *params32 = args;
    struct glCreateMemoryObjectsEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .memoryObjects = ULongToPtr(params32->memoryObjects),
    };
    NTSTATUS status;
    status = ext_glCreateMemoryObjectsEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreatePerfQueryINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint queryId;
        PTR32 queryHandle;
    } *params32 = args;
    struct glCreatePerfQueryINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .queryId = params32->queryId,
        .queryHandle = ULongToPtr(params32->queryHandle),
    };
    NTSTATUS status;
    status = ext_glCreatePerfQueryINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateProgram( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint ret;
    } *params32 = args;
    struct glCreateProgram_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glCreateProgram( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glCreateProgramObjectARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB ret;
    } *params32 = args;
    struct glCreateProgramObjectARB_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glCreateProgramObjectARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glCreateProgramPipelines( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 pipelines;
    } *params32 = args;
    struct glCreateProgramPipelines_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .pipelines = ULongToPtr(params32->pipelines),
    };
    NTSTATUS status;
    status = ext_glCreateProgramPipelines( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateProgressFenceNVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint ret;
    } *params32 = args;
    struct glCreateProgressFenceNVX_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glCreateProgressFenceNVX( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glCreateQueries( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glCreateQueries_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glCreateQueries( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateRenderbuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 renderbuffers;
    } *params32 = args;
    struct glCreateRenderbuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .renderbuffers = ULongToPtr(params32->renderbuffers),
    };
    NTSTATUS status;
    status = ext_glCreateRenderbuffers( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateSamplers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 samplers;
    } *params32 = args;
    struct glCreateSamplers_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .samplers = ULongToPtr(params32->samplers),
    };
    NTSTATUS status;
    status = ext_glCreateSamplers( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateShader( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint ret;
    } *params32 = args;
    struct glCreateShader_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
    };
    NTSTATUS status;
    status = ext_glCreateShader( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glCreateShaderObjectARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum shaderType;
        GLhandleARB ret;
    } *params32 = args;
    struct glCreateShaderObjectARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .shaderType = params32->shaderType,
    };
    NTSTATUS status;
    status = ext_glCreateShaderObjectARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glCreateShaderProgramEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 string;
        GLuint ret;
    } *params32 = args;
    struct glCreateShaderProgramEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .string = ULongToPtr(params32->string),
    };
    NTSTATUS status;
    status = ext_glCreateShaderProgramEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glCreateShaderProgramv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei count;
        PTR32 strings;
        GLuint ret;
    } *params32 = args;
    struct glCreateShaderProgramv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .count = params32->count,
    };
    NTSTATUS status;
    params.strings = copy_wow64_ptr32s( (UINT_PTR)params32->strings, params32->count );
    status = ext_glCreateShaderProgramv( &params );
    params32->ret = params.ret;
    free( (void *)params.strings );
    return status;
}

static NTSTATUS wow64_ext_glCreateStatesNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 states;
    } *params32 = args;
    struct glCreateStatesNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .states = ULongToPtr(params32->states),
    };
    NTSTATUS status;
    status = ext_glCreateStatesNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateSyncFromCLeventARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 context;
        PTR32 event;
        GLbitfield flags;
        PTR32 ret;
    } *params32 = args;
    struct glCreateSyncFromCLeventARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .context = ULongToPtr(params32->context),
        .event = ULongToPtr(params32->event),
        .flags = params32->flags,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glCreateTextures( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei n;
        PTR32 textures;
    } *params32 = args;
    struct glCreateTextures_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .n = params32->n,
        .textures = ULongToPtr(params32->textures),
    };
    NTSTATUS status;
    status = ext_glCreateTextures( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateTransformFeedbacks( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glCreateTransformFeedbacks_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glCreateTransformFeedbacks( &params );
    return status;
}

static NTSTATUS wow64_ext_glCreateVertexArrays( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 arrays;
    } *params32 = args;
    struct glCreateVertexArrays_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .arrays = ULongToPtr(params32->arrays),
    };
    NTSTATUS status;
    status = ext_glCreateVertexArrays( &params );
    return status;
}

static NTSTATUS wow64_ext_glCullParameterdvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glCullParameterdvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glCullParameterdvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCullParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glCullParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glCullParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glCurrentPaletteMatrixARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint index;
    } *params32 = args;
    struct glCurrentPaletteMatrixARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glCurrentPaletteMatrixARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDebugMessageCallback( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 callback;
        PTR32 userParam;
    } *params32 = args;
    struct glDebugMessageCallback_params params =
    {
        .teb = get_teb64(params32->teb),
        .callback = ULongToPtr(params32->callback),
        .userParam = ULongToPtr(params32->userParam),
    };
    NTSTATUS status;
    status = ext_glDebugMessageCallback( &params );
    return status;
}

static NTSTATUS wow64_ext_glDebugMessageCallbackAMD( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 callback;
        PTR32 userParam;
    } *params32 = args;
    struct glDebugMessageCallbackAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .callback = ULongToPtr(params32->callback),
        .userParam = ULongToPtr(params32->userParam),
    };
    NTSTATUS status;
    status = ext_glDebugMessageCallbackAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glDebugMessageCallbackARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 callback;
        PTR32 userParam;
    } *params32 = args;
    struct glDebugMessageCallbackARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .callback = ULongToPtr(params32->callback),
        .userParam = ULongToPtr(params32->userParam),
    };
    NTSTATUS status;
    status = ext_glDebugMessageCallbackARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDebugMessageControl( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum source;
        GLenum type;
        GLenum severity;
        GLsizei count;
        PTR32 ids;
        GLboolean enabled;
    } *params32 = args;
    struct glDebugMessageControl_params params =
    {
        .teb = get_teb64(params32->teb),
        .source = params32->source,
        .type = params32->type,
        .severity = params32->severity,
        .count = params32->count,
        .ids = ULongToPtr(params32->ids),
        .enabled = params32->enabled,
    };
    NTSTATUS status;
    status = ext_glDebugMessageControl( &params );
    return status;
}

static NTSTATUS wow64_ext_glDebugMessageControlARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum source;
        GLenum type;
        GLenum severity;
        GLsizei count;
        PTR32 ids;
        GLboolean enabled;
    } *params32 = args;
    struct glDebugMessageControlARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .source = params32->source,
        .type = params32->type,
        .severity = params32->severity,
        .count = params32->count,
        .ids = ULongToPtr(params32->ids),
        .enabled = params32->enabled,
    };
    NTSTATUS status;
    status = ext_glDebugMessageControlARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDebugMessageEnableAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum category;
        GLenum severity;
        GLsizei count;
        PTR32 ids;
        GLboolean enabled;
    } *params32 = args;
    struct glDebugMessageEnableAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .category = params32->category,
        .severity = params32->severity,
        .count = params32->count,
        .ids = ULongToPtr(params32->ids),
        .enabled = params32->enabled,
    };
    NTSTATUS status;
    status = ext_glDebugMessageEnableAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glDebugMessageInsert( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum source;
        GLenum type;
        GLuint id;
        GLenum severity;
        GLsizei length;
        PTR32 buf;
    } *params32 = args;
    struct glDebugMessageInsert_params params =
    {
        .teb = get_teb64(params32->teb),
        .source = params32->source,
        .type = params32->type,
        .id = params32->id,
        .severity = params32->severity,
        .length = params32->length,
        .buf = ULongToPtr(params32->buf),
    };
    NTSTATUS status;
    status = ext_glDebugMessageInsert( &params );
    return status;
}

static NTSTATUS wow64_ext_glDebugMessageInsertAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum category;
        GLenum severity;
        GLuint id;
        GLsizei length;
        PTR32 buf;
    } *params32 = args;
    struct glDebugMessageInsertAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .category = params32->category,
        .severity = params32->severity,
        .id = params32->id,
        .length = params32->length,
        .buf = ULongToPtr(params32->buf),
    };
    NTSTATUS status;
    status = ext_glDebugMessageInsertAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glDebugMessageInsertARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum source;
        GLenum type;
        GLuint id;
        GLenum severity;
        GLsizei length;
        PTR32 buf;
    } *params32 = args;
    struct glDebugMessageInsertARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .source = params32->source,
        .type = params32->type,
        .id = params32->id,
        .severity = params32->severity,
        .length = params32->length,
        .buf = ULongToPtr(params32->buf),
    };
    NTSTATUS status;
    status = ext_glDebugMessageInsertARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeformSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield mask;
    } *params32 = args;
    struct glDeformSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glDeformSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeformationMap3dSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble u1;
        GLdouble u2;
        GLint ustride;
        GLint uorder;
        GLdouble v1;
        GLdouble v2;
        GLint vstride;
        GLint vorder;
        GLdouble w1;
        GLdouble w2;
        GLint wstride;
        GLint worder;
        PTR32 points;
    } *params32 = args;
    struct glDeformationMap3dSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .ustride = params32->ustride,
        .uorder = params32->uorder,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .vstride = params32->vstride,
        .vorder = params32->vorder,
        .w1 = params32->w1,
        .w2 = params32->w2,
        .wstride = params32->wstride,
        .worder = params32->worder,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glDeformationMap3dSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeformationMap3fSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat u1;
        GLfloat u2;
        GLint ustride;
        GLint uorder;
        GLfloat v1;
        GLfloat v2;
        GLint vstride;
        GLint vorder;
        GLfloat w1;
        GLfloat w2;
        GLint wstride;
        GLint worder;
        PTR32 points;
    } *params32 = args;
    struct glDeformationMap3fSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .ustride = params32->ustride,
        .uorder = params32->uorder,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .vstride = params32->vstride,
        .vorder = params32->vorder,
        .w1 = params32->w1,
        .w2 = params32->w2,
        .wstride = params32->wstride,
        .worder = params32->worder,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glDeformationMap3fSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteAsyncMarkersSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint marker;
        GLsizei range;
    } *params32 = args;
    struct glDeleteAsyncMarkersSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .marker = params32->marker,
        .range = params32->range,
    };
    NTSTATUS status;
    status = ext_glDeleteAsyncMarkersSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteBufferRegion( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum region;
    } *params32 = args;
    struct glDeleteBufferRegion_params params =
    {
        .teb = get_teb64(params32->teb),
        .region = params32->region,
    };
    NTSTATUS status;
    status = ext_glDeleteBufferRegion( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteBuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 buffers;
    } *params32 = args;
    struct glDeleteBuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .buffers = ULongToPtr(params32->buffers),
    };
    NTSTATUS status;
    status = ext_glDeleteBuffers( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteBuffersARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 buffers;
    } *params32 = args;
    struct glDeleteBuffersARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .buffers = ULongToPtr(params32->buffers),
    };
    NTSTATUS status;
    status = ext_glDeleteBuffersARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteCommandListsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 lists;
    } *params32 = args;
    struct glDeleteCommandListsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .lists = ULongToPtr(params32->lists),
    };
    NTSTATUS status;
    status = ext_glDeleteCommandListsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteFencesAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 fences;
    } *params32 = args;
    struct glDeleteFencesAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .fences = ULongToPtr(params32->fences),
    };
    NTSTATUS status;
    status = ext_glDeleteFencesAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteFencesNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 fences;
    } *params32 = args;
    struct glDeleteFencesNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .fences = ULongToPtr(params32->fences),
    };
    NTSTATUS status;
    status = ext_glDeleteFencesNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteFragmentShaderATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
    } *params32 = args;
    struct glDeleteFragmentShaderATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glDeleteFragmentShaderATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteFramebuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 framebuffers;
    } *params32 = args;
    struct glDeleteFramebuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .framebuffers = ULongToPtr(params32->framebuffers),
    };
    NTSTATUS status;
    status = ext_glDeleteFramebuffers( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteFramebuffersEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 framebuffers;
    } *params32 = args;
    struct glDeleteFramebuffersEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .framebuffers = ULongToPtr(params32->framebuffers),
    };
    NTSTATUS status;
    status = ext_glDeleteFramebuffersEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteMemoryObjectsEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 memoryObjects;
    } *params32 = args;
    struct glDeleteMemoryObjectsEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .memoryObjects = ULongToPtr(params32->memoryObjects),
    };
    NTSTATUS status;
    status = ext_glDeleteMemoryObjectsEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteNamedStringARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint namelen;
        PTR32 name;
    } *params32 = args;
    struct glDeleteNamedStringARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .namelen = params32->namelen,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glDeleteNamedStringARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteNamesAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum identifier;
        GLuint num;
        PTR32 names;
    } *params32 = args;
    struct glDeleteNamesAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .identifier = params32->identifier,
        .num = params32->num,
        .names = ULongToPtr(params32->names),
    };
    NTSTATUS status;
    status = ext_glDeleteNamesAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteObjectARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB obj;
    } *params32 = args;
    struct glDeleteObjectARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .obj = params32->obj,
    };
    NTSTATUS status;
    status = ext_glDeleteObjectARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteObjectBufferATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
    } *params32 = args;
    struct glDeleteObjectBufferATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glDeleteObjectBufferATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteOcclusionQueriesNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glDeleteOcclusionQueriesNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glDeleteOcclusionQueriesNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeletePathsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLsizei range;
    } *params32 = args;
    struct glDeletePathsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .range = params32->range,
    };
    NTSTATUS status;
    status = ext_glDeletePathsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeletePerfMonitorsAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 monitors;
    } *params32 = args;
    struct glDeletePerfMonitorsAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .monitors = ULongToPtr(params32->monitors),
    };
    NTSTATUS status;
    status = ext_glDeletePerfMonitorsAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeletePerfQueryINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint queryHandle;
    } *params32 = args;
    struct glDeletePerfQueryINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .queryHandle = params32->queryHandle,
    };
    NTSTATUS status;
    status = ext_glDeletePerfQueryINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteProgram( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
    } *params32 = args;
    struct glDeleteProgram_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
    };
    NTSTATUS status;
    status = ext_glDeleteProgram( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteProgramPipelines( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 pipelines;
    } *params32 = args;
    struct glDeleteProgramPipelines_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .pipelines = ULongToPtr(params32->pipelines),
    };
    NTSTATUS status;
    status = ext_glDeleteProgramPipelines( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteProgramsARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 programs;
    } *params32 = args;
    struct glDeleteProgramsARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .programs = ULongToPtr(params32->programs),
    };
    NTSTATUS status;
    status = ext_glDeleteProgramsARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteProgramsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 programs;
    } *params32 = args;
    struct glDeleteProgramsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .programs = ULongToPtr(params32->programs),
    };
    NTSTATUS status;
    status = ext_glDeleteProgramsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteQueries( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glDeleteQueries_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glDeleteQueries( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteQueriesARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glDeleteQueriesARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glDeleteQueriesARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteQueryResourceTagNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 tagIds;
    } *params32 = args;
    struct glDeleteQueryResourceTagNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .tagIds = ULongToPtr(params32->tagIds),
    };
    NTSTATUS status;
    status = ext_glDeleteQueryResourceTagNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteRenderbuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 renderbuffers;
    } *params32 = args;
    struct glDeleteRenderbuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .renderbuffers = ULongToPtr(params32->renderbuffers),
    };
    NTSTATUS status;
    status = ext_glDeleteRenderbuffers( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteRenderbuffersEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 renderbuffers;
    } *params32 = args;
    struct glDeleteRenderbuffersEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .renderbuffers = ULongToPtr(params32->renderbuffers),
    };
    NTSTATUS status;
    status = ext_glDeleteRenderbuffersEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteSamplers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei count;
        PTR32 samplers;
    } *params32 = args;
    struct glDeleteSamplers_params params =
    {
        .teb = get_teb64(params32->teb),
        .count = params32->count,
        .samplers = ULongToPtr(params32->samplers),
    };
    NTSTATUS status;
    status = ext_glDeleteSamplers( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteSemaphoresEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 semaphores;
    } *params32 = args;
    struct glDeleteSemaphoresEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .semaphores = ULongToPtr(params32->semaphores),
    };
    NTSTATUS status;
    status = ext_glDeleteSemaphoresEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteShader( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint shader;
    } *params32 = args;
    struct glDeleteShader_params params =
    {
        .teb = get_teb64(params32->teb),
        .shader = params32->shader,
    };
    NTSTATUS status;
    status = ext_glDeleteShader( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteStatesNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 states;
    } *params32 = args;
    struct glDeleteStatesNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .states = ULongToPtr(params32->states),
    };
    NTSTATUS status;
    status = ext_glDeleteStatesNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteTexturesEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 textures;
    } *params32 = args;
    struct glDeleteTexturesEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .textures = ULongToPtr(params32->textures),
    };
    NTSTATUS status;
    status = ext_glDeleteTexturesEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteTransformFeedbacks( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glDeleteTransformFeedbacks_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glDeleteTransformFeedbacks( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteTransformFeedbacksNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glDeleteTransformFeedbacksNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glDeleteTransformFeedbacksNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteVertexArrays( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 arrays;
    } *params32 = args;
    struct glDeleteVertexArrays_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .arrays = ULongToPtr(params32->arrays),
    };
    NTSTATUS status;
    status = ext_glDeleteVertexArrays( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteVertexArraysAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 arrays;
    } *params32 = args;
    struct glDeleteVertexArraysAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .arrays = ULongToPtr(params32->arrays),
    };
    NTSTATUS status;
    status = ext_glDeleteVertexArraysAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glDeleteVertexShaderEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
    } *params32 = args;
    struct glDeleteVertexShaderEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glDeleteVertexShaderEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDepthBoundsEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLclampd zmin;
        GLclampd zmax;
    } *params32 = args;
    struct glDepthBoundsEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .zmin = params32->zmin,
        .zmax = params32->zmax,
    };
    NTSTATUS status;
    status = ext_glDepthBoundsEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDepthBoundsdNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble zmin;
        GLdouble zmax;
    } *params32 = args;
    struct glDepthBoundsdNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .zmin = params32->zmin,
        .zmax = params32->zmax,
    };
    NTSTATUS status;
    status = ext_glDepthBoundsdNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDepthRangeArraydvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint first;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glDepthRangeArraydvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .first = params32->first,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glDepthRangeArraydvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDepthRangeArrayv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint first;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glDepthRangeArrayv_params params =
    {
        .teb = get_teb64(params32->teb),
        .first = params32->first,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glDepthRangeArrayv( &params );
    return status;
}

static NTSTATUS wow64_ext_glDepthRangeIndexed( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble n;
        GLdouble f;
    } *params32 = args;
    struct glDepthRangeIndexed_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .n = params32->n,
        .f = params32->f,
    };
    NTSTATUS status;
    status = ext_glDepthRangeIndexed( &params );
    return status;
}

static NTSTATUS wow64_ext_glDepthRangeIndexeddNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble n;
        GLdouble f;
    } *params32 = args;
    struct glDepthRangeIndexeddNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .n = params32->n,
        .f = params32->f,
    };
    NTSTATUS status;
    status = ext_glDepthRangeIndexeddNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDepthRangedNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble zNear;
        GLdouble zFar;
    } *params32 = args;
    struct glDepthRangedNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .zNear = params32->zNear,
        .zFar = params32->zFar,
    };
    NTSTATUS status;
    status = ext_glDepthRangedNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDepthRangef( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat n;
        GLfloat f;
    } *params32 = args;
    struct glDepthRangef_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .f = params32->f,
    };
    NTSTATUS status;
    status = ext_glDepthRangef( &params );
    return status;
}

static NTSTATUS wow64_ext_glDepthRangefOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLclampf n;
        GLclampf f;
    } *params32 = args;
    struct glDepthRangefOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .f = params32->f,
    };
    NTSTATUS status;
    status = ext_glDepthRangefOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glDepthRangexOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed n;
        GLfixed f;
    } *params32 = args;
    struct glDepthRangexOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .f = params32->f,
    };
    NTSTATUS status;
    status = ext_glDepthRangexOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glDetachObjectARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB containerObj;
        GLhandleARB attachedObj;
    } *params32 = args;
    struct glDetachObjectARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .containerObj = params32->containerObj,
        .attachedObj = params32->attachedObj,
    };
    NTSTATUS status;
    status = ext_glDetachObjectARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDetachShader( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint shader;
    } *params32 = args;
    struct glDetachShader_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .shader = params32->shader,
    };
    NTSTATUS status;
    status = ext_glDetachShader( &params );
    return status;
}

static NTSTATUS wow64_ext_glDetailTexFuncSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei n;
        PTR32 points;
    } *params32 = args;
    struct glDetailTexFuncSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .n = params32->n,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glDetailTexFuncSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glDisableClientStateIndexedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum array;
        GLuint index;
    } *params32 = args;
    struct glDisableClientStateIndexedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glDisableClientStateIndexedEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDisableClientStateiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum array;
        GLuint index;
    } *params32 = args;
    struct glDisableClientStateiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glDisableClientStateiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDisableIndexedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
    } *params32 = args;
    struct glDisableIndexedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glDisableIndexedEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDisableVariantClientStateEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
    } *params32 = args;
    struct glDisableVariantClientStateEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glDisableVariantClientStateEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDisableVertexArrayAttrib( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint index;
    } *params32 = args;
    struct glDisableVertexArrayAttrib_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glDisableVertexArrayAttrib( &params );
    return status;
}

static NTSTATUS wow64_ext_glDisableVertexArrayAttribEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint index;
    } *params32 = args;
    struct glDisableVertexArrayAttribEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glDisableVertexArrayAttribEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDisableVertexArrayEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLenum array;
    } *params32 = args;
    struct glDisableVertexArrayEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .array = params32->array,
    };
    NTSTATUS status;
    status = ext_glDisableVertexArrayEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDisableVertexAttribAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
    } *params32 = args;
    struct glDisableVertexAttribAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
    };
    NTSTATUS status;
    status = ext_glDisableVertexAttribAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glDisableVertexAttribArray( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
    } *params32 = args;
    struct glDisableVertexAttribArray_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glDisableVertexAttribArray( &params );
    return status;
}

static NTSTATUS wow64_ext_glDisableVertexAttribArrayARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
    } *params32 = args;
    struct glDisableVertexAttribArrayARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glDisableVertexAttribArrayARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDisablei( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
    } *params32 = args;
    struct glDisablei_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glDisablei( &params );
    return status;
}

static NTSTATUS wow64_ext_glDispatchCompute( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint num_groups_x;
        GLuint num_groups_y;
        GLuint num_groups_z;
    } *params32 = args;
    struct glDispatchCompute_params params =
    {
        .teb = get_teb64(params32->teb),
        .num_groups_x = params32->num_groups_x,
        .num_groups_y = params32->num_groups_y,
        .num_groups_z = params32->num_groups_z,
    };
    NTSTATUS status;
    status = ext_glDispatchCompute( &params );
    return status;
}

static NTSTATUS wow64_ext_glDispatchComputeGroupSizeARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint num_groups_x;
        GLuint num_groups_y;
        GLuint num_groups_z;
        GLuint group_size_x;
        GLuint group_size_y;
        GLuint group_size_z;
    } *params32 = args;
    struct glDispatchComputeGroupSizeARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .num_groups_x = params32->num_groups_x,
        .num_groups_y = params32->num_groups_y,
        .num_groups_z = params32->num_groups_z,
        .group_size_x = params32->group_size_x,
        .group_size_y = params32->group_size_y,
        .group_size_z = params32->group_size_z,
    };
    NTSTATUS status;
    status = ext_glDispatchComputeGroupSizeARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDispatchComputeIndirect( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 indirect;
    } *params32 = args;
    struct glDispatchComputeIndirect_params params =
    {
        .teb = get_teb64(params32->teb),
        .indirect = (GLintptr)ULongToPtr(params32->indirect),
    };
    NTSTATUS status;
    status = ext_glDispatchComputeIndirect( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawArraysEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLint first;
        GLsizei count;
    } *params32 = args;
    struct glDrawArraysEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .first = params32->first,
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glDrawArraysEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawArraysIndirect( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 indirect;
    } *params32 = args;
    struct glDrawArraysIndirect_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .indirect = ULongToPtr(params32->indirect),
    };
    NTSTATUS status;
    status = ext_glDrawArraysIndirect( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawArraysInstanced( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLint first;
        GLsizei count;
        GLsizei instancecount;
    } *params32 = args;
    struct glDrawArraysInstanced_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .first = params32->first,
        .count = params32->count,
        .instancecount = params32->instancecount,
    };
    NTSTATUS status;
    status = ext_glDrawArraysInstanced( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawArraysInstancedARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLint first;
        GLsizei count;
        GLsizei primcount;
    } *params32 = args;
    struct glDrawArraysInstancedARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .first = params32->first,
        .count = params32->count,
        .primcount = params32->primcount,
    };
    NTSTATUS status;
    status = ext_glDrawArraysInstancedARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawArraysInstancedBaseInstance( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLint first;
        GLsizei count;
        GLsizei instancecount;
        GLuint baseinstance;
    } *params32 = args;
    struct glDrawArraysInstancedBaseInstance_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .first = params32->first,
        .count = params32->count,
        .instancecount = params32->instancecount,
        .baseinstance = params32->baseinstance,
    };
    NTSTATUS status;
    status = ext_glDrawArraysInstancedBaseInstance( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawArraysInstancedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLint start;
        GLsizei count;
        GLsizei primcount;
    } *params32 = args;
    struct glDrawArraysInstancedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .start = params32->start,
        .count = params32->count,
        .primcount = params32->primcount,
    };
    NTSTATUS status;
    status = ext_glDrawArraysInstancedEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawBufferRegion( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum region;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
        GLint xDest;
        GLint yDest;
    } *params32 = args;
    struct glDrawBufferRegion_params params =
    {
        .teb = get_teb64(params32->teb),
        .region = params32->region,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
        .xDest = params32->xDest,
        .yDest = params32->yDest,
    };
    NTSTATUS status;
    status = ext_glDrawBufferRegion( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawBuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 bufs;
    } *params32 = args;
    struct glDrawBuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .bufs = ULongToPtr(params32->bufs),
    };
    NTSTATUS status;
    status = ext_glDrawBuffers( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawBuffersARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 bufs;
    } *params32 = args;
    struct glDrawBuffersARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .bufs = ULongToPtr(params32->bufs),
    };
    NTSTATUS status;
    status = ext_glDrawBuffersARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawBuffersATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 bufs;
    } *params32 = args;
    struct glDrawBuffersATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .bufs = ULongToPtr(params32->bufs),
    };
    NTSTATUS status;
    status = ext_glDrawBuffersATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawCommandsAddressNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum primitiveMode;
        PTR32 indirects;
        PTR32 sizes;
        GLuint count;
    } *params32 = args;
    struct glDrawCommandsAddressNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .primitiveMode = params32->primitiveMode,
        .indirects = ULongToPtr(params32->indirects),
        .sizes = ULongToPtr(params32->sizes),
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glDrawCommandsAddressNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawCommandsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum primitiveMode;
        GLuint buffer;
        PTR32 indirects;
        PTR32 sizes;
        GLuint count;
    } *params32 = args;
    struct glDrawCommandsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .primitiveMode = params32->primitiveMode,
        .buffer = params32->buffer,
        .sizes = ULongToPtr(params32->sizes),
        .count = params32->count,
    };
    NTSTATUS status;
    params.indirects = copy_wow64_ptr32s( (UINT_PTR)params32->indirects, params32->count );
    status = ext_glDrawCommandsNV( &params );
    free( (void *)params.indirects );
    return status;
}

static NTSTATUS wow64_ext_glDrawCommandsStatesAddressNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 indirects;
        PTR32 sizes;
        PTR32 states;
        PTR32 fbos;
        GLuint count;
    } *params32 = args;
    struct glDrawCommandsStatesAddressNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .indirects = ULongToPtr(params32->indirects),
        .sizes = ULongToPtr(params32->sizes),
        .states = ULongToPtr(params32->states),
        .fbos = ULongToPtr(params32->fbos),
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glDrawCommandsStatesAddressNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawCommandsStatesNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 indirects;
        PTR32 sizes;
        PTR32 states;
        PTR32 fbos;
        GLuint count;
    } *params32 = args;
    struct glDrawCommandsStatesNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .sizes = ULongToPtr(params32->sizes),
        .states = ULongToPtr(params32->states),
        .fbos = ULongToPtr(params32->fbos),
        .count = params32->count,
    };
    NTSTATUS status;
    params.indirects = copy_wow64_ptr32s( (UINT_PTR)params32->indirects, params32->count );
    status = ext_glDrawCommandsStatesNV( &params );
    free( (void *)params.indirects );
    return status;
}

static NTSTATUS wow64_ext_glDrawElementArrayAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLint first;
        GLsizei count;
    } *params32 = args;
    struct glDrawElementArrayAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .first = params32->first,
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glDrawElementArrayAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawElementArrayATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLsizei count;
    } *params32 = args;
    struct glDrawElementArrayATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glDrawElementArrayATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawElementsBaseVertex( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLsizei count;
        GLenum type;
        PTR32 indices;
        GLint basevertex;
    } *params32 = args;
    struct glDrawElementsBaseVertex_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = params32->count,
        .type = params32->type,
        .indices = ULongToPtr(params32->indices),
        .basevertex = params32->basevertex,
    };
    NTSTATUS status;
    status = ext_glDrawElementsBaseVertex( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawElementsIndirect( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLenum type;
        PTR32 indirect;
    } *params32 = args;
    struct glDrawElementsIndirect_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .type = params32->type,
        .indirect = ULongToPtr(params32->indirect),
    };
    NTSTATUS status;
    status = ext_glDrawElementsIndirect( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawElementsInstanced( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLsizei count;
        GLenum type;
        PTR32 indices;
        GLsizei instancecount;
    } *params32 = args;
    struct glDrawElementsInstanced_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = params32->count,
        .type = params32->type,
        .indices = ULongToPtr(params32->indices),
        .instancecount = params32->instancecount,
    };
    NTSTATUS status;
    status = ext_glDrawElementsInstanced( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawElementsInstancedARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLsizei count;
        GLenum type;
        PTR32 indices;
        GLsizei primcount;
    } *params32 = args;
    struct glDrawElementsInstancedARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = params32->count,
        .type = params32->type,
        .indices = ULongToPtr(params32->indices),
        .primcount = params32->primcount,
    };
    NTSTATUS status;
    status = ext_glDrawElementsInstancedARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawElementsInstancedBaseInstance( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLsizei count;
        GLenum type;
        PTR32 indices;
        GLsizei instancecount;
        GLuint baseinstance;
    } *params32 = args;
    struct glDrawElementsInstancedBaseInstance_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = params32->count,
        .type = params32->type,
        .indices = ULongToPtr(params32->indices),
        .instancecount = params32->instancecount,
        .baseinstance = params32->baseinstance,
    };
    NTSTATUS status;
    status = ext_glDrawElementsInstancedBaseInstance( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawElementsInstancedBaseVertex( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLsizei count;
        GLenum type;
        PTR32 indices;
        GLsizei instancecount;
        GLint basevertex;
    } *params32 = args;
    struct glDrawElementsInstancedBaseVertex_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = params32->count,
        .type = params32->type,
        .indices = ULongToPtr(params32->indices),
        .instancecount = params32->instancecount,
        .basevertex = params32->basevertex,
    };
    NTSTATUS status;
    status = ext_glDrawElementsInstancedBaseVertex( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawElementsInstancedBaseVertexBaseInstance( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLsizei count;
        GLenum type;
        PTR32 indices;
        GLsizei instancecount;
        GLint basevertex;
        GLuint baseinstance;
    } *params32 = args;
    struct glDrawElementsInstancedBaseVertexBaseInstance_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = params32->count,
        .type = params32->type,
        .indices = ULongToPtr(params32->indices),
        .instancecount = params32->instancecount,
        .basevertex = params32->basevertex,
        .baseinstance = params32->baseinstance,
    };
    NTSTATUS status;
    status = ext_glDrawElementsInstancedBaseVertexBaseInstance( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawElementsInstancedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLsizei count;
        GLenum type;
        PTR32 indices;
        GLsizei primcount;
    } *params32 = args;
    struct glDrawElementsInstancedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = params32->count,
        .type = params32->type,
        .indices = ULongToPtr(params32->indices),
        .primcount = params32->primcount,
    };
    NTSTATUS status;
    status = ext_glDrawElementsInstancedEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawMeshArraysSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLint first;
        GLsizei count;
        GLsizei width;
    } *params32 = args;
    struct glDrawMeshArraysSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .first = params32->first,
        .count = params32->count,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glDrawMeshArraysSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawMeshTasksIndirectNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 indirect;
    } *params32 = args;
    struct glDrawMeshTasksIndirectNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .indirect = (GLintptr)ULongToPtr(params32->indirect),
    };
    NTSTATUS status;
    status = ext_glDrawMeshTasksIndirectNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawMeshTasksNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint first;
        GLuint count;
    } *params32 = args;
    struct glDrawMeshTasksNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .first = params32->first,
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glDrawMeshTasksNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawRangeElementArrayAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLuint start;
        GLuint end;
        GLint first;
        GLsizei count;
    } *params32 = args;
    struct glDrawRangeElementArrayAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .start = params32->start,
        .end = params32->end,
        .first = params32->first,
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glDrawRangeElementArrayAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawRangeElementArrayATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLuint start;
        GLuint end;
        GLsizei count;
    } *params32 = args;
    struct glDrawRangeElementArrayATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .start = params32->start,
        .end = params32->end,
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glDrawRangeElementArrayATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawRangeElements( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLuint start;
        GLuint end;
        GLsizei count;
        GLenum type;
        PTR32 indices;
    } *params32 = args;
    struct glDrawRangeElements_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .start = params32->start,
        .end = params32->end,
        .count = params32->count,
        .type = params32->type,
        .indices = ULongToPtr(params32->indices),
    };
    NTSTATUS status;
    status = ext_glDrawRangeElements( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawRangeElementsBaseVertex( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLuint start;
        GLuint end;
        GLsizei count;
        GLenum type;
        PTR32 indices;
        GLint basevertex;
    } *params32 = args;
    struct glDrawRangeElementsBaseVertex_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .start = params32->start,
        .end = params32->end,
        .count = params32->count,
        .type = params32->type,
        .indices = ULongToPtr(params32->indices),
        .basevertex = params32->basevertex,
    };
    NTSTATUS status;
    status = ext_glDrawRangeElementsBaseVertex( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawRangeElementsEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLuint start;
        GLuint end;
        GLsizei count;
        GLenum type;
        PTR32 indices;
    } *params32 = args;
    struct glDrawRangeElementsEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .start = params32->start,
        .end = params32->end,
        .count = params32->count,
        .type = params32->type,
        .indices = ULongToPtr(params32->indices),
    };
    NTSTATUS status;
    status = ext_glDrawRangeElementsEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawTextureNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLuint sampler;
        GLfloat x0;
        GLfloat y0;
        GLfloat x1;
        GLfloat y1;
        GLfloat z;
        GLfloat s0;
        GLfloat t0;
        GLfloat s1;
        GLfloat t1;
    } *params32 = args;
    struct glDrawTextureNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .sampler = params32->sampler,
        .x0 = params32->x0,
        .y0 = params32->y0,
        .x1 = params32->x1,
        .y1 = params32->y1,
        .z = params32->z,
        .s0 = params32->s0,
        .t0 = params32->t0,
        .s1 = params32->s1,
        .t1 = params32->t1,
    };
    NTSTATUS status;
    status = ext_glDrawTextureNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawTransformFeedback( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLuint id;
    } *params32 = args;
    struct glDrawTransformFeedback_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glDrawTransformFeedback( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawTransformFeedbackInstanced( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLuint id;
        GLsizei instancecount;
    } *params32 = args;
    struct glDrawTransformFeedbackInstanced_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .id = params32->id,
        .instancecount = params32->instancecount,
    };
    NTSTATUS status;
    status = ext_glDrawTransformFeedbackInstanced( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawTransformFeedbackNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLuint id;
    } *params32 = args;
    struct glDrawTransformFeedbackNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glDrawTransformFeedbackNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawTransformFeedbackStream( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLuint id;
        GLuint stream;
    } *params32 = args;
    struct glDrawTransformFeedbackStream_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .id = params32->id,
        .stream = params32->stream,
    };
    NTSTATUS status;
    status = ext_glDrawTransformFeedbackStream( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawTransformFeedbackStreamInstanced( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLuint id;
        GLuint stream;
        GLsizei instancecount;
    } *params32 = args;
    struct glDrawTransformFeedbackStreamInstanced_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .id = params32->id,
        .stream = params32->stream,
        .instancecount = params32->instancecount,
    };
    NTSTATUS status;
    status = ext_glDrawTransformFeedbackStreamInstanced( &params );
    return status;
}

static NTSTATUS wow64_ext_glDrawVkImageNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 vkImage;
        GLuint sampler;
        GLfloat x0;
        GLfloat y0;
        GLfloat x1;
        GLfloat y1;
        GLfloat z;
        GLfloat s0;
        GLfloat t0;
        GLfloat s1;
        GLfloat t1;
    } *params32 = args;
    struct glDrawVkImageNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .vkImage = params32->vkImage,
        .sampler = params32->sampler,
        .x0 = params32->x0,
        .y0 = params32->y0,
        .x1 = params32->x1,
        .y1 = params32->y1,
        .z = params32->z,
        .s0 = params32->s0,
        .t0 = params32->t0,
        .s1 = params32->s1,
        .t1 = params32->t1,
    };
    NTSTATUS status;
    status = ext_glDrawVkImageNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glEGLImageTargetTexStorageEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 image;
        PTR32 attrib_list;
    } *params32 = args;
    struct glEGLImageTargetTexStorageEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .image = ULongToPtr(params32->image),
        .attrib_list = ULongToPtr(params32->attrib_list),
    };
    NTSTATUS status;
    status = ext_glEGLImageTargetTexStorageEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glEGLImageTargetTextureStorageEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        PTR32 image;
        PTR32 attrib_list;
    } *params32 = args;
    struct glEGLImageTargetTextureStorageEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .image = ULongToPtr(params32->image),
        .attrib_list = ULongToPtr(params32->attrib_list),
    };
    NTSTATUS status;
    status = ext_glEGLImageTargetTextureStorageEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glEdgeFlagFormatNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei stride;
    } *params32 = args;
    struct glEdgeFlagFormatNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glEdgeFlagFormatNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glEdgeFlagPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei stride;
        GLsizei count;
        PTR32 pointer;
    } *params32 = args;
    struct glEdgeFlagPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .stride = params32->stride,
        .count = params32->count,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glEdgeFlagPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glEdgeFlagPointerListIBM( void *args )
{
    struct
    {
        PTR32 teb;
        GLint stride;
        PTR32 pointer;
        GLint ptrstride;
    } *params32 = args;
    struct glEdgeFlagPointerListIBM_params params =
    {
        .teb = get_teb64(params32->teb),
        .stride = params32->stride,
        .ptrstride = params32->ptrstride,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glElementPointerAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 pointer;
    } *params32 = args;
    struct glElementPointerAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glElementPointerAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glElementPointerATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 pointer;
    } *params32 = args;
    struct glElementPointerATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glElementPointerATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glEnableClientStateIndexedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum array;
        GLuint index;
    } *params32 = args;
    struct glEnableClientStateIndexedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glEnableClientStateIndexedEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glEnableClientStateiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum array;
        GLuint index;
    } *params32 = args;
    struct glEnableClientStateiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glEnableClientStateiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glEnableIndexedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
    } *params32 = args;
    struct glEnableIndexedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glEnableIndexedEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glEnableVariantClientStateEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
    } *params32 = args;
    struct glEnableVariantClientStateEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glEnableVariantClientStateEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glEnableVertexArrayAttrib( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint index;
    } *params32 = args;
    struct glEnableVertexArrayAttrib_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glEnableVertexArrayAttrib( &params );
    return status;
}

static NTSTATUS wow64_ext_glEnableVertexArrayAttribEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint index;
    } *params32 = args;
    struct glEnableVertexArrayAttribEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glEnableVertexArrayAttribEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glEnableVertexArrayEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLenum array;
    } *params32 = args;
    struct glEnableVertexArrayEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .array = params32->array,
    };
    NTSTATUS status;
    status = ext_glEnableVertexArrayEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glEnableVertexAttribAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
    } *params32 = args;
    struct glEnableVertexAttribAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
    };
    NTSTATUS status;
    status = ext_glEnableVertexAttribAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glEnableVertexAttribArray( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
    } *params32 = args;
    struct glEnableVertexAttribArray_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glEnableVertexAttribArray( &params );
    return status;
}

static NTSTATUS wow64_ext_glEnableVertexAttribArrayARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
    } *params32 = args;
    struct glEnableVertexAttribArrayARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glEnableVertexAttribArrayARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glEnablei( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
    } *params32 = args;
    struct glEnablei_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glEnablei( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndConditionalRender( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEndConditionalRender_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glEndConditionalRender( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndConditionalRenderNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEndConditionalRenderNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glEndConditionalRenderNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndConditionalRenderNVX( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEndConditionalRenderNVX_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glEndConditionalRenderNVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndFragmentShaderATI( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEndFragmentShaderATI_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glEndFragmentShaderATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndOcclusionQueryNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEndOcclusionQueryNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glEndOcclusionQueryNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndPerfMonitorAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint monitor;
    } *params32 = args;
    struct glEndPerfMonitorAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .monitor = params32->monitor,
    };
    NTSTATUS status;
    status = ext_glEndPerfMonitorAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndPerfQueryINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint queryHandle;
    } *params32 = args;
    struct glEndPerfQueryINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .queryHandle = params32->queryHandle,
    };
    NTSTATUS status;
    status = ext_glEndPerfQueryINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndQuery( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glEndQuery_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glEndQuery( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndQueryARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glEndQueryARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glEndQueryARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndQueryIndexed( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
    } *params32 = args;
    struct glEndQueryIndexed_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glEndQueryIndexed( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndTransformFeedback( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEndTransformFeedback_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glEndTransformFeedback( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndTransformFeedbackEXT( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEndTransformFeedbackEXT_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glEndTransformFeedbackEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndTransformFeedbackNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEndTransformFeedbackNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glEndTransformFeedbackNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndVertexShaderEXT( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEndVertexShaderEXT_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glEndVertexShaderEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glEndVideoCaptureNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
    } *params32 = args;
    struct glEndVideoCaptureNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
    };
    NTSTATUS status;
    status = ext_glEndVideoCaptureNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glEvalCoord1xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed u;
    } *params32 = args;
    struct glEvalCoord1xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .u = params32->u,
    };
    NTSTATUS status;
    status = ext_glEvalCoord1xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glEvalCoord1xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glEvalCoord1xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glEvalCoord1xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glEvalCoord2xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed u;
        GLfixed v;
    } *params32 = args;
    struct glEvalCoord2xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .u = params32->u,
        .v = params32->v,
    };
    NTSTATUS status;
    status = ext_glEvalCoord2xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glEvalCoord2xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glEvalCoord2xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glEvalCoord2xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glEvalMapsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum mode;
    } *params32 = args;
    struct glEvalMapsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glEvalMapsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glEvaluateDepthValuesARB( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glEvaluateDepthValuesARB_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glEvaluateDepthValuesARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glExecuteProgramNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint id;
        PTR32 params;
    } *params32 = args;
    struct glExecuteProgramNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .id = params32->id,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glExecuteProgramNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glExtractComponentEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint res;
        GLuint src;
        GLuint num;
    } *params32 = args;
    struct glExtractComponentEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .res = params32->res,
        .src = params32->src,
        .num = params32->num,
    };
    NTSTATUS status;
    status = ext_glExtractComponentEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFeedbackBufferxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        GLenum type;
        PTR32 buffer;
    } *params32 = args;
    struct glFeedbackBufferxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .type = params32->type,
        .buffer = ULongToPtr(params32->buffer),
    };
    NTSTATUS status;
    status = ext_glFeedbackBufferxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glFinalCombinerInputNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum variable;
        GLenum input;
        GLenum mapping;
        GLenum componentUsage;
    } *params32 = args;
    struct glFinalCombinerInputNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .variable = params32->variable,
        .input = params32->input,
        .mapping = params32->mapping,
        .componentUsage = params32->componentUsage,
    };
    NTSTATUS status;
    status = ext_glFinalCombinerInputNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glFinishAsyncSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 markerp;
        GLint ret;
    } *params32 = args;
    struct glFinishAsyncSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .markerp = ULongToPtr(params32->markerp),
    };
    NTSTATUS status;
    status = ext_glFinishAsyncSGIX( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glFinishFenceAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint fence;
    } *params32 = args;
    struct glFinishFenceAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .fence = params32->fence,
    };
    NTSTATUS status;
    status = ext_glFinishFenceAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glFinishFenceNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint fence;
    } *params32 = args;
    struct glFinishFenceNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .fence = params32->fence,
    };
    NTSTATUS status;
    status = ext_glFinishFenceNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glFinishObjectAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum object;
        GLint name;
    } *params32 = args;
    struct glFinishObjectAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .object = params32->object,
        .name = params32->name,
    };
    NTSTATUS status;
    status = ext_glFinishObjectAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glFinishTextureSUNX( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glFinishTextureSUNX_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glFinishTextureSUNX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFlushMappedBufferRange( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 offset;
        PTR32 length;
    } *params32 = args;
    struct glFlushMappedBufferRange_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .length = (GLsizeiptr)ULongToPtr(params32->length),
    };
    NTSTATUS status;
    status = ext_glFlushMappedBufferRange( &params );
    return status;
}

static NTSTATUS wow64_ext_glFlushMappedBufferRangeAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 offset;
        PTR32 size;
    } *params32 = args;
    struct glFlushMappedBufferRangeAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glFlushMappedBufferRangeAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glFlushMappedNamedBufferRange( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 offset;
        PTR32 length;
    } *params32 = args;
    struct glFlushMappedNamedBufferRange_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .length = (GLsizeiptr)ULongToPtr(params32->length),
    };
    NTSTATUS status;
    status = ext_glFlushMappedNamedBufferRange( &params );
    return status;
}

static NTSTATUS wow64_ext_glFlushMappedNamedBufferRangeEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 offset;
        PTR32 length;
    } *params32 = args;
    struct glFlushMappedNamedBufferRangeEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .length = (GLsizeiptr)ULongToPtr(params32->length),
    };
    NTSTATUS status;
    status = ext_glFlushMappedNamedBufferRangeEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFlushPixelDataRangeNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glFlushPixelDataRangeNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glFlushPixelDataRangeNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glFlushRasterSGIX( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glFlushRasterSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glFlushRasterSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFlushStaticDataIBM( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glFlushStaticDataIBM_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glFlushStaticDataIBM( &params );
    return status;
}

static NTSTATUS wow64_ext_glFlushVertexArrayRangeAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei length;
        PTR32 pointer;
    } *params32 = args;
    struct glFlushVertexArrayRangeAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .length = params32->length,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glFlushVertexArrayRangeAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glFlushVertexArrayRangeNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glFlushVertexArrayRangeNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glFlushVertexArrayRangeNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoordFormatNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
    } *params32 = args;
    struct glFogCoordFormatNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glFogCoordFormatNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoordPointer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glFogCoordPointer_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glFogCoordPointer( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoordPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glFogCoordPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glFogCoordPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoordPointerListIBM( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLint stride;
        PTR32 pointer;
        GLint ptrstride;
    } *params32 = args;
    struct glFogCoordPointerListIBM_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
        .ptrstride = params32->ptrstride,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glFogCoordd( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble coord;
    } *params32 = args;
    struct glFogCoordd_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
    };
    NTSTATUS status;
    status = ext_glFogCoordd( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoorddEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble coord;
    } *params32 = args;
    struct glFogCoorddEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
    };
    NTSTATUS status;
    status = ext_glFogCoorddEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoorddv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coord;
    } *params32 = args;
    struct glFogCoorddv_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = ULongToPtr(params32->coord),
    };
    NTSTATUS status;
    status = ext_glFogCoorddv( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoorddvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coord;
    } *params32 = args;
    struct glFogCoorddvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = ULongToPtr(params32->coord),
    };
    NTSTATUS status;
    status = ext_glFogCoorddvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoordf( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat coord;
    } *params32 = args;
    struct glFogCoordf_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
    };
    NTSTATUS status;
    status = ext_glFogCoordf( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoordfEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat coord;
    } *params32 = args;
    struct glFogCoordfEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
    };
    NTSTATUS status;
    status = ext_glFogCoordfEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoordfv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coord;
    } *params32 = args;
    struct glFogCoordfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = ULongToPtr(params32->coord),
    };
    NTSTATUS status;
    status = ext_glFogCoordfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoordfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coord;
    } *params32 = args;
    struct glFogCoordfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = ULongToPtr(params32->coord),
    };
    NTSTATUS status;
    status = ext_glFogCoordfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoordhNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV fog;
    } *params32 = args;
    struct glFogCoordhNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .fog = params32->fog,
    };
    NTSTATUS status;
    status = ext_glFogCoordhNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogCoordhvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 fog;
    } *params32 = args;
    struct glFogCoordhvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .fog = ULongToPtr(params32->fog),
    };
    NTSTATUS status;
    status = ext_glFogCoordhvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogFuncSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 points;
    } *params32 = args;
    struct glFogFuncSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glFogFuncSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfixed param;
    } *params32 = args;
    struct glFogxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glFogxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glFogxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glFogxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glFogxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentColorMaterialSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum mode;
    } *params32 = args;
    struct glFragmentColorMaterialSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glFragmentColorMaterialSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentCoverageColorNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint color;
    } *params32 = args;
    struct glFragmentCoverageColorNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .color = params32->color,
    };
    NTSTATUS status;
    status = ext_glFragmentCoverageColorNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentLightModelfSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glFragmentLightModelfSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glFragmentLightModelfSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentLightModelfvSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glFragmentLightModelfvSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glFragmentLightModelfvSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentLightModeliSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glFragmentLightModeliSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glFragmentLightModeliSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentLightModelivSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glFragmentLightModelivSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glFragmentLightModelivSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentLightfSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glFragmentLightfSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glFragmentLightfSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentLightfvSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glFragmentLightfvSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glFragmentLightfvSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentLightiSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glFragmentLightiSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glFragmentLightiSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentLightivSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glFragmentLightivSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glFragmentLightivSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentMaterialfSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glFragmentMaterialfSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glFragmentMaterialfSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentMaterialfvSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glFragmentMaterialfvSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glFragmentMaterialfvSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentMaterialiSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glFragmentMaterialiSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glFragmentMaterialiSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFragmentMaterialivSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glFragmentMaterialivSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glFragmentMaterialivSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFrameTerminatorGREMEDY( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glFrameTerminatorGREMEDY_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glFrameTerminatorGREMEDY( &params );
    return status;
}

static NTSTATUS wow64_ext_glFrameZoomSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLint factor;
    } *params32 = args;
    struct glFrameZoomSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
    };
    NTSTATUS status;
    status = ext_glFrameZoomSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferDrawBufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum mode;
    } *params32 = args;
    struct glFramebufferDrawBufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glFramebufferDrawBufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferDrawBuffersEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLsizei n;
        PTR32 bufs;
    } *params32 = args;
    struct glFramebufferDrawBuffersEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .n = params32->n,
        .bufs = ULongToPtr(params32->bufs),
    };
    NTSTATUS status;
    status = ext_glFramebufferDrawBuffersEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferFetchBarrierEXT( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glFramebufferFetchBarrierEXT_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glFramebufferFetchBarrierEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferParameteri( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glFramebufferParameteri_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glFramebufferParameteri( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferParameteriMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glFramebufferParameteriMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glFramebufferParameteriMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferReadBufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum mode;
    } *params32 = args;
    struct glFramebufferReadBufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glFramebufferReadBufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferRenderbuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLenum renderbuffertarget;
        GLuint renderbuffer;
    } *params32 = args;
    struct glFramebufferRenderbuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .renderbuffertarget = params32->renderbuffertarget,
        .renderbuffer = params32->renderbuffer,
    };
    NTSTATUS status;
    status = ext_glFramebufferRenderbuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferRenderbufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLenum renderbuffertarget;
        GLuint renderbuffer;
    } *params32 = args;
    struct glFramebufferRenderbufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .renderbuffertarget = params32->renderbuffertarget,
        .renderbuffer = params32->renderbuffer,
    };
    NTSTATUS status;
    status = ext_glFramebufferRenderbufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferSampleLocationsfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint start;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glFramebufferSampleLocationsfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .start = params32->start,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glFramebufferSampleLocationsfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferSampleLocationsfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint start;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glFramebufferSampleLocationsfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .start = params32->start,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glFramebufferSampleLocationsfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferSamplePositionsfvAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint numsamples;
        GLuint pixelindex;
        PTR32 values;
    } *params32 = args;
    struct glFramebufferSamplePositionsfvAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .numsamples = params32->numsamples,
        .pixelindex = params32->pixelindex,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glFramebufferSamplePositionsfvAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTexture( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glFramebufferTexture_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glFramebufferTexture( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTexture1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLenum textarget;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glFramebufferTexture1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .textarget = params32->textarget,
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glFramebufferTexture1D( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTexture1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLenum textarget;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glFramebufferTexture1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .textarget = params32->textarget,
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glFramebufferTexture1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTexture2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLenum textarget;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glFramebufferTexture2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .textarget = params32->textarget,
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glFramebufferTexture2D( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTexture2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLenum textarget;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glFramebufferTexture2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .textarget = params32->textarget,
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glFramebufferTexture2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTexture3D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLenum textarget;
        GLuint texture;
        GLint level;
        GLint zoffset;
    } *params32 = args;
    struct glFramebufferTexture3D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .textarget = params32->textarget,
        .texture = params32->texture,
        .level = params32->level,
        .zoffset = params32->zoffset,
    };
    NTSTATUS status;
    status = ext_glFramebufferTexture3D( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTexture3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLenum textarget;
        GLuint texture;
        GLint level;
        GLint zoffset;
    } *params32 = args;
    struct glFramebufferTexture3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .textarget = params32->textarget,
        .texture = params32->texture,
        .level = params32->level,
        .zoffset = params32->zoffset,
    };
    NTSTATUS status;
    status = ext_glFramebufferTexture3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTextureARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glFramebufferTextureARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glFramebufferTextureARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTextureEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glFramebufferTextureEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glFramebufferTextureEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTextureFaceARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLuint texture;
        GLint level;
        GLenum face;
    } *params32 = args;
    struct glFramebufferTextureFaceARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
        .face = params32->face,
    };
    NTSTATUS status;
    status = ext_glFramebufferTextureFaceARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTextureFaceEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLuint texture;
        GLint level;
        GLenum face;
    } *params32 = args;
    struct glFramebufferTextureFaceEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
        .face = params32->face,
    };
    NTSTATUS status;
    status = ext_glFramebufferTextureFaceEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTextureLayer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLuint texture;
        GLint level;
        GLint layer;
    } *params32 = args;
    struct glFramebufferTextureLayer_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
        .layer = params32->layer,
    };
    NTSTATUS status;
    status = ext_glFramebufferTextureLayer( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTextureLayerARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLuint texture;
        GLint level;
        GLint layer;
    } *params32 = args;
    struct glFramebufferTextureLayerARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
        .layer = params32->layer,
    };
    NTSTATUS status;
    status = ext_glFramebufferTextureLayerARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTextureLayerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLuint texture;
        GLint level;
        GLint layer;
    } *params32 = args;
    struct glFramebufferTextureLayerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
        .layer = params32->layer,
    };
    NTSTATUS status;
    status = ext_glFramebufferTextureLayerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glFramebufferTextureMultiviewOVR( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLuint texture;
        GLint level;
        GLint baseViewIndex;
        GLsizei numViews;
    } *params32 = args;
    struct glFramebufferTextureMultiviewOVR_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
        .baseViewIndex = params32->baseViewIndex,
        .numViews = params32->numViews,
    };
    NTSTATUS status;
    status = ext_glFramebufferTextureMultiviewOVR( &params );
    return status;
}

static NTSTATUS wow64_ext_glFreeObjectBufferATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
    } *params32 = args;
    struct glFreeObjectBufferATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glFreeObjectBufferATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glFrustumfOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat l;
        GLfloat r;
        GLfloat b;
        GLfloat t;
        GLfloat n;
        GLfloat f;
    } *params32 = args;
    struct glFrustumfOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .l = params32->l,
        .r = params32->r,
        .b = params32->b,
        .t = params32->t,
        .n = params32->n,
        .f = params32->f,
    };
    NTSTATUS status;
    status = ext_glFrustumfOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glFrustumxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed l;
        GLfixed r;
        GLfixed b;
        GLfixed t;
        GLfixed n;
        GLfixed f;
    } *params32 = args;
    struct glFrustumxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .l = params32->l,
        .r = params32->r,
        .b = params32->b,
        .t = params32->t,
        .n = params32->n,
        .f = params32->f,
    };
    NTSTATUS status;
    status = ext_glFrustumxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenAsyncMarkersSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei range;
        GLuint ret;
    } *params32 = args;
    struct glGenAsyncMarkersSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .range = params32->range,
    };
    NTSTATUS status;
    status = ext_glGenAsyncMarkersSGIX( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGenBuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 buffers;
    } *params32 = args;
    struct glGenBuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .buffers = ULongToPtr(params32->buffers),
    };
    NTSTATUS status;
    status = ext_glGenBuffers( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenBuffersARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 buffers;
    } *params32 = args;
    struct glGenBuffersARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .buffers = ULongToPtr(params32->buffers),
    };
    NTSTATUS status;
    status = ext_glGenBuffersARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenFencesAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 fences;
    } *params32 = args;
    struct glGenFencesAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .fences = ULongToPtr(params32->fences),
    };
    NTSTATUS status;
    status = ext_glGenFencesAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenFencesNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 fences;
    } *params32 = args;
    struct glGenFencesNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .fences = ULongToPtr(params32->fences),
    };
    NTSTATUS status;
    status = ext_glGenFencesNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenFragmentShadersATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint range;
        GLuint ret;
    } *params32 = args;
    struct glGenFragmentShadersATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .range = params32->range,
    };
    NTSTATUS status;
    status = ext_glGenFragmentShadersATI( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGenFramebuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 framebuffers;
    } *params32 = args;
    struct glGenFramebuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .framebuffers = ULongToPtr(params32->framebuffers),
    };
    NTSTATUS status;
    status = ext_glGenFramebuffers( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenFramebuffersEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 framebuffers;
    } *params32 = args;
    struct glGenFramebuffersEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .framebuffers = ULongToPtr(params32->framebuffers),
    };
    NTSTATUS status;
    status = ext_glGenFramebuffersEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenNamesAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum identifier;
        GLuint num;
        PTR32 names;
    } *params32 = args;
    struct glGenNamesAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .identifier = params32->identifier,
        .num = params32->num,
        .names = ULongToPtr(params32->names),
    };
    NTSTATUS status;
    status = ext_glGenNamesAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenOcclusionQueriesNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glGenOcclusionQueriesNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glGenOcclusionQueriesNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenPathsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei range;
        GLuint ret;
    } *params32 = args;
    struct glGenPathsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .range = params32->range,
    };
    NTSTATUS status;
    status = ext_glGenPathsNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGenPerfMonitorsAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 monitors;
    } *params32 = args;
    struct glGenPerfMonitorsAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .monitors = ULongToPtr(params32->monitors),
    };
    NTSTATUS status;
    status = ext_glGenPerfMonitorsAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenProgramPipelines( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 pipelines;
    } *params32 = args;
    struct glGenProgramPipelines_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .pipelines = ULongToPtr(params32->pipelines),
    };
    NTSTATUS status;
    status = ext_glGenProgramPipelines( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenProgramsARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 programs;
    } *params32 = args;
    struct glGenProgramsARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .programs = ULongToPtr(params32->programs),
    };
    NTSTATUS status;
    status = ext_glGenProgramsARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenProgramsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 programs;
    } *params32 = args;
    struct glGenProgramsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .programs = ULongToPtr(params32->programs),
    };
    NTSTATUS status;
    status = ext_glGenProgramsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenQueries( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glGenQueries_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glGenQueries( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenQueriesARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glGenQueriesARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glGenQueriesARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenQueryResourceTagNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 tagIds;
    } *params32 = args;
    struct glGenQueryResourceTagNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .tagIds = ULongToPtr(params32->tagIds),
    };
    NTSTATUS status;
    status = ext_glGenQueryResourceTagNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenRenderbuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 renderbuffers;
    } *params32 = args;
    struct glGenRenderbuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .renderbuffers = ULongToPtr(params32->renderbuffers),
    };
    NTSTATUS status;
    status = ext_glGenRenderbuffers( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenRenderbuffersEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 renderbuffers;
    } *params32 = args;
    struct glGenRenderbuffersEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .renderbuffers = ULongToPtr(params32->renderbuffers),
    };
    NTSTATUS status;
    status = ext_glGenRenderbuffersEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenSamplers( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei count;
        PTR32 samplers;
    } *params32 = args;
    struct glGenSamplers_params params =
    {
        .teb = get_teb64(params32->teb),
        .count = params32->count,
        .samplers = ULongToPtr(params32->samplers),
    };
    NTSTATUS status;
    status = ext_glGenSamplers( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenSemaphoresEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 semaphores;
    } *params32 = args;
    struct glGenSemaphoresEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .semaphores = ULongToPtr(params32->semaphores),
    };
    NTSTATUS status;
    status = ext_glGenSemaphoresEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenSymbolsEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum datatype;
        GLenum storagetype;
        GLenum range;
        GLuint components;
        GLuint ret;
    } *params32 = args;
    struct glGenSymbolsEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .datatype = params32->datatype,
        .storagetype = params32->storagetype,
        .range = params32->range,
        .components = params32->components,
    };
    NTSTATUS status;
    status = ext_glGenSymbolsEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGenTexturesEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 textures;
    } *params32 = args;
    struct glGenTexturesEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .textures = ULongToPtr(params32->textures),
    };
    NTSTATUS status;
    status = ext_glGenTexturesEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenTransformFeedbacks( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glGenTransformFeedbacks_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glGenTransformFeedbacks( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenTransformFeedbacksNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 ids;
    } *params32 = args;
    struct glGenTransformFeedbacksNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .ids = ULongToPtr(params32->ids),
    };
    NTSTATUS status;
    status = ext_glGenTransformFeedbacksNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenVertexArrays( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 arrays;
    } *params32 = args;
    struct glGenVertexArrays_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .arrays = ULongToPtr(params32->arrays),
    };
    NTSTATUS status;
    status = ext_glGenVertexArrays( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenVertexArraysAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 arrays;
    } *params32 = args;
    struct glGenVertexArraysAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .arrays = ULongToPtr(params32->arrays),
    };
    NTSTATUS status;
    status = ext_glGenVertexArraysAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenVertexShadersEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint range;
        GLuint ret;
    } *params32 = args;
    struct glGenVertexShadersEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .range = params32->range,
    };
    NTSTATUS status;
    status = ext_glGenVertexShadersEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGenerateMipmap( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glGenerateMipmap_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glGenerateMipmap( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenerateMipmapEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glGenerateMipmapEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glGenerateMipmapEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenerateMultiTexMipmapEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
    } *params32 = args;
    struct glGenerateMultiTexMipmapEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glGenerateMultiTexMipmapEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenerateTextureMipmap( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
    } *params32 = args;
    struct glGenerateTextureMipmap_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glGenerateTextureMipmap( &params );
    return status;
}

static NTSTATUS wow64_ext_glGenerateTextureMipmapEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
    } *params32 = args;
    struct glGenerateTextureMipmapEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glGenerateTextureMipmapEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveAtomicCounterBufferiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint bufferIndex;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetActiveAtomicCounterBufferiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .bufferIndex = params32->bufferIndex,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetActiveAtomicCounterBufferiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveAttrib( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint index;
        GLsizei bufSize;
        PTR32 length;
        PTR32 size;
        PTR32 type;
        PTR32 name;
    } *params32 = args;
    struct glGetActiveAttrib_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .index = params32->index,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .size = ULongToPtr(params32->size),
        .type = ULongToPtr(params32->type),
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetActiveAttrib( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveAttribARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB programObj;
        GLuint index;
        GLsizei maxLength;
        PTR32 length;
        PTR32 size;
        PTR32 type;
        PTR32 name;
    } *params32 = args;
    struct glGetActiveAttribARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .programObj = params32->programObj,
        .index = params32->index,
        .maxLength = params32->maxLength,
        .length = ULongToPtr(params32->length),
        .size = ULongToPtr(params32->size),
        .type = ULongToPtr(params32->type),
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetActiveAttribARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveSubroutineName( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum shadertype;
        GLuint index;
        GLsizei bufSize;
        PTR32 length;
        PTR32 name;
    } *params32 = args;
    struct glGetActiveSubroutineName_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .shadertype = params32->shadertype,
        .index = params32->index,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetActiveSubroutineName( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveSubroutineUniformName( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum shadertype;
        GLuint index;
        GLsizei bufSize;
        PTR32 length;
        PTR32 name;
    } *params32 = args;
    struct glGetActiveSubroutineUniformName_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .shadertype = params32->shadertype,
        .index = params32->index,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetActiveSubroutineUniformName( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveSubroutineUniformiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum shadertype;
        GLuint index;
        GLenum pname;
        PTR32 values;
    } *params32 = args;
    struct glGetActiveSubroutineUniformiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .shadertype = params32->shadertype,
        .index = params32->index,
        .pname = params32->pname,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetActiveSubroutineUniformiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveUniform( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint index;
        GLsizei bufSize;
        PTR32 length;
        PTR32 size;
        PTR32 type;
        PTR32 name;
    } *params32 = args;
    struct glGetActiveUniform_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .index = params32->index,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .size = ULongToPtr(params32->size),
        .type = ULongToPtr(params32->type),
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetActiveUniform( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveUniformARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB programObj;
        GLuint index;
        GLsizei maxLength;
        PTR32 length;
        PTR32 size;
        PTR32 type;
        PTR32 name;
    } *params32 = args;
    struct glGetActiveUniformARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .programObj = params32->programObj,
        .index = params32->index,
        .maxLength = params32->maxLength,
        .length = ULongToPtr(params32->length),
        .size = ULongToPtr(params32->size),
        .type = ULongToPtr(params32->type),
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetActiveUniformARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveUniformBlockName( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint uniformBlockIndex;
        GLsizei bufSize;
        PTR32 length;
        PTR32 uniformBlockName;
    } *params32 = args;
    struct glGetActiveUniformBlockName_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .uniformBlockIndex = params32->uniformBlockIndex,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .uniformBlockName = ULongToPtr(params32->uniformBlockName),
    };
    NTSTATUS status;
    status = ext_glGetActiveUniformBlockName( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveUniformBlockiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint uniformBlockIndex;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetActiveUniformBlockiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .uniformBlockIndex = params32->uniformBlockIndex,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetActiveUniformBlockiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveUniformName( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint uniformIndex;
        GLsizei bufSize;
        PTR32 length;
        PTR32 uniformName;
    } *params32 = args;
    struct glGetActiveUniformName_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .uniformIndex = params32->uniformIndex,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .uniformName = ULongToPtr(params32->uniformName),
    };
    NTSTATUS status;
    status = ext_glGetActiveUniformName( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveUniformsiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLsizei uniformCount;
        PTR32 uniformIndices;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetActiveUniformsiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .uniformCount = params32->uniformCount,
        .uniformIndices = ULongToPtr(params32->uniformIndices),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetActiveUniformsiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetActiveVaryingNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint index;
        GLsizei bufSize;
        PTR32 length;
        PTR32 size;
        PTR32 type;
        PTR32 name;
    } *params32 = args;
    struct glGetActiveVaryingNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .index = params32->index,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .size = ULongToPtr(params32->size),
        .type = ULongToPtr(params32->type),
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetActiveVaryingNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetArrayObjectfvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum array;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetArrayObjectfvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetArrayObjectfvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetArrayObjectivATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum array;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetArrayObjectivATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetArrayObjectivATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetAttachedObjectsARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB containerObj;
        GLsizei maxCount;
        PTR32 count;
        PTR32 obj;
    } *params32 = args;
    struct glGetAttachedObjectsARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .containerObj = params32->containerObj,
        .maxCount = params32->maxCount,
        .count = ULongToPtr(params32->count),
        .obj = ULongToPtr(params32->obj),
    };
    NTSTATUS status;
    status = ext_glGetAttachedObjectsARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetAttachedShaders( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLsizei maxCount;
        PTR32 count;
        PTR32 shaders;
    } *params32 = args;
    struct glGetAttachedShaders_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .maxCount = params32->maxCount,
        .count = ULongToPtr(params32->count),
        .shaders = ULongToPtr(params32->shaders),
    };
    NTSTATUS status;
    status = ext_glGetAttachedShaders( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetAttribLocation( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        PTR32 name;
        GLint ret;
    } *params32 = args;
    struct glGetAttribLocation_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetAttribLocation( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetAttribLocationARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB programObj;
        PTR32 name;
        GLint ret;
    } *params32 = args;
    struct glGetAttribLocationARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .programObj = params32->programObj,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetAttribLocationARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetBooleanIndexedvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 data;
    } *params32 = args;
    struct glGetBooleanIndexedvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetBooleanIndexedvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetBooleani_v( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 data;
    } *params32 = args;
    struct glGetBooleani_v_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetBooleani_v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetBufferParameteri64v( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetBufferParameteri64v_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetBufferParameteri64v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetBufferParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetBufferParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetBufferParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetBufferParameterivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetBufferParameterivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetBufferParameterivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetBufferParameterui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetBufferParameterui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetBufferParameterui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetBufferSubData( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 offset;
        PTR32 size;
        PTR32 data;
    } *params32 = args;
    struct glGetBufferSubData_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetBufferSubData( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetBufferSubDataARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 offset;
        PTR32 size;
        PTR32 data;
    } *params32 = args;
    struct glGetBufferSubDataARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .offset = (GLintptrARB)ULongToPtr(params32->offset),
        .size = (GLsizeiptrARB)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetBufferSubDataARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetClipPlanefOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum plane;
        PTR32 equation;
    } *params32 = args;
    struct glGetClipPlanefOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .plane = params32->plane,
        .equation = ULongToPtr(params32->equation),
    };
    NTSTATUS status;
    status = ext_glGetClipPlanefOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetClipPlanexOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum plane;
        PTR32 equation;
    } *params32 = args;
    struct glGetClipPlanexOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .plane = params32->plane,
        .equation = ULongToPtr(params32->equation),
    };
    NTSTATUS status;
    status = ext_glGetClipPlanexOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetColorTable( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        PTR32 table;
    } *params32 = args;
    struct glGetColorTable_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .table = ULongToPtr(params32->table),
    };
    NTSTATUS status;
    status = ext_glGetColorTable( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetColorTableEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        PTR32 data;
    } *params32 = args;
    struct glGetColorTableEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetColorTableEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetColorTableParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetColorTableParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetColorTableParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetColorTableParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetColorTableParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetColorTableParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetColorTableParameterfvSGI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetColorTableParameterfvSGI_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetColorTableParameterfvSGI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetColorTableParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetColorTableParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetColorTableParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetColorTableParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetColorTableParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetColorTableParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetColorTableParameterivSGI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetColorTableParameterivSGI_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetColorTableParameterivSGI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetColorTableSGI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        PTR32 table;
    } *params32 = args;
    struct glGetColorTableSGI_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .table = ULongToPtr(params32->table),
    };
    NTSTATUS status;
    status = ext_glGetColorTableSGI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCombinerInputParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stage;
        GLenum portion;
        GLenum variable;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetCombinerInputParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .stage = params32->stage,
        .portion = params32->portion,
        .variable = params32->variable,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetCombinerInputParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCombinerInputParameterivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stage;
        GLenum portion;
        GLenum variable;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetCombinerInputParameterivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .stage = params32->stage,
        .portion = params32->portion,
        .variable = params32->variable,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetCombinerInputParameterivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCombinerOutputParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stage;
        GLenum portion;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetCombinerOutputParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .stage = params32->stage,
        .portion = params32->portion,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetCombinerOutputParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCombinerOutputParameterivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stage;
        GLenum portion;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetCombinerOutputParameterivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .stage = params32->stage,
        .portion = params32->portion,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetCombinerOutputParameterivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCombinerStageParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stage;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetCombinerStageParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .stage = params32->stage,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetCombinerStageParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCommandHeaderNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum tokenID;
        GLuint size;
        GLuint ret;
    } *params32 = args;
    struct glGetCommandHeaderNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .tokenID = params32->tokenID,
        .size = params32->size,
    };
    NTSTATUS status;
    status = ext_glGetCommandHeaderNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetCompressedMultiTexImageEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint lod;
        PTR32 img;
    } *params32 = args;
    struct glGetCompressedMultiTexImageEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .lod = params32->lod,
        .img = ULongToPtr(params32->img),
    };
    NTSTATUS status;
    status = ext_glGetCompressedMultiTexImageEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCompressedTexImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        PTR32 img;
    } *params32 = args;
    struct glGetCompressedTexImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .img = ULongToPtr(params32->img),
    };
    NTSTATUS status;
    status = ext_glGetCompressedTexImage( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCompressedTexImageARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        PTR32 img;
    } *params32 = args;
    struct glGetCompressedTexImageARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .img = ULongToPtr(params32->img),
    };
    NTSTATUS status;
    status = ext_glGetCompressedTexImageARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCompressedTextureImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLsizei bufSize;
        PTR32 pixels;
    } *params32 = args;
    struct glGetCompressedTextureImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .bufSize = params32->bufSize,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glGetCompressedTextureImage( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCompressedTextureImageEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint lod;
        PTR32 img;
    } *params32 = args;
    struct glGetCompressedTextureImageEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .lod = params32->lod,
        .img = ULongToPtr(params32->img),
    };
    NTSTATUS status;
    status = ext_glGetCompressedTextureImageEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCompressedTextureSubImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLsizei bufSize;
        PTR32 pixels;
    } *params32 = args;
    struct glGetCompressedTextureSubImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .bufSize = params32->bufSize,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glGetCompressedTextureSubImage( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetConvolutionFilter( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        PTR32 image;
    } *params32 = args;
    struct glGetConvolutionFilter_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .image = ULongToPtr(params32->image),
    };
    NTSTATUS status;
    status = ext_glGetConvolutionFilter( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetConvolutionFilterEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        PTR32 image;
    } *params32 = args;
    struct glGetConvolutionFilterEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .image = ULongToPtr(params32->image),
    };
    NTSTATUS status;
    status = ext_glGetConvolutionFilterEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetConvolutionParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetConvolutionParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetConvolutionParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetConvolutionParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetConvolutionParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetConvolutionParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetConvolutionParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetConvolutionParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetConvolutionParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetConvolutionParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetConvolutionParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetConvolutionParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetConvolutionParameterxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetConvolutionParameterxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetConvolutionParameterxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetCoverageModulationTableNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei bufSize;
        PTR32 v;
    } *params32 = args;
    struct glGetCoverageModulationTableNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .bufSize = params32->bufSize,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glGetCoverageModulationTableNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetDebugMessageLog( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint count;
        GLsizei bufSize;
        PTR32 sources;
        PTR32 types;
        PTR32 ids;
        PTR32 severities;
        PTR32 lengths;
        PTR32 messageLog;
        GLuint ret;
    } *params32 = args;
    struct glGetDebugMessageLog_params params =
    {
        .teb = get_teb64(params32->teb),
        .count = params32->count,
        .bufSize = params32->bufSize,
        .sources = ULongToPtr(params32->sources),
        .types = ULongToPtr(params32->types),
        .ids = ULongToPtr(params32->ids),
        .severities = ULongToPtr(params32->severities),
        .lengths = ULongToPtr(params32->lengths),
        .messageLog = ULongToPtr(params32->messageLog),
    };
    NTSTATUS status;
    status = ext_glGetDebugMessageLog( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetDebugMessageLogAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint count;
        GLsizei bufSize;
        PTR32 categories;
        PTR32 severities;
        PTR32 ids;
        PTR32 lengths;
        PTR32 message;
        GLuint ret;
    } *params32 = args;
    struct glGetDebugMessageLogAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .count = params32->count,
        .bufSize = params32->bufSize,
        .categories = ULongToPtr(params32->categories),
        .severities = ULongToPtr(params32->severities),
        .ids = ULongToPtr(params32->ids),
        .lengths = ULongToPtr(params32->lengths),
        .message = ULongToPtr(params32->message),
    };
    NTSTATUS status;
    status = ext_glGetDebugMessageLogAMD( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetDebugMessageLogARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint count;
        GLsizei bufSize;
        PTR32 sources;
        PTR32 types;
        PTR32 ids;
        PTR32 severities;
        PTR32 lengths;
        PTR32 messageLog;
        GLuint ret;
    } *params32 = args;
    struct glGetDebugMessageLogARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .count = params32->count,
        .bufSize = params32->bufSize,
        .sources = ULongToPtr(params32->sources),
        .types = ULongToPtr(params32->types),
        .ids = ULongToPtr(params32->ids),
        .severities = ULongToPtr(params32->severities),
        .lengths = ULongToPtr(params32->lengths),
        .messageLog = ULongToPtr(params32->messageLog),
    };
    NTSTATUS status;
    status = ext_glGetDebugMessageLogARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetDetailTexFuncSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 points;
    } *params32 = args;
    struct glGetDetailTexFuncSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glGetDetailTexFuncSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetDoubleIndexedvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 data;
    } *params32 = args;
    struct glGetDoubleIndexedvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetDoubleIndexedvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetDoublei_v( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 data;
    } *params32 = args;
    struct glGetDoublei_v_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetDoublei_v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetDoublei_vEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetDoublei_vEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetDoublei_vEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFenceivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint fence;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFenceivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .fence = params32->fence,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFenceivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFinalCombinerInputParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum variable;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFinalCombinerInputParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .variable = params32->variable,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFinalCombinerInputParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFinalCombinerInputParameterivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum variable;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFinalCombinerInputParameterivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .variable = params32->variable,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFinalCombinerInputParameterivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFirstPerfQueryIdINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 queryId;
    } *params32 = args;
    struct glGetFirstPerfQueryIdINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .queryId = ULongToPtr(params32->queryId),
    };
    NTSTATUS status;
    status = ext_glGetFirstPerfQueryIdINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFixedvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFixedvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFixedvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFloatIndexedvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 data;
    } *params32 = args;
    struct glGetFloatIndexedvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetFloatIndexedvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFloati_v( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 data;
    } *params32 = args;
    struct glGetFloati_v_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetFloati_v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFloati_vEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetFloati_vEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFloati_vEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFogFuncSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 points;
    } *params32 = args;
    struct glGetFogFuncSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glGetFogFuncSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFragDataIndex( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        PTR32 name;
        GLint ret;
    } *params32 = args;
    struct glGetFragDataIndex_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetFragDataIndex( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetFragDataLocation( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        PTR32 name;
        GLint ret;
    } *params32 = args;
    struct glGetFragDataLocation_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetFragDataLocation( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetFragDataLocationEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        PTR32 name;
        GLint ret;
    } *params32 = args;
    struct glGetFragDataLocationEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetFragDataLocationEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetFragmentLightfvSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFragmentLightfvSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFragmentLightfvSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFragmentLightivSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFragmentLightivSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFragmentLightivSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFragmentMaterialfvSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFragmentMaterialfvSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFragmentMaterialfvSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFragmentMaterialivSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFragmentMaterialivSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFragmentMaterialivSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFramebufferAttachmentParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFramebufferAttachmentParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFramebufferAttachmentParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFramebufferAttachmentParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum attachment;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFramebufferAttachmentParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .attachment = params32->attachment,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFramebufferAttachmentParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFramebufferParameterfvAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLuint numsamples;
        GLuint pixelindex;
        GLsizei size;
        PTR32 values;
    } *params32 = args;
    struct glGetFramebufferParameterfvAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .numsamples = params32->numsamples,
        .pixelindex = params32->pixelindex,
        .size = params32->size,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetFramebufferParameterfvAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFramebufferParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFramebufferParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFramebufferParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFramebufferParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFramebufferParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFramebufferParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetFramebufferParameterivMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetFramebufferParameterivMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetFramebufferParameterivMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetGraphicsResetStatus( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum ret;
    } *params32 = args;
    struct glGetGraphicsResetStatus_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glGetGraphicsResetStatus( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetGraphicsResetStatusARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum ret;
    } *params32 = args;
    struct glGetGraphicsResetStatusARB_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glGetGraphicsResetStatusARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetHandleARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLhandleARB ret;
    } *params32 = args;
    struct glGetHandleARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
    };
    NTSTATUS status;
    status = ext_glGetHandleARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetHistogram( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLboolean reset;
        GLenum format;
        GLenum type;
        PTR32 values;
    } *params32 = args;
    struct glGetHistogram_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .reset = params32->reset,
        .format = params32->format,
        .type = params32->type,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetHistogram( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetHistogramEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLboolean reset;
        GLenum format;
        GLenum type;
        PTR32 values;
    } *params32 = args;
    struct glGetHistogramEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .reset = params32->reset,
        .format = params32->format,
        .type = params32->type,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetHistogramEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetHistogramParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetHistogramParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetHistogramParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetHistogramParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetHistogramParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetHistogramParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetHistogramParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetHistogramParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetHistogramParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetHistogramParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetHistogramParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetHistogramParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetHistogramParameterxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetHistogramParameterxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetHistogramParameterxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetImageHandleARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLboolean layered;
        GLint layer;
        GLenum format;
        GLuint64 ret;
    } *params32 = args;
    struct glGetImageHandleARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .layered = params32->layered,
        .layer = params32->layer,
        .format = params32->format,
    };
    NTSTATUS status;
    status = ext_glGetImageHandleARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetImageHandleNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLboolean layered;
        GLint layer;
        GLenum format;
        GLuint64 ret;
    } *params32 = args;
    struct glGetImageHandleNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .layered = params32->layered,
        .layer = params32->layer,
        .format = params32->format,
    };
    NTSTATUS status;
    status = ext_glGetImageHandleNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetImageTransformParameterfvHP( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetImageTransformParameterfvHP_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetImageTransformParameterfvHP( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetImageTransformParameterivHP( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetImageTransformParameterivHP_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetImageTransformParameterivHP( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetInfoLogARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB obj;
        GLsizei maxLength;
        PTR32 length;
        PTR32 infoLog;
    } *params32 = args;
    struct glGetInfoLogARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .obj = params32->obj,
        .maxLength = params32->maxLength,
        .length = ULongToPtr(params32->length),
        .infoLog = ULongToPtr(params32->infoLog),
    };
    NTSTATUS status;
    status = ext_glGetInfoLogARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetInstrumentsSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLint ret;
    } *params32 = args;
    struct glGetInstrumentsSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glGetInstrumentsSGIX( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetInteger64i_v( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 data;
    } *params32 = args;
    struct glGetInteger64i_v_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetInteger64i_v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetInteger64v( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 data;
    } *params32 = args;
    struct glGetInteger64v_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetInteger64v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetIntegerIndexedvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 data;
    } *params32 = args;
    struct glGetIntegerIndexedvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetIntegerIndexedvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetIntegeri_v( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 data;
    } *params32 = args;
    struct glGetIntegeri_v_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetIntegeri_v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetIntegerui64i_vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum value;
        GLuint index;
        PTR32 result;
    } *params32 = args;
    struct glGetIntegerui64i_vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .value = params32->value,
        .index = params32->index,
        .result = ULongToPtr(params32->result),
    };
    NTSTATUS status;
    status = ext_glGetIntegerui64i_vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetIntegerui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum value;
        PTR32 result;
    } *params32 = args;
    struct glGetIntegerui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .value = params32->value,
        .result = ULongToPtr(params32->result),
    };
    NTSTATUS status;
    status = ext_glGetIntegerui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetInternalformatSampleivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLsizei samples;
        GLenum pname;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glGetInternalformatSampleivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .samples = params32->samples,
        .pname = params32->pname,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetInternalformatSampleivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetInternalformati64v( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLenum pname;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glGetInternalformati64v_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .pname = params32->pname,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetInternalformati64v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetInternalformativ( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLenum pname;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glGetInternalformativ_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .pname = params32->pname,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetInternalformativ( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetInvariantBooleanvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum value;
        PTR32 data;
    } *params32 = args;
    struct glGetInvariantBooleanvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .value = params32->value,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetInvariantBooleanvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetInvariantFloatvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum value;
        PTR32 data;
    } *params32 = args;
    struct glGetInvariantFloatvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .value = params32->value,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetInvariantFloatvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetInvariantIntegervEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum value;
        PTR32 data;
    } *params32 = args;
    struct glGetInvariantIntegervEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .value = params32->value,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetInvariantIntegervEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetLightxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetLightxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetLightxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetListParameterfvSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetListParameterfvSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetListParameterfvSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetListParameterivSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetListParameterivSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetListParameterivSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetLocalConstantBooleanvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum value;
        PTR32 data;
    } *params32 = args;
    struct glGetLocalConstantBooleanvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .value = params32->value,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetLocalConstantBooleanvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetLocalConstantFloatvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum value;
        PTR32 data;
    } *params32 = args;
    struct glGetLocalConstantFloatvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .value = params32->value,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetLocalConstantFloatvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetLocalConstantIntegervEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum value;
        PTR32 data;
    } *params32 = args;
    struct glGetLocalConstantIntegervEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .value = params32->value,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetLocalConstantIntegervEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMapAttribParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMapAttribParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMapAttribParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMapAttribParameterivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMapAttribParameterivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMapAttribParameterivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMapControlPointsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLenum type;
        GLsizei ustride;
        GLsizei vstride;
        GLboolean packed;
        PTR32 points;
    } *params32 = args;
    struct glGetMapControlPointsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .type = params32->type,
        .ustride = params32->ustride,
        .vstride = params32->vstride,
        .packed = params32->packed,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glGetMapControlPointsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMapParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMapParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMapParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMapParameterivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMapParameterivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMapParameterivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMapxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum query;
        PTR32 v;
    } *params32 = args;
    struct glGetMapxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .query = params32->query,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glGetMapxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMaterialxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        GLfixed param;
    } *params32 = args;
    struct glGetMaterialxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glGetMaterialxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMemoryObjectDetachedResourcesuivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint memory;
        GLenum pname;
        GLint first;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glGetMemoryObjectDetachedResourcesuivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .memory = params32->memory,
        .pname = params32->pname,
        .first = params32->first,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMemoryObjectDetachedResourcesuivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMemoryObjectParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint memoryObject;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMemoryObjectParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .memoryObject = params32->memoryObject,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMemoryObjectParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMinmax( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLboolean reset;
        GLenum format;
        GLenum type;
        PTR32 values;
    } *params32 = args;
    struct glGetMinmax_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .reset = params32->reset,
        .format = params32->format,
        .type = params32->type,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetMinmax( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMinmaxEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLboolean reset;
        GLenum format;
        GLenum type;
        PTR32 values;
    } *params32 = args;
    struct glGetMinmaxEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .reset = params32->reset,
        .format = params32->format,
        .type = params32->type,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetMinmaxEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMinmaxParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMinmaxParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMinmaxParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMinmaxParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMinmaxParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMinmaxParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMinmaxParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMinmaxParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMinmaxParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMinmaxParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMinmaxParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMinmaxParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexEnvfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMultiTexEnvfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexEnvfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexEnvivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMultiTexEnvivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexEnvivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexGendvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMultiTexGendvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexGendvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexGenfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMultiTexGenfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexGenfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexGenivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMultiTexGenivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexGenivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexImageEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glGetMultiTexImageEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexImageEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexLevelParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMultiTexLevelParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexLevelParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexLevelParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMultiTexLevelParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexLevelParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexParameterIivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMultiTexParameterIivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexParameterIivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexParameterIuivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMultiTexParameterIuivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexParameterIuivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMultiTexParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultiTexParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetMultiTexParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetMultiTexParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultisamplefv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLuint index;
        PTR32 val;
    } *params32 = args;
    struct glGetMultisamplefv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .index = params32->index,
        .val = ULongToPtr(params32->val),
    };
    NTSTATUS status;
    status = ext_glGetMultisamplefv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetMultisamplefvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLuint index;
        PTR32 val;
    } *params32 = args;
    struct glGetMultisamplefvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .index = params32->index,
        .val = ULongToPtr(params32->val),
    };
    NTSTATUS status;
    status = ext_glGetMultisamplefvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedBufferParameteri64v( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedBufferParameteri64v_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedBufferParameteri64v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedBufferParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedBufferParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedBufferParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedBufferParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedBufferParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedBufferParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedBufferParameterui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedBufferParameterui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedBufferParameterui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedBufferSubData( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
        PTR32 data;
    } *params32 = args;
    struct glGetNamedBufferSubData_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetNamedBufferSubData( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedBufferSubDataEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
        PTR32 data;
    } *params32 = args;
    struct glGetNamedBufferSubDataEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetNamedBufferSubDataEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedFramebufferAttachmentParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedFramebufferAttachmentParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedFramebufferAttachmentParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedFramebufferAttachmentParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedFramebufferAttachmentParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedFramebufferAttachmentParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedFramebufferParameterfvAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum pname;
        GLuint numsamples;
        GLuint pixelindex;
        GLsizei size;
        PTR32 values;
    } *params32 = args;
    struct glGetNamedFramebufferParameterfvAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .pname = params32->pname,
        .numsamples = params32->numsamples,
        .pixelindex = params32->pixelindex,
        .size = params32->size,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetNamedFramebufferParameterfvAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedFramebufferParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glGetNamedFramebufferParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetNamedFramebufferParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedFramebufferParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedFramebufferParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedFramebufferParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedProgramLocalParameterIivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedProgramLocalParameterIivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedProgramLocalParameterIivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedProgramLocalParameterIuivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedProgramLocalParameterIuivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedProgramLocalParameterIuivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedProgramLocalParameterdvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedProgramLocalParameterdvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedProgramLocalParameterdvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedProgramLocalParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedProgramLocalParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedProgramLocalParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedProgramStringEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLenum pname;
        PTR32 string;
    } *params32 = args;
    struct glGetNamedProgramStringEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .pname = params32->pname,
        .string = ULongToPtr(params32->string),
    };
    NTSTATUS status;
    status = ext_glGetNamedProgramStringEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedProgramivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedProgramivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedProgramivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedRenderbufferParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint renderbuffer;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedRenderbufferParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .renderbuffer = params32->renderbuffer,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedRenderbufferParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedRenderbufferParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint renderbuffer;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedRenderbufferParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .renderbuffer = params32->renderbuffer,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedRenderbufferParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedStringARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint namelen;
        PTR32 name;
        GLsizei bufSize;
        PTR32 stringlen;
        PTR32 string;
    } *params32 = args;
    struct glGetNamedStringARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .namelen = params32->namelen,
        .name = ULongToPtr(params32->name),
        .bufSize = params32->bufSize,
        .stringlen = ULongToPtr(params32->stringlen),
        .string = ULongToPtr(params32->string),
    };
    NTSTATUS status;
    status = ext_glGetNamedStringARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNamedStringivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint namelen;
        PTR32 name;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetNamedStringivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .namelen = params32->namelen,
        .name = ULongToPtr(params32->name),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetNamedStringivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetNextPerfQueryIdINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint queryId;
        PTR32 nextQueryId;
    } *params32 = args;
    struct glGetNextPerfQueryIdINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .queryId = params32->queryId,
        .nextQueryId = ULongToPtr(params32->nextQueryId),
    };
    NTSTATUS status;
    status = ext_glGetNextPerfQueryIdINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetObjectBufferfvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetObjectBufferfvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetObjectBufferfvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetObjectBufferivATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetObjectBufferivATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetObjectBufferivATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetObjectLabel( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum identifier;
        GLuint name;
        GLsizei bufSize;
        PTR32 length;
        PTR32 label;
    } *params32 = args;
    struct glGetObjectLabel_params params =
    {
        .teb = get_teb64(params32->teb),
        .identifier = params32->identifier,
        .name = params32->name,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .label = ULongToPtr(params32->label),
    };
    NTSTATUS status;
    status = ext_glGetObjectLabel( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetObjectLabelEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint object;
        GLsizei bufSize;
        PTR32 length;
        PTR32 label;
    } *params32 = args;
    struct glGetObjectLabelEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .object = params32->object,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .label = ULongToPtr(params32->label),
    };
    NTSTATUS status;
    status = ext_glGetObjectLabelEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetObjectParameterfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB obj;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetObjectParameterfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .obj = params32->obj,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetObjectParameterfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetObjectParameterivAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum objectType;
        GLuint name;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetObjectParameterivAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .objectType = params32->objectType,
        .name = params32->name,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetObjectParameterivAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetObjectParameterivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB obj;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetObjectParameterivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .obj = params32->obj,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetObjectParameterivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetObjectPtrLabel( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 ptr;
        GLsizei bufSize;
        PTR32 length;
        PTR32 label;
    } *params32 = args;
    struct glGetObjectPtrLabel_params params =
    {
        .teb = get_teb64(params32->teb),
        .ptr = ULongToPtr(params32->ptr),
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .label = ULongToPtr(params32->label),
    };
    NTSTATUS status;
    status = ext_glGetObjectPtrLabel( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetOcclusionQueryivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetOcclusionQueryivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetOcclusionQueryivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetOcclusionQueryuivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetOcclusionQueryuivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetOcclusionQueryuivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathColorGenfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum color;
        GLenum pname;
        PTR32 value;
    } *params32 = args;
    struct glGetPathColorGenfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .color = params32->color,
        .pname = params32->pname,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glGetPathColorGenfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathColorGenivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum color;
        GLenum pname;
        PTR32 value;
    } *params32 = args;
    struct glGetPathColorGenivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .color = params32->color,
        .pname = params32->pname,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glGetPathColorGenivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathCommandsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        PTR32 commands;
    } *params32 = args;
    struct glGetPathCommandsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .commands = ULongToPtr(params32->commands),
    };
    NTSTATUS status;
    status = ext_glGetPathCommandsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathCoordsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        PTR32 coords;
    } *params32 = args;
    struct glGetPathCoordsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glGetPathCoordsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathDashArrayNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        PTR32 dashArray;
    } *params32 = args;
    struct glGetPathDashArrayNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .dashArray = ULongToPtr(params32->dashArray),
    };
    NTSTATUS status;
    status = ext_glGetPathDashArrayNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathLengthNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLsizei startSegment;
        GLsizei numSegments;
        GLfloat ret;
    } *params32 = args;
    struct glGetPathLengthNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .startSegment = params32->startSegment,
        .numSegments = params32->numSegments,
    };
    NTSTATUS status;
    status = ext_glGetPathLengthNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetPathMetricRangeNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield metricQueryMask;
        GLuint firstPathName;
        GLsizei numPaths;
        GLsizei stride;
        PTR32 metrics;
    } *params32 = args;
    struct glGetPathMetricRangeNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .metricQueryMask = params32->metricQueryMask,
        .firstPathName = params32->firstPathName,
        .numPaths = params32->numPaths,
        .stride = params32->stride,
        .metrics = ULongToPtr(params32->metrics),
    };
    NTSTATUS status;
    status = ext_glGetPathMetricRangeNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathMetricsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield metricQueryMask;
        GLsizei numPaths;
        GLenum pathNameType;
        PTR32 paths;
        GLuint pathBase;
        GLsizei stride;
        PTR32 metrics;
    } *params32 = args;
    struct glGetPathMetricsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .metricQueryMask = params32->metricQueryMask,
        .numPaths = params32->numPaths,
        .pathNameType = params32->pathNameType,
        .paths = ULongToPtr(params32->paths),
        .pathBase = params32->pathBase,
        .stride = params32->stride,
        .metrics = ULongToPtr(params32->metrics),
    };
    NTSTATUS status;
    status = ext_glGetPathMetricsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLenum pname;
        PTR32 value;
    } *params32 = args;
    struct glGetPathParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .pname = params32->pname,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glGetPathParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathParameterivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLenum pname;
        PTR32 value;
    } *params32 = args;
    struct glGetPathParameterivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .pname = params32->pname,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glGetPathParameterivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathSpacingNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pathListMode;
        GLsizei numPaths;
        GLenum pathNameType;
        PTR32 paths;
        GLuint pathBase;
        GLfloat advanceScale;
        GLfloat kerningScale;
        GLenum transformType;
        PTR32 returnedSpacing;
    } *params32 = args;
    struct glGetPathSpacingNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pathListMode = params32->pathListMode,
        .numPaths = params32->numPaths,
        .pathNameType = params32->pathNameType,
        .paths = ULongToPtr(params32->paths),
        .pathBase = params32->pathBase,
        .advanceScale = params32->advanceScale,
        .kerningScale = params32->kerningScale,
        .transformType = params32->transformType,
        .returnedSpacing = ULongToPtr(params32->returnedSpacing),
    };
    NTSTATUS status;
    status = ext_glGetPathSpacingNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathTexGenfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texCoordSet;
        GLenum pname;
        PTR32 value;
    } *params32 = args;
    struct glGetPathTexGenfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texCoordSet = params32->texCoordSet,
        .pname = params32->pname,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glGetPathTexGenfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPathTexGenivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texCoordSet;
        GLenum pname;
        PTR32 value;
    } *params32 = args;
    struct glGetPathTexGenivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texCoordSet = params32->texCoordSet,
        .pname = params32->pname,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glGetPathTexGenivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPerfCounterInfoINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint queryId;
        GLuint counterId;
        GLuint counterNameLength;
        PTR32 counterName;
        GLuint counterDescLength;
        PTR32 counterDesc;
        PTR32 counterOffset;
        PTR32 counterDataSize;
        PTR32 counterTypeEnum;
        PTR32 counterDataTypeEnum;
        PTR32 rawCounterMaxValue;
    } *params32 = args;
    struct glGetPerfCounterInfoINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .queryId = params32->queryId,
        .counterId = params32->counterId,
        .counterNameLength = params32->counterNameLength,
        .counterName = ULongToPtr(params32->counterName),
        .counterDescLength = params32->counterDescLength,
        .counterDesc = ULongToPtr(params32->counterDesc),
        .counterOffset = ULongToPtr(params32->counterOffset),
        .counterDataSize = ULongToPtr(params32->counterDataSize),
        .counterTypeEnum = ULongToPtr(params32->counterTypeEnum),
        .counterDataTypeEnum = ULongToPtr(params32->counterDataTypeEnum),
        .rawCounterMaxValue = ULongToPtr(params32->rawCounterMaxValue),
    };
    NTSTATUS status;
    status = ext_glGetPerfCounterInfoINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPerfMonitorCounterDataAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint monitor;
        GLenum pname;
        GLsizei dataSize;
        PTR32 data;
        PTR32 bytesWritten;
    } *params32 = args;
    struct glGetPerfMonitorCounterDataAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .monitor = params32->monitor,
        .pname = params32->pname,
        .dataSize = params32->dataSize,
        .data = ULongToPtr(params32->data),
        .bytesWritten = ULongToPtr(params32->bytesWritten),
    };
    NTSTATUS status;
    status = ext_glGetPerfMonitorCounterDataAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPerfMonitorCounterInfoAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint group;
        GLuint counter;
        GLenum pname;
        PTR32 data;
    } *params32 = args;
    struct glGetPerfMonitorCounterInfoAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .group = params32->group,
        .counter = params32->counter,
        .pname = params32->pname,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetPerfMonitorCounterInfoAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPerfMonitorCounterStringAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint group;
        GLuint counter;
        GLsizei bufSize;
        PTR32 length;
        PTR32 counterString;
    } *params32 = args;
    struct glGetPerfMonitorCounterStringAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .group = params32->group,
        .counter = params32->counter,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .counterString = ULongToPtr(params32->counterString),
    };
    NTSTATUS status;
    status = ext_glGetPerfMonitorCounterStringAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPerfMonitorCountersAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint group;
        PTR32 numCounters;
        PTR32 maxActiveCounters;
        GLsizei counterSize;
        PTR32 counters;
    } *params32 = args;
    struct glGetPerfMonitorCountersAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .group = params32->group,
        .numCounters = ULongToPtr(params32->numCounters),
        .maxActiveCounters = ULongToPtr(params32->maxActiveCounters),
        .counterSize = params32->counterSize,
        .counters = ULongToPtr(params32->counters),
    };
    NTSTATUS status;
    status = ext_glGetPerfMonitorCountersAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPerfMonitorGroupStringAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint group;
        GLsizei bufSize;
        PTR32 length;
        PTR32 groupString;
    } *params32 = args;
    struct glGetPerfMonitorGroupStringAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .group = params32->group,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .groupString = ULongToPtr(params32->groupString),
    };
    NTSTATUS status;
    status = ext_glGetPerfMonitorGroupStringAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPerfMonitorGroupsAMD( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 numGroups;
        GLsizei groupsSize;
        PTR32 groups;
    } *params32 = args;
    struct glGetPerfMonitorGroupsAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .numGroups = ULongToPtr(params32->numGroups),
        .groupsSize = params32->groupsSize,
        .groups = ULongToPtr(params32->groups),
    };
    NTSTATUS status;
    status = ext_glGetPerfMonitorGroupsAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPerfQueryDataINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint queryHandle;
        GLuint flags;
        GLsizei dataSize;
        PTR32 data;
        PTR32 bytesWritten;
    } *params32 = args;
    struct glGetPerfQueryDataINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .queryHandle = params32->queryHandle,
        .flags = params32->flags,
        .dataSize = params32->dataSize,
        .data = ULongToPtr(params32->data),
        .bytesWritten = ULongToPtr(params32->bytesWritten),
    };
    NTSTATUS status;
    status = ext_glGetPerfQueryDataINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPerfQueryIdByNameINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 queryName;
        PTR32 queryId;
    } *params32 = args;
    struct glGetPerfQueryIdByNameINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .queryName = ULongToPtr(params32->queryName),
        .queryId = ULongToPtr(params32->queryId),
    };
    NTSTATUS status;
    status = ext_glGetPerfQueryIdByNameINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPerfQueryInfoINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint queryId;
        GLuint queryNameLength;
        PTR32 queryName;
        PTR32 dataSize;
        PTR32 noCounters;
        PTR32 noInstances;
        PTR32 capsMask;
    } *params32 = args;
    struct glGetPerfQueryInfoINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .queryId = params32->queryId,
        .queryNameLength = params32->queryNameLength,
        .queryName = ULongToPtr(params32->queryName),
        .dataSize = ULongToPtr(params32->dataSize),
        .noCounters = ULongToPtr(params32->noCounters),
        .noInstances = ULongToPtr(params32->noInstances),
        .capsMask = ULongToPtr(params32->capsMask),
    };
    NTSTATUS status;
    status = ext_glGetPerfQueryInfoINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPixelMapxv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        GLint size;
        PTR32 values;
    } *params32 = args;
    struct glGetPixelMapxv_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .size = params32->size,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetPixelMapxv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPixelTexGenParameterfvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetPixelTexGenParameterfvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetPixelTexGenParameterfvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPixelTexGenParameterivSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetPixelTexGenParameterivSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetPixelTexGenParameterivSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPixelTransformParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetPixelTransformParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetPixelTransformParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPixelTransformParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetPixelTransformParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetPixelTransformParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetPointerIndexedvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 data;
    } *params32 = args;
    struct glGetPointerIndexedvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glGetPointeri_vEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetPointeri_vEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .index = params32->index,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glGetPointervEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetPointervEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
    };
    NTSTATUS status;
    status = ext_glGetPointervEXT( &params );
    params32->params = PtrToUlong( params.params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramBinary( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLsizei bufSize;
        PTR32 length;
        PTR32 binaryFormat;
        PTR32 binary;
    } *params32 = args;
    struct glGetProgramBinary_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .binaryFormat = ULongToPtr(params32->binaryFormat),
        .binary = ULongToPtr(params32->binary),
    };
    NTSTATUS status;
    status = ext_glGetProgramBinary( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramEnvParameterIivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramEnvParameterIivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramEnvParameterIivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramEnvParameterIuivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramEnvParameterIuivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramEnvParameterIuivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramEnvParameterdvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramEnvParameterdvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramEnvParameterdvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramEnvParameterfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramEnvParameterfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramEnvParameterfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramInfoLog( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLsizei bufSize;
        PTR32 length;
        PTR32 infoLog;
    } *params32 = args;
    struct glGetProgramInfoLog_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .infoLog = ULongToPtr(params32->infoLog),
    };
    NTSTATUS status;
    status = ext_glGetProgramInfoLog( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramInterfaceiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum programInterface;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramInterfaceiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .programInterface = params32->programInterface,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramInterfaceiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramLocalParameterIivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramLocalParameterIivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramLocalParameterIivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramLocalParameterIuivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramLocalParameterIuivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramLocalParameterIuivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramLocalParameterdvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramLocalParameterdvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramLocalParameterdvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramLocalParameterfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramLocalParameterfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramLocalParameterfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramNamedParameterdvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLsizei len;
        PTR32 name;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramNamedParameterdvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .len = params32->len,
        .name = ULongToPtr(params32->name),
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramNamedParameterdvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramNamedParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLsizei len;
        PTR32 name;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramNamedParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .len = params32->len,
        .name = ULongToPtr(params32->name),
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramNamedParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramParameterdvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramParameterdvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramParameterdvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramPipelineInfoLog( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint pipeline;
        GLsizei bufSize;
        PTR32 length;
        PTR32 infoLog;
    } *params32 = args;
    struct glGetProgramPipelineInfoLog_params params =
    {
        .teb = get_teb64(params32->teb),
        .pipeline = params32->pipeline,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .infoLog = ULongToPtr(params32->infoLog),
    };
    NTSTATUS status;
    status = ext_glGetProgramPipelineInfoLog( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramPipelineiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint pipeline;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramPipelineiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pipeline = params32->pipeline,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramPipelineiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramResourceIndex( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum programInterface;
        PTR32 name;
        GLuint ret;
    } *params32 = args;
    struct glGetProgramResourceIndex_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .programInterface = params32->programInterface,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetProgramResourceIndex( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetProgramResourceLocation( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum programInterface;
        PTR32 name;
        GLint ret;
    } *params32 = args;
    struct glGetProgramResourceLocation_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .programInterface = params32->programInterface,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetProgramResourceLocation( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetProgramResourceLocationIndex( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum programInterface;
        PTR32 name;
        GLint ret;
    } *params32 = args;
    struct glGetProgramResourceLocationIndex_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .programInterface = params32->programInterface,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetProgramResourceLocationIndex( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetProgramResourceName( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum programInterface;
        GLuint index;
        GLsizei bufSize;
        PTR32 length;
        PTR32 name;
    } *params32 = args;
    struct glGetProgramResourceName_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .programInterface = params32->programInterface,
        .index = params32->index,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetProgramResourceName( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramResourcefvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum programInterface;
        GLuint index;
        GLsizei propCount;
        PTR32 props;
        GLsizei count;
        PTR32 length;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramResourcefvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .programInterface = params32->programInterface,
        .index = params32->index,
        .propCount = params32->propCount,
        .props = ULongToPtr(params32->props),
        .count = params32->count,
        .length = ULongToPtr(params32->length),
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramResourcefvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramResourceiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum programInterface;
        GLuint index;
        GLsizei propCount;
        PTR32 props;
        GLsizei count;
        PTR32 length;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramResourceiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .programInterface = params32->programInterface,
        .index = params32->index,
        .propCount = params32->propCount,
        .props = ULongToPtr(params32->props),
        .count = params32->count,
        .length = ULongToPtr(params32->length),
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramResourceiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramStageiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum shadertype;
        GLenum pname;
        PTR32 values;
    } *params32 = args;
    struct glGetProgramStageiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .shadertype = params32->shadertype,
        .pname = params32->pname,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetProgramStageiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramStringARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 string;
    } *params32 = args;
    struct glGetProgramStringARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .string = ULongToPtr(params32->string),
    };
    NTSTATUS status;
    status = ext_glGetProgramStringARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramStringNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 program;
    } *params32 = args;
    struct glGetProgramStringNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .program = ULongToPtr(params32->program),
    };
    NTSTATUS status;
    status = ext_glGetProgramStringNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramSubroutineParameteruivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 param;
    } *params32 = args;
    struct glGetProgramSubroutineParameteruivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetProgramSubroutineParameteruivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetProgramivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetProgramivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetProgramivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryBufferObjecti64v( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLuint buffer;
        GLenum pname;
        PTR32 offset;
    } *params32 = args;
    struct glGetQueryBufferObjecti64v_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .buffer = params32->buffer,
        .pname = params32->pname,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glGetQueryBufferObjecti64v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryBufferObjectiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLuint buffer;
        GLenum pname;
        PTR32 offset;
    } *params32 = args;
    struct glGetQueryBufferObjectiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .buffer = params32->buffer,
        .pname = params32->pname,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glGetQueryBufferObjectiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryBufferObjectui64v( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLuint buffer;
        GLenum pname;
        PTR32 offset;
    } *params32 = args;
    struct glGetQueryBufferObjectui64v_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .buffer = params32->buffer,
        .pname = params32->pname,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glGetQueryBufferObjectui64v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryBufferObjectuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLuint buffer;
        GLenum pname;
        PTR32 offset;
    } *params32 = args;
    struct glGetQueryBufferObjectuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .buffer = params32->buffer,
        .pname = params32->pname,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glGetQueryBufferObjectuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryIndexediv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetQueryIndexediv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetQueryIndexediv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryObjecti64v( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetQueryObjecti64v_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetQueryObjecti64v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryObjecti64vEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetQueryObjecti64vEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetQueryObjecti64vEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryObjectiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetQueryObjectiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetQueryObjectiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryObjectivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetQueryObjectivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetQueryObjectivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryObjectui64v( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetQueryObjectui64v_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetQueryObjectui64v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryObjectui64vEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetQueryObjectui64vEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetQueryObjectui64vEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryObjectuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetQueryObjectuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetQueryObjectuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryObjectuivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetQueryObjectuivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetQueryObjectuivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetQueryiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetQueryiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetQueryivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetQueryivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetQueryivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetRenderbufferParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetRenderbufferParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetRenderbufferParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetRenderbufferParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetRenderbufferParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetRenderbufferParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetSamplerParameterIiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sampler;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetSamplerParameterIiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .sampler = params32->sampler,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetSamplerParameterIiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetSamplerParameterIuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sampler;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetSamplerParameterIuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .sampler = params32->sampler,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetSamplerParameterIuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetSamplerParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sampler;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetSamplerParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .sampler = params32->sampler,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetSamplerParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetSamplerParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sampler;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetSamplerParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .sampler = params32->sampler,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetSamplerParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetSemaphoreParameterui64vEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint semaphore;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetSemaphoreParameterui64vEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .semaphore = params32->semaphore,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetSemaphoreParameterui64vEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetSeparableFilter( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        PTR32 row;
        PTR32 column;
        PTR32 span;
    } *params32 = args;
    struct glGetSeparableFilter_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .row = ULongToPtr(params32->row),
        .column = ULongToPtr(params32->column),
        .span = ULongToPtr(params32->span),
    };
    NTSTATUS status;
    status = ext_glGetSeparableFilter( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetSeparableFilterEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        PTR32 row;
        PTR32 column;
        PTR32 span;
    } *params32 = args;
    struct glGetSeparableFilterEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .row = ULongToPtr(params32->row),
        .column = ULongToPtr(params32->column),
        .span = ULongToPtr(params32->span),
    };
    NTSTATUS status;
    status = ext_glGetSeparableFilterEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetShaderInfoLog( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint shader;
        GLsizei bufSize;
        PTR32 length;
        PTR32 infoLog;
    } *params32 = args;
    struct glGetShaderInfoLog_params params =
    {
        .teb = get_teb64(params32->teb),
        .shader = params32->shader,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .infoLog = ULongToPtr(params32->infoLog),
    };
    NTSTATUS status;
    status = ext_glGetShaderInfoLog( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetShaderPrecisionFormat( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum shadertype;
        GLenum precisiontype;
        PTR32 range;
        PTR32 precision;
    } *params32 = args;
    struct glGetShaderPrecisionFormat_params params =
    {
        .teb = get_teb64(params32->teb),
        .shadertype = params32->shadertype,
        .precisiontype = params32->precisiontype,
        .range = ULongToPtr(params32->range),
        .precision = ULongToPtr(params32->precision),
    };
    NTSTATUS status;
    status = ext_glGetShaderPrecisionFormat( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetShaderSource( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint shader;
        GLsizei bufSize;
        PTR32 length;
        PTR32 source;
    } *params32 = args;
    struct glGetShaderSource_params params =
    {
        .teb = get_teb64(params32->teb),
        .shader = params32->shader,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .source = ULongToPtr(params32->source),
    };
    NTSTATUS status;
    status = ext_glGetShaderSource( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetShaderSourceARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB obj;
        GLsizei maxLength;
        PTR32 length;
        PTR32 source;
    } *params32 = args;
    struct glGetShaderSourceARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .obj = params32->obj,
        .maxLength = params32->maxLength,
        .length = ULongToPtr(params32->length),
        .source = ULongToPtr(params32->source),
    };
    NTSTATUS status;
    status = ext_glGetShaderSourceARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetShaderiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint shader;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetShaderiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .shader = params32->shader,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetShaderiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetShadingRateImagePaletteNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint viewport;
        GLuint entry;
        PTR32 rate;
    } *params32 = args;
    struct glGetShadingRateImagePaletteNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .viewport = params32->viewport,
        .entry = params32->entry,
        .rate = ULongToPtr(params32->rate),
    };
    NTSTATUS status;
    status = ext_glGetShadingRateImagePaletteNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetShadingRateSampleLocationivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum rate;
        GLuint samples;
        GLuint index;
        PTR32 location;
    } *params32 = args;
    struct glGetShadingRateSampleLocationivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .rate = params32->rate,
        .samples = params32->samples,
        .index = params32->index,
        .location = ULongToPtr(params32->location),
    };
    NTSTATUS status;
    status = ext_glGetShadingRateSampleLocationivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetSharpenTexFuncSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 points;
    } *params32 = args;
    struct glGetSharpenTexFuncSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glGetSharpenTexFuncSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetStageIndexNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum shadertype;
        GLushort ret;
    } *params32 = args;
    struct glGetStageIndexNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .shadertype = params32->shadertype,
    };
    NTSTATUS status;
    status = ext_glGetStageIndexNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetSubroutineIndex( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum shadertype;
        PTR32 name;
        GLuint ret;
    } *params32 = args;
    struct glGetSubroutineIndex_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .shadertype = params32->shadertype,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetSubroutineIndex( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetSubroutineUniformLocation( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum shadertype;
        PTR32 name;
        GLint ret;
    } *params32 = args;
    struct glGetSubroutineUniformLocation_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .shadertype = params32->shadertype,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetSubroutineUniformLocation( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetTexBumpParameterfvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glGetTexBumpParameterfvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetTexBumpParameterfvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTexBumpParameterivATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glGetTexBumpParameterivATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetTexBumpParameterivATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTexEnvxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexEnvxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTexEnvxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTexFilterFuncSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum filter;
        PTR32 weights;
    } *params32 = args;
    struct glGetTexFilterFuncSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .filter = params32->filter,
        .weights = ULongToPtr(params32->weights),
    };
    NTSTATUS status;
    status = ext_glGetTexFilterFuncSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTexGenxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexGenxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTexGenxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTexLevelParameterxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexLevelParameterxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTexLevelParameterxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTexParameterIiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexParameterIiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTexParameterIiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTexParameterIivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexParameterIivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTexParameterIivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTexParameterIuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexParameterIuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTexParameterIuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTexParameterIuivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexParameterIuivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTexParameterIuivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTexParameterPointervAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexParameterPointervAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glGetTexParameterxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTexParameterxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTexParameterxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureHandleARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLuint64 ret;
    } *params32 = args;
    struct glGetTextureHandleARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glGetTextureHandleARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetTextureHandleNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLuint64 ret;
    } *params32 = args;
    struct glGetTextureHandleNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glGetTextureHandleNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetTextureImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 pixels;
    } *params32 = args;
    struct glGetTextureImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glGetTextureImage( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureImageEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glGetTextureImageEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glGetTextureImageEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureLevelParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureLevelParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureLevelParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureLevelParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureLevelParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureLevelParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureLevelParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureLevelParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureLevelParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureLevelParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureLevelParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureLevelParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureParameterIiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureParameterIiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureParameterIiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureParameterIivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureParameterIivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureParameterIivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureParameterIuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureParameterIuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureParameterIuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureParameterIuivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureParameterIuivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureParameterIuivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTextureParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTextureParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTextureSamplerHandleARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLuint sampler;
        GLuint64 ret;
    } *params32 = args;
    struct glGetTextureSamplerHandleARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .sampler = params32->sampler,
    };
    NTSTATUS status;
    status = ext_glGetTextureSamplerHandleARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetTextureSamplerHandleNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLuint sampler;
        GLuint64 ret;
    } *params32 = args;
    struct glGetTextureSamplerHandleNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .sampler = params32->sampler,
    };
    NTSTATUS status;
    status = ext_glGetTextureSamplerHandleNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetTextureSubImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 pixels;
    } *params32 = args;
    struct glGetTextureSubImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glGetTextureSubImage( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTrackMatrixivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint address;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetTrackMatrixivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .address = params32->address,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetTrackMatrixivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTransformFeedbackVarying( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint index;
        GLsizei bufSize;
        PTR32 length;
        PTR32 size;
        PTR32 type;
        PTR32 name;
    } *params32 = args;
    struct glGetTransformFeedbackVarying_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .index = params32->index,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .size = ULongToPtr(params32->size),
        .type = ULongToPtr(params32->type),
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetTransformFeedbackVarying( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTransformFeedbackVaryingEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint index;
        GLsizei bufSize;
        PTR32 length;
        PTR32 size;
        PTR32 type;
        PTR32 name;
    } *params32 = args;
    struct glGetTransformFeedbackVaryingEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .index = params32->index,
        .bufSize = params32->bufSize,
        .length = ULongToPtr(params32->length),
        .size = ULongToPtr(params32->size),
        .type = ULongToPtr(params32->type),
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetTransformFeedbackVaryingEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTransformFeedbackVaryingNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint index;
        PTR32 location;
    } *params32 = args;
    struct glGetTransformFeedbackVaryingNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .index = params32->index,
        .location = ULongToPtr(params32->location),
    };
    NTSTATUS status;
    status = ext_glGetTransformFeedbackVaryingNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTransformFeedbacki64_v( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint xfb;
        GLenum pname;
        GLuint index;
        PTR32 param;
    } *params32 = args;
    struct glGetTransformFeedbacki64_v_params params =
    {
        .teb = get_teb64(params32->teb),
        .xfb = params32->xfb,
        .pname = params32->pname,
        .index = params32->index,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetTransformFeedbacki64_v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTransformFeedbacki_v( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint xfb;
        GLenum pname;
        GLuint index;
        PTR32 param;
    } *params32 = args;
    struct glGetTransformFeedbacki_v_params params =
    {
        .teb = get_teb64(params32->teb),
        .xfb = params32->xfb,
        .pname = params32->pname,
        .index = params32->index,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetTransformFeedbacki_v( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetTransformFeedbackiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint xfb;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glGetTransformFeedbackiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .xfb = params32->xfb,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetTransformFeedbackiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformBlockIndex( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        PTR32 uniformBlockName;
        GLuint ret;
    } *params32 = args;
    struct glGetUniformBlockIndex_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .uniformBlockName = ULongToPtr(params32->uniformBlockName),
    };
    NTSTATUS status;
    status = ext_glGetUniformBlockIndex( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetUniformBufferSizeEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint ret;
    } *params32 = args;
    struct glGetUniformBufferSizeEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
    };
    NTSTATUS status;
    status = ext_glGetUniformBufferSizeEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetUniformIndices( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLsizei uniformCount;
        PTR32 uniformNames;
        PTR32 uniformIndices;
    } *params32 = args;
    struct glGetUniformIndices_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .uniformCount = params32->uniformCount,
        .uniformIndices = ULongToPtr(params32->uniformIndices),
    };
    NTSTATUS status;
    params.uniformNames = copy_wow64_ptr32s( (UINT_PTR)params32->uniformNames, params32->uniformCount );
    status = ext_glGetUniformIndices( &params );
    free( (void *)params.uniformNames );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformLocation( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        PTR32 name;
        GLint ret;
    } *params32 = args;
    struct glGetUniformLocation_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetUniformLocation( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetUniformLocationARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB programObj;
        PTR32 name;
        GLint ret;
    } *params32 = args;
    struct glGetUniformLocationARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .programObj = params32->programObj,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetUniformLocationARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetUniformOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        PTR32 ret;
    } *params32 = args;
    struct glGetUniformOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glGetUniformSubroutineuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum shadertype;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformSubroutineuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .shadertype = params32->shadertype,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformSubroutineuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformdv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformdv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformdv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB programObj;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .programObj = params32->programObj,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformi64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformi64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformi64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformi64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformi64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformi64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB programObj;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .programObj = params32->programObj,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUniformuivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        PTR32 params;
    } *params32 = args;
    struct glGetUniformuivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetUniformuivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUnsignedBytei_vEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 data;
    } *params32 = args;
    struct glGetUnsignedBytei_vEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetUnsignedBytei_vEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetUnsignedBytevEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 data;
    } *params32 = args;
    struct glGetUnsignedBytevEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetUnsignedBytevEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVariantArrayObjectfvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVariantArrayObjectfvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVariantArrayObjectfvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVariantArrayObjectivATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVariantArrayObjectivATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVariantArrayObjectivATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVariantBooleanvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum value;
        PTR32 data;
    } *params32 = args;
    struct glGetVariantBooleanvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .value = params32->value,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetVariantBooleanvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVariantFloatvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum value;
        PTR32 data;
    } *params32 = args;
    struct glGetVariantFloatvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .value = params32->value,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetVariantFloatvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVariantIntegervEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum value;
        PTR32 data;
    } *params32 = args;
    struct glGetVariantIntegervEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .value = params32->value,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glGetVariantIntegervEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVariantPointervEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum value;
        PTR32 data;
    } *params32 = args;
    struct glGetVariantPointervEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .value = params32->value,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glGetVaryingLocationNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        PTR32 name;
        GLint ret;
    } *params32 = args;
    struct glGetVaryingLocationNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glGetVaryingLocationNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glGetVertexArrayIndexed64iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint index;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glGetVertexArrayIndexed64iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .index = params32->index,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetVertexArrayIndexed64iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexArrayIndexediv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint index;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glGetVertexArrayIndexediv_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .index = params32->index,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetVertexArrayIndexediv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexArrayIntegeri_vEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint index;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glGetVertexArrayIntegeri_vEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .index = params32->index,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetVertexArrayIntegeri_vEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexArrayIntegervEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glGetVertexArrayIntegervEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetVertexArrayIntegervEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexArrayPointeri_vEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint index;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glGetVertexArrayPointeri_vEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .index = params32->index,
        .pname = params32->pname,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glGetVertexArrayPointervEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glGetVertexArrayPointervEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .pname = params32->pname,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glGetVertexArrayiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glGetVertexArrayiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glGetVertexArrayiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribArrayObjectfvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribArrayObjectfvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribArrayObjectfvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribArrayObjectivATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribArrayObjectivATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribArrayObjectivATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribIiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribIiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribIiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribIivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribIivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribIivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribIuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribIuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribIuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribIuivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribIuivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribIuivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribLdv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribLdv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribLdv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribLdvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribLdvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribLdvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribLi64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribLi64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribLi64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribLui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribLui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribLui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribLui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribLui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribLui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribPointerv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 pointer;
    } *params32 = args;
    struct glGetVertexAttribPointerv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribPointerv( &params );
    params32->pointer = PtrToUlong( params.pointer );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribPointervARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 pointer;
    } *params32 = args;
    struct glGetVertexAttribPointervARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribPointervARB( &params );
    params32->pointer = PtrToUlong( params.pointer );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribPointervNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 pointer;
    } *params32 = args;
    struct glGetVertexAttribPointervNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glGetVertexAttribdv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribdv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribdv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribdvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribdvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribdvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribdvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribdvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribdvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVertexAttribivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVertexAttribivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVertexAttribivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVideoCaptureStreamdvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
        GLuint stream;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVideoCaptureStreamdvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
        .stream = params32->stream,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVideoCaptureStreamdvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVideoCaptureStreamfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
        GLuint stream;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVideoCaptureStreamfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
        .stream = params32->stream,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVideoCaptureStreamfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVideoCaptureStreamivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
        GLuint stream;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVideoCaptureStreamivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
        .stream = params32->stream,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVideoCaptureStreamivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVideoCaptureivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVideoCaptureivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVideoCaptureivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVideoi64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_slot;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVideoi64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_slot = params32->video_slot,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVideoi64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVideoivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_slot;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVideoivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_slot = params32->video_slot,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVideoivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVideoui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_slot;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVideoui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_slot = params32->video_slot,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVideoui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVideouivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_slot;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glGetVideouivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_slot = params32->video_slot,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetVideouivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetVkProcAddrNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 name;
        PTR32 ret;
    } *params32 = args;
    struct glGetVkProcAddrNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .name = ULongToPtr(params32->name),
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glGetnColorTable( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 table;
    } *params32 = args;
    struct glGetnColorTable_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .table = ULongToPtr(params32->table),
    };
    NTSTATUS status;
    status = ext_glGetnColorTable( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnColorTableARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 table;
    } *params32 = args;
    struct glGetnColorTableARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .table = ULongToPtr(params32->table),
    };
    NTSTATUS status;
    status = ext_glGetnColorTableARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnCompressedTexImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint lod;
        GLsizei bufSize;
        PTR32 pixels;
    } *params32 = args;
    struct glGetnCompressedTexImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .lod = params32->lod,
        .bufSize = params32->bufSize,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glGetnCompressedTexImage( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnCompressedTexImageARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint lod;
        GLsizei bufSize;
        PTR32 img;
    } *params32 = args;
    struct glGetnCompressedTexImageARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .lod = params32->lod,
        .bufSize = params32->bufSize,
        .img = ULongToPtr(params32->img),
    };
    NTSTATUS status;
    status = ext_glGetnCompressedTexImageARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnConvolutionFilter( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 image;
    } *params32 = args;
    struct glGetnConvolutionFilter_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .image = ULongToPtr(params32->image),
    };
    NTSTATUS status;
    status = ext_glGetnConvolutionFilter( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnConvolutionFilterARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 image;
    } *params32 = args;
    struct glGetnConvolutionFilterARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .image = ULongToPtr(params32->image),
    };
    NTSTATUS status;
    status = ext_glGetnConvolutionFilterARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnHistogram( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLboolean reset;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 values;
    } *params32 = args;
    struct glGetnHistogram_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .reset = params32->reset,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetnHistogram( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnHistogramARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLboolean reset;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 values;
    } *params32 = args;
    struct glGetnHistogramARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .reset = params32->reset,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetnHistogramARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnMapdv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum query;
        GLsizei bufSize;
        PTR32 v;
    } *params32 = args;
    struct glGetnMapdv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .query = params32->query,
        .bufSize = params32->bufSize,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glGetnMapdv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnMapdvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum query;
        GLsizei bufSize;
        PTR32 v;
    } *params32 = args;
    struct glGetnMapdvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .query = params32->query,
        .bufSize = params32->bufSize,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glGetnMapdvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnMapfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum query;
        GLsizei bufSize;
        PTR32 v;
    } *params32 = args;
    struct glGetnMapfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .query = params32->query,
        .bufSize = params32->bufSize,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glGetnMapfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnMapfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum query;
        GLsizei bufSize;
        PTR32 v;
    } *params32 = args;
    struct glGetnMapfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .query = params32->query,
        .bufSize = params32->bufSize,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glGetnMapfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnMapiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum query;
        GLsizei bufSize;
        PTR32 v;
    } *params32 = args;
    struct glGetnMapiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .query = params32->query,
        .bufSize = params32->bufSize,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glGetnMapiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnMapivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum query;
        GLsizei bufSize;
        PTR32 v;
    } *params32 = args;
    struct glGetnMapivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .query = params32->query,
        .bufSize = params32->bufSize,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glGetnMapivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnMinmax( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLboolean reset;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 values;
    } *params32 = args;
    struct glGetnMinmax_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .reset = params32->reset,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetnMinmax( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnMinmaxARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLboolean reset;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 values;
    } *params32 = args;
    struct glGetnMinmaxARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .reset = params32->reset,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetnMinmaxARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnPixelMapfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        GLsizei bufSize;
        PTR32 values;
    } *params32 = args;
    struct glGetnPixelMapfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .bufSize = params32->bufSize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetnPixelMapfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnPixelMapfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        GLsizei bufSize;
        PTR32 values;
    } *params32 = args;
    struct glGetnPixelMapfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .bufSize = params32->bufSize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetnPixelMapfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnPixelMapuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        GLsizei bufSize;
        PTR32 values;
    } *params32 = args;
    struct glGetnPixelMapuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .bufSize = params32->bufSize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetnPixelMapuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnPixelMapuivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        GLsizei bufSize;
        PTR32 values;
    } *params32 = args;
    struct glGetnPixelMapuivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .bufSize = params32->bufSize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetnPixelMapuivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnPixelMapusv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        GLsizei bufSize;
        PTR32 values;
    } *params32 = args;
    struct glGetnPixelMapusv_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .bufSize = params32->bufSize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetnPixelMapusv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnPixelMapusvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        GLsizei bufSize;
        PTR32 values;
    } *params32 = args;
    struct glGetnPixelMapusvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .bufSize = params32->bufSize,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glGetnPixelMapusvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnPolygonStipple( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei bufSize;
        PTR32 pattern;
    } *params32 = args;
    struct glGetnPolygonStipple_params params =
    {
        .teb = get_teb64(params32->teb),
        .bufSize = params32->bufSize,
        .pattern = ULongToPtr(params32->pattern),
    };
    NTSTATUS status;
    status = ext_glGetnPolygonStipple( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnPolygonStippleARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei bufSize;
        PTR32 pattern;
    } *params32 = args;
    struct glGetnPolygonStippleARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .bufSize = params32->bufSize,
        .pattern = ULongToPtr(params32->pattern),
    };
    NTSTATUS status;
    status = ext_glGetnPolygonStippleARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnSeparableFilter( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        GLsizei rowBufSize;
        PTR32 row;
        GLsizei columnBufSize;
        PTR32 column;
        PTR32 span;
    } *params32 = args;
    struct glGetnSeparableFilter_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .rowBufSize = params32->rowBufSize,
        .row = ULongToPtr(params32->row),
        .columnBufSize = params32->columnBufSize,
        .column = ULongToPtr(params32->column),
        .span = ULongToPtr(params32->span),
    };
    NTSTATUS status;
    status = ext_glGetnSeparableFilter( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnSeparableFilterARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLenum type;
        GLsizei rowBufSize;
        PTR32 row;
        GLsizei columnBufSize;
        PTR32 column;
        PTR32 span;
    } *params32 = args;
    struct glGetnSeparableFilterARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .type = params32->type,
        .rowBufSize = params32->rowBufSize,
        .row = ULongToPtr(params32->row),
        .columnBufSize = params32->columnBufSize,
        .column = ULongToPtr(params32->column),
        .span = ULongToPtr(params32->span),
    };
    NTSTATUS status;
    status = ext_glGetnSeparableFilterARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnTexImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 pixels;
    } *params32 = args;
    struct glGetnTexImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glGetnTexImage( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnTexImageARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 img;
    } *params32 = args;
    struct glGetnTexImageARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .img = ULongToPtr(params32->img),
    };
    NTSTATUS status;
    status = ext_glGetnTexImageARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnUniformdv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei bufSize;
        PTR32 params;
    } *params32 = args;
    struct glGetnUniformdv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .bufSize = params32->bufSize,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetnUniformdv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnUniformdvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei bufSize;
        PTR32 params;
    } *params32 = args;
    struct glGetnUniformdvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .bufSize = params32->bufSize,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetnUniformdvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnUniformfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei bufSize;
        PTR32 params;
    } *params32 = args;
    struct glGetnUniformfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .bufSize = params32->bufSize,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetnUniformfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnUniformfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei bufSize;
        PTR32 params;
    } *params32 = args;
    struct glGetnUniformfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .bufSize = params32->bufSize,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetnUniformfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnUniformi64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei bufSize;
        PTR32 params;
    } *params32 = args;
    struct glGetnUniformi64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .bufSize = params32->bufSize,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetnUniformi64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnUniformiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei bufSize;
        PTR32 params;
    } *params32 = args;
    struct glGetnUniformiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .bufSize = params32->bufSize,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetnUniformiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnUniformivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei bufSize;
        PTR32 params;
    } *params32 = args;
    struct glGetnUniformivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .bufSize = params32->bufSize,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetnUniformivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnUniformui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei bufSize;
        PTR32 params;
    } *params32 = args;
    struct glGetnUniformui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .bufSize = params32->bufSize,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetnUniformui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnUniformuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei bufSize;
        PTR32 params;
    } *params32 = args;
    struct glGetnUniformuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .bufSize = params32->bufSize,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetnUniformuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glGetnUniformuivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei bufSize;
        PTR32 params;
    } *params32 = args;
    struct glGetnUniformuivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .bufSize = params32->bufSize,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glGetnUniformuivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glGlobalAlphaFactorbSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte factor;
    } *params32 = args;
    struct glGlobalAlphaFactorbSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
    };
    NTSTATUS status;
    status = ext_glGlobalAlphaFactorbSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glGlobalAlphaFactordSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble factor;
    } *params32 = args;
    struct glGlobalAlphaFactordSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
    };
    NTSTATUS status;
    status = ext_glGlobalAlphaFactordSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glGlobalAlphaFactorfSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat factor;
    } *params32 = args;
    struct glGlobalAlphaFactorfSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
    };
    NTSTATUS status;
    status = ext_glGlobalAlphaFactorfSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glGlobalAlphaFactoriSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLint factor;
    } *params32 = args;
    struct glGlobalAlphaFactoriSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
    };
    NTSTATUS status;
    status = ext_glGlobalAlphaFactoriSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glGlobalAlphaFactorsSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort factor;
    } *params32 = args;
    struct glGlobalAlphaFactorsSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
    };
    NTSTATUS status;
    status = ext_glGlobalAlphaFactorsSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glGlobalAlphaFactorubSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLubyte factor;
    } *params32 = args;
    struct glGlobalAlphaFactorubSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
    };
    NTSTATUS status;
    status = ext_glGlobalAlphaFactorubSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glGlobalAlphaFactoruiSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint factor;
    } *params32 = args;
    struct glGlobalAlphaFactoruiSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
    };
    NTSTATUS status;
    status = ext_glGlobalAlphaFactoruiSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glGlobalAlphaFactorusSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLushort factor;
    } *params32 = args;
    struct glGlobalAlphaFactorusSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
    };
    NTSTATUS status;
    status = ext_glGlobalAlphaFactorusSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glHintPGI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint mode;
    } *params32 = args;
    struct glHintPGI_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glHintPGI( &params );
    return status;
}

static NTSTATUS wow64_ext_glHistogram( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei width;
        GLenum internalformat;
        GLboolean sink;
    } *params32 = args;
    struct glHistogram_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .width = params32->width,
        .internalformat = params32->internalformat,
        .sink = params32->sink,
    };
    NTSTATUS status;
    status = ext_glHistogram( &params );
    return status;
}

static NTSTATUS wow64_ext_glHistogramEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei width;
        GLenum internalformat;
        GLboolean sink;
    } *params32 = args;
    struct glHistogramEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .width = params32->width,
        .internalformat = params32->internalformat,
        .sink = params32->sink,
    };
    NTSTATUS status;
    status = ext_glHistogramEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glIglooInterfaceSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glIglooInterfaceSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glIglooInterfaceSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glImageTransformParameterfHP( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glImageTransformParameterfHP_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glImageTransformParameterfHP( &params );
    return status;
}

static NTSTATUS wow64_ext_glImageTransformParameterfvHP( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glImageTransformParameterfvHP_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glImageTransformParameterfvHP( &params );
    return status;
}

static NTSTATUS wow64_ext_glImageTransformParameteriHP( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glImageTransformParameteriHP_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glImageTransformParameteriHP( &params );
    return status;
}

static NTSTATUS wow64_ext_glImageTransformParameterivHP( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glImageTransformParameterivHP_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glImageTransformParameterivHP( &params );
    return status;
}

static NTSTATUS wow64_ext_glImportMemoryFdEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint memory;
        GLuint64 size;
        GLenum handleType;
        GLint fd;
    } *params32 = args;
    struct glImportMemoryFdEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .memory = params32->memory,
        .size = params32->size,
        .handleType = params32->handleType,
        .fd = params32->fd,
    };
    NTSTATUS status;
    status = ext_glImportMemoryFdEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glImportMemoryWin32HandleEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint memory;
        GLuint64 size;
        GLenum handleType;
        PTR32 handle;
    } *params32 = args;
    struct glImportMemoryWin32HandleEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .memory = params32->memory,
        .size = params32->size,
        .handleType = params32->handleType,
        .handle = ULongToPtr(params32->handle),
    };
    NTSTATUS status;
    status = ext_glImportMemoryWin32HandleEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glImportMemoryWin32NameEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint memory;
        GLuint64 size;
        GLenum handleType;
        PTR32 name;
    } *params32 = args;
    struct glImportMemoryWin32NameEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .memory = params32->memory,
        .size = params32->size,
        .handleType = params32->handleType,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glImportMemoryWin32NameEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glImportSemaphoreFdEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint semaphore;
        GLenum handleType;
        GLint fd;
    } *params32 = args;
    struct glImportSemaphoreFdEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .semaphore = params32->semaphore,
        .handleType = params32->handleType,
        .fd = params32->fd,
    };
    NTSTATUS status;
    status = ext_glImportSemaphoreFdEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glImportSemaphoreWin32HandleEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint semaphore;
        GLenum handleType;
        PTR32 handle;
    } *params32 = args;
    struct glImportSemaphoreWin32HandleEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .semaphore = params32->semaphore,
        .handleType = params32->handleType,
        .handle = ULongToPtr(params32->handle),
    };
    NTSTATUS status;
    status = ext_glImportSemaphoreWin32HandleEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glImportSemaphoreWin32NameEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint semaphore;
        GLenum handleType;
        PTR32 name;
    } *params32 = args;
    struct glImportSemaphoreWin32NameEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .semaphore = params32->semaphore,
        .handleType = params32->handleType,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glImportSemaphoreWin32NameEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glImportSyncEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum external_sync_type;
        PTR32 external_sync;
        GLbitfield flags;
        PTR32 ret;
    } *params32 = args;
    struct glImportSyncEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .external_sync_type = params32->external_sync_type,
        .external_sync = (GLintptr)ULongToPtr(params32->external_sync),
        .flags = params32->flags,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glIndexFormatNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
    } *params32 = args;
    struct glIndexFormatNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glIndexFormatNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glIndexFuncEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum func;
        GLclampf ref;
    } *params32 = args;
    struct glIndexFuncEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .func = params32->func,
        .ref = params32->ref,
    };
    NTSTATUS status;
    status = ext_glIndexFuncEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glIndexMaterialEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum mode;
    } *params32 = args;
    struct glIndexMaterialEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glIndexMaterialEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glIndexPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
        GLsizei count;
        PTR32 pointer;
    } *params32 = args;
    struct glIndexPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
        .count = params32->count,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glIndexPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glIndexPointerListIBM( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLint stride;
        PTR32 pointer;
        GLint ptrstride;
    } *params32 = args;
    struct glIndexPointerListIBM_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
        .ptrstride = params32->ptrstride,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glIndexxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed component;
    } *params32 = args;
    struct glIndexxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .component = params32->component,
    };
    NTSTATUS status;
    status = ext_glIndexxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glIndexxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 component;
    } *params32 = args;
    struct glIndexxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .component = ULongToPtr(params32->component),
    };
    NTSTATUS status;
    status = ext_glIndexxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glInsertComponentEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint res;
        GLuint src;
        GLuint num;
    } *params32 = args;
    struct glInsertComponentEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .res = params32->res,
        .src = params32->src,
        .num = params32->num,
    };
    NTSTATUS status;
    status = ext_glInsertComponentEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glInsertEventMarkerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei length;
        PTR32 marker;
    } *params32 = args;
    struct glInsertEventMarkerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .length = params32->length,
        .marker = ULongToPtr(params32->marker),
    };
    NTSTATUS status;
    status = ext_glInsertEventMarkerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glInstrumentsBufferSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei size;
        PTR32 buffer;
    } *params32 = args;
    struct glInstrumentsBufferSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .buffer = ULongToPtr(params32->buffer),
    };
    NTSTATUS status;
    status = ext_glInstrumentsBufferSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glInterpolatePathsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint resultPath;
        GLuint pathA;
        GLuint pathB;
        GLfloat weight;
    } *params32 = args;
    struct glInterpolatePathsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .resultPath = params32->resultPath,
        .pathA = params32->pathA,
        .pathB = params32->pathB,
        .weight = params32->weight,
    };
    NTSTATUS status;
    status = ext_glInterpolatePathsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glInvalidateBufferData( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
    } *params32 = args;
    struct glInvalidateBufferData_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glInvalidateBufferData( &params );
    return status;
}

static NTSTATUS wow64_ext_glInvalidateBufferSubData( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 offset;
        PTR32 length;
    } *params32 = args;
    struct glInvalidateBufferSubData_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .length = (GLsizeiptr)ULongToPtr(params32->length),
    };
    NTSTATUS status;
    status = ext_glInvalidateBufferSubData( &params );
    return status;
}

static NTSTATUS wow64_ext_glInvalidateFramebuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei numAttachments;
        PTR32 attachments;
    } *params32 = args;
    struct glInvalidateFramebuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .numAttachments = params32->numAttachments,
        .attachments = ULongToPtr(params32->attachments),
    };
    NTSTATUS status;
    status = ext_glInvalidateFramebuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glInvalidateNamedFramebufferData( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLsizei numAttachments;
        PTR32 attachments;
    } *params32 = args;
    struct glInvalidateNamedFramebufferData_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .numAttachments = params32->numAttachments,
        .attachments = ULongToPtr(params32->attachments),
    };
    NTSTATUS status;
    status = ext_glInvalidateNamedFramebufferData( &params );
    return status;
}

static NTSTATUS wow64_ext_glInvalidateNamedFramebufferSubData( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLsizei numAttachments;
        PTR32 attachments;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glInvalidateNamedFramebufferSubData_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .numAttachments = params32->numAttachments,
        .attachments = ULongToPtr(params32->attachments),
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glInvalidateNamedFramebufferSubData( &params );
    return status;
}

static NTSTATUS wow64_ext_glInvalidateSubFramebuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei numAttachments;
        PTR32 attachments;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glInvalidateSubFramebuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .numAttachments = params32->numAttachments,
        .attachments = ULongToPtr(params32->attachments),
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glInvalidateSubFramebuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glInvalidateTexImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glInvalidateTexImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glInvalidateTexImage( &params );
    return status;
}

static NTSTATUS wow64_ext_glInvalidateTexSubImage( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
    } *params32 = args;
    struct glInvalidateTexSubImage_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
    };
    NTSTATUS status;
    status = ext_glInvalidateTexSubImage( &params );
    return status;
}

static NTSTATUS wow64_ext_glIsAsyncMarkerSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint marker;
        GLboolean ret;
    } *params32 = args;
    struct glIsAsyncMarkerSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .marker = params32->marker,
    };
    NTSTATUS status;
    status = ext_glIsAsyncMarkerSGIX( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLboolean ret;
    } *params32 = args;
    struct glIsBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glIsBuffer( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsBufferARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLboolean ret;
    } *params32 = args;
    struct glIsBufferARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glIsBufferARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsBufferResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLboolean ret;
    } *params32 = args;
    struct glIsBufferResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glIsBufferResidentNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsCommandListNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLboolean ret;
    } *params32 = args;
    struct glIsCommandListNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
    };
    NTSTATUS status;
    status = ext_glIsCommandListNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsEnabledIndexedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLboolean ret;
    } *params32 = args;
    struct glIsEnabledIndexedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glIsEnabledIndexedEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsEnabledi( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLboolean ret;
    } *params32 = args;
    struct glIsEnabledi_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glIsEnabledi( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsFenceAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint fence;
        GLboolean ret;
    } *params32 = args;
    struct glIsFenceAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .fence = params32->fence,
    };
    NTSTATUS status;
    status = ext_glIsFenceAPPLE( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsFenceNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint fence;
        GLboolean ret;
    } *params32 = args;
    struct glIsFenceNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .fence = params32->fence,
    };
    NTSTATUS status;
    status = ext_glIsFenceNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsFramebuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLboolean ret;
    } *params32 = args;
    struct glIsFramebuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
    };
    NTSTATUS status;
    status = ext_glIsFramebuffer( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsFramebufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLboolean ret;
    } *params32 = args;
    struct glIsFramebufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
    };
    NTSTATUS status;
    status = ext_glIsFramebufferEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsImageHandleResidentARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
        GLboolean ret;
    } *params32 = args;
    struct glIsImageHandleResidentARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
    };
    NTSTATUS status;
    status = ext_glIsImageHandleResidentARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsImageHandleResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
        GLboolean ret;
    } *params32 = args;
    struct glIsImageHandleResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
    };
    NTSTATUS status;
    status = ext_glIsImageHandleResidentNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsMemoryObjectEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint memoryObject;
        GLboolean ret;
    } *params32 = args;
    struct glIsMemoryObjectEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .memoryObject = params32->memoryObject,
    };
    NTSTATUS status;
    status = ext_glIsMemoryObjectEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsNameAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum identifier;
        GLuint name;
        GLboolean ret;
    } *params32 = args;
    struct glIsNameAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .identifier = params32->identifier,
        .name = params32->name,
    };
    NTSTATUS status;
    status = ext_glIsNameAMD( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsNamedBufferResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLboolean ret;
    } *params32 = args;
    struct glIsNamedBufferResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glIsNamedBufferResidentNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsNamedStringARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint namelen;
        PTR32 name;
        GLboolean ret;
    } *params32 = args;
    struct glIsNamedStringARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .namelen = params32->namelen,
        .name = ULongToPtr(params32->name),
    };
    NTSTATUS status;
    status = ext_glIsNamedStringARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsObjectBufferATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLboolean ret;
    } *params32 = args;
    struct glIsObjectBufferATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glIsObjectBufferATI( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsOcclusionQueryNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLboolean ret;
    } *params32 = args;
    struct glIsOcclusionQueryNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glIsOcclusionQueryNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsPathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLboolean ret;
    } *params32 = args;
    struct glIsPathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
    };
    NTSTATUS status;
    status = ext_glIsPathNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsPointInFillPathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLuint mask;
        GLfloat x;
        GLfloat y;
        GLboolean ret;
    } *params32 = args;
    struct glIsPointInFillPathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .mask = params32->mask,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glIsPointInFillPathNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsPointInStrokePathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLfloat x;
        GLfloat y;
        GLboolean ret;
    } *params32 = args;
    struct glIsPointInStrokePathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glIsPointInStrokePathNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsProgram( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLboolean ret;
    } *params32 = args;
    struct glIsProgram_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
    };
    NTSTATUS status;
    status = ext_glIsProgram( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsProgramARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLboolean ret;
    } *params32 = args;
    struct glIsProgramARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
    };
    NTSTATUS status;
    status = ext_glIsProgramARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsProgramNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLboolean ret;
    } *params32 = args;
    struct glIsProgramNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glIsProgramNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsProgramPipeline( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint pipeline;
        GLboolean ret;
    } *params32 = args;
    struct glIsProgramPipeline_params params =
    {
        .teb = get_teb64(params32->teb),
        .pipeline = params32->pipeline,
    };
    NTSTATUS status;
    status = ext_glIsProgramPipeline( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsQuery( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLboolean ret;
    } *params32 = args;
    struct glIsQuery_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glIsQuery( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsQueryARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLboolean ret;
    } *params32 = args;
    struct glIsQueryARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glIsQueryARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsRenderbuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint renderbuffer;
        GLboolean ret;
    } *params32 = args;
    struct glIsRenderbuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .renderbuffer = params32->renderbuffer,
    };
    NTSTATUS status;
    status = ext_glIsRenderbuffer( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsRenderbufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint renderbuffer;
        GLboolean ret;
    } *params32 = args;
    struct glIsRenderbufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .renderbuffer = params32->renderbuffer,
    };
    NTSTATUS status;
    status = ext_glIsRenderbufferEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsSampler( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sampler;
        GLboolean ret;
    } *params32 = args;
    struct glIsSampler_params params =
    {
        .teb = get_teb64(params32->teb),
        .sampler = params32->sampler,
    };
    NTSTATUS status;
    status = ext_glIsSampler( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsSemaphoreEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint semaphore;
        GLboolean ret;
    } *params32 = args;
    struct glIsSemaphoreEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .semaphore = params32->semaphore,
    };
    NTSTATUS status;
    status = ext_glIsSemaphoreEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsShader( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint shader;
        GLboolean ret;
    } *params32 = args;
    struct glIsShader_params params =
    {
        .teb = get_teb64(params32->teb),
        .shader = params32->shader,
    };
    NTSTATUS status;
    status = ext_glIsShader( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsStateNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint state;
        GLboolean ret;
    } *params32 = args;
    struct glIsStateNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .state = params32->state,
    };
    NTSTATUS status;
    status = ext_glIsStateNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsTextureEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLboolean ret;
    } *params32 = args;
    struct glIsTextureEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glIsTextureEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsTextureHandleResidentARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
        GLboolean ret;
    } *params32 = args;
    struct glIsTextureHandleResidentARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
    };
    NTSTATUS status;
    status = ext_glIsTextureHandleResidentARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsTextureHandleResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
        GLboolean ret;
    } *params32 = args;
    struct glIsTextureHandleResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
    };
    NTSTATUS status;
    status = ext_glIsTextureHandleResidentNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsTransformFeedback( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLboolean ret;
    } *params32 = args;
    struct glIsTransformFeedback_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glIsTransformFeedback( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsTransformFeedbackNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLboolean ret;
    } *params32 = args;
    struct glIsTransformFeedbackNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
    };
    NTSTATUS status;
    status = ext_glIsTransformFeedbackNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsVariantEnabledEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum cap;
        GLboolean ret;
    } *params32 = args;
    struct glIsVariantEnabledEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .cap = params32->cap,
    };
    NTSTATUS status;
    status = ext_glIsVariantEnabledEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsVertexArray( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint array;
        GLboolean ret;
    } *params32 = args;
    struct glIsVertexArray_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
    };
    NTSTATUS status;
    status = ext_glIsVertexArray( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsVertexArrayAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint array;
        GLboolean ret;
    } *params32 = args;
    struct glIsVertexArrayAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .array = params32->array,
    };
    NTSTATUS status;
    status = ext_glIsVertexArrayAPPLE( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glIsVertexAttribEnabledAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        GLboolean ret;
    } *params32 = args;
    struct glIsVertexAttribEnabledAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
    };
    NTSTATUS status;
    status = ext_glIsVertexAttribEnabledAPPLE( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glLGPUCopyImageSubDataNVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sourceGpu;
        GLbitfield destinationGpuMask;
        GLuint srcName;
        GLenum srcTarget;
        GLint srcLevel;
        GLint srcX;
        GLint srxY;
        GLint srcZ;
        GLuint dstName;
        GLenum dstTarget;
        GLint dstLevel;
        GLint dstX;
        GLint dstY;
        GLint dstZ;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
    } *params32 = args;
    struct glLGPUCopyImageSubDataNVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .sourceGpu = params32->sourceGpu,
        .destinationGpuMask = params32->destinationGpuMask,
        .srcName = params32->srcName,
        .srcTarget = params32->srcTarget,
        .srcLevel = params32->srcLevel,
        .srcX = params32->srcX,
        .srxY = params32->srxY,
        .srcZ = params32->srcZ,
        .dstName = params32->dstName,
        .dstTarget = params32->dstTarget,
        .dstLevel = params32->dstLevel,
        .dstX = params32->dstX,
        .dstY = params32->dstY,
        .dstZ = params32->dstZ,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
    };
    NTSTATUS status;
    status = ext_glLGPUCopyImageSubDataNVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glLGPUInterlockNVX( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glLGPUInterlockNVX_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glLGPUInterlockNVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glLGPUNamedBufferSubDataNVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield gpuMask;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
        PTR32 data;
    } *params32 = args;
    struct glLGPUNamedBufferSubDataNVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .gpuMask = params32->gpuMask,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glLGPUNamedBufferSubDataNVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glLabelObjectEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint object;
        GLsizei length;
        PTR32 label;
    } *params32 = args;
    struct glLabelObjectEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .object = params32->object,
        .length = params32->length,
        .label = ULongToPtr(params32->label),
    };
    NTSTATUS status;
    status = ext_glLabelObjectEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glLightEnviSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glLightEnviSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glLightEnviSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glLightModelxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfixed param;
    } *params32 = args;
    struct glLightModelxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glLightModelxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glLightModelxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glLightModelxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glLightModelxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glLightxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        GLfixed param;
    } *params32 = args;
    struct glLightxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glLightxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glLightxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum light;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glLightxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .light = params32->light,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glLightxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glLineWidthxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed width;
    } *params32 = args;
    struct glLineWidthxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glLineWidthxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glLinkProgram( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
    } *params32 = args;
    struct glLinkProgram_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
    };
    NTSTATUS status;
    status = ext_glLinkProgram( &params );
    return status;
}

static NTSTATUS wow64_ext_glLinkProgramARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB programObj;
    } *params32 = args;
    struct glLinkProgramARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .programObj = params32->programObj,
    };
    NTSTATUS status;
    status = ext_glLinkProgramARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glListDrawCommandsStatesClientNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLuint segment;
        PTR32 indirects;
        PTR32 sizes;
        PTR32 states;
        PTR32 fbos;
        GLuint count;
    } *params32 = args;
    struct glListDrawCommandsStatesClientNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
        .segment = params32->segment,
        .sizes = ULongToPtr(params32->sizes),
        .states = ULongToPtr(params32->states),
        .fbos = ULongToPtr(params32->fbos),
        .count = params32->count,
    };
    NTSTATUS status;
    params.indirects = copy_wow64_ptr32s( (UINT_PTR)params32->indirects, params32->count );
    status = ext_glListDrawCommandsStatesClientNV( &params );
    free( (void *)params.indirects );
    return status;
}

static NTSTATUS wow64_ext_glListParameterfSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glListParameterfSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glListParameterfSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glListParameterfvSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glListParameterfvSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glListParameterfvSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glListParameteriSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glListParameteriSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glListParameteriSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glListParameterivSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint list;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glListParameterivSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .list = params32->list,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glListParameterivSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glLoadIdentityDeformationMapSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield mask;
    } *params32 = args;
    struct glLoadIdentityDeformationMapSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glLoadIdentityDeformationMapSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glLoadMatrixxOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glLoadMatrixxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glLoadMatrixxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glLoadProgramNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint id;
        GLsizei len;
        PTR32 program;
    } *params32 = args;
    struct glLoadProgramNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .id = params32->id,
        .len = params32->len,
        .program = ULongToPtr(params32->program),
    };
    NTSTATUS status;
    status = ext_glLoadProgramNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glLoadTransposeMatrixd( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glLoadTransposeMatrixd_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glLoadTransposeMatrixd( &params );
    return status;
}

static NTSTATUS wow64_ext_glLoadTransposeMatrixdARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glLoadTransposeMatrixdARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glLoadTransposeMatrixdARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glLoadTransposeMatrixf( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glLoadTransposeMatrixf_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glLoadTransposeMatrixf( &params );
    return status;
}

static NTSTATUS wow64_ext_glLoadTransposeMatrixfARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glLoadTransposeMatrixfARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glLoadTransposeMatrixfARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glLoadTransposeMatrixxOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glLoadTransposeMatrixxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glLoadTransposeMatrixxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glLockArraysEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint first;
        GLsizei count;
    } *params32 = args;
    struct glLockArraysEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .first = params32->first,
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glLockArraysEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMTexCoord2fSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
        GLfloat t;
    } *params32 = args;
    struct glMTexCoord2fSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMTexCoord2fSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMTexCoord2fvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMTexCoord2fvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMTexCoord2fvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeBufferNonResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glMakeBufferNonResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glMakeBufferNonResidentNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeBufferResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum access;
    } *params32 = args;
    struct glMakeBufferResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .access = params32->access,
    };
    NTSTATUS status;
    status = ext_glMakeBufferResidentNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeImageHandleNonResidentARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
    } *params32 = args;
    struct glMakeImageHandleNonResidentARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
    };
    NTSTATUS status;
    status = ext_glMakeImageHandleNonResidentARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeImageHandleNonResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
    } *params32 = args;
    struct glMakeImageHandleNonResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
    };
    NTSTATUS status;
    status = ext_glMakeImageHandleNonResidentNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeImageHandleResidentARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
        GLenum access;
    } *params32 = args;
    struct glMakeImageHandleResidentARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
        .access = params32->access,
    };
    NTSTATUS status;
    status = ext_glMakeImageHandleResidentARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeImageHandleResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
        GLenum access;
    } *params32 = args;
    struct glMakeImageHandleResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
        .access = params32->access,
    };
    NTSTATUS status;
    status = ext_glMakeImageHandleResidentNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeNamedBufferNonResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
    } *params32 = args;
    struct glMakeNamedBufferNonResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glMakeNamedBufferNonResidentNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeNamedBufferResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLenum access;
    } *params32 = args;
    struct glMakeNamedBufferResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .access = params32->access,
    };
    NTSTATUS status;
    status = ext_glMakeNamedBufferResidentNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeTextureHandleNonResidentARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
    } *params32 = args;
    struct glMakeTextureHandleNonResidentARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
    };
    NTSTATUS status;
    status = ext_glMakeTextureHandleNonResidentARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeTextureHandleNonResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
    } *params32 = args;
    struct glMakeTextureHandleNonResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
    };
    NTSTATUS status;
    status = ext_glMakeTextureHandleNonResidentNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeTextureHandleResidentARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
    } *params32 = args;
    struct glMakeTextureHandleResidentARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
    };
    NTSTATUS status;
    status = ext_glMakeTextureHandleResidentARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMakeTextureHandleResidentNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 handle;
    } *params32 = args;
    struct glMakeTextureHandleResidentNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .handle = params32->handle,
    };
    NTSTATUS status;
    status = ext_glMakeTextureHandleResidentNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMap1xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfixed u1;
        GLfixed u2;
        GLint stride;
        GLint order;
        GLfixed points;
    } *params32 = args;
    struct glMap1xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .stride = params32->stride,
        .order = params32->order,
        .points = params32->points,
    };
    NTSTATUS status;
    status = ext_glMap1xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMap2xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfixed u1;
        GLfixed u2;
        GLint ustride;
        GLint uorder;
        GLfixed v1;
        GLfixed v2;
        GLint vstride;
        GLint vorder;
        GLfixed points;
    } *params32 = args;
    struct glMap2xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .ustride = params32->ustride,
        .uorder = params32->uorder,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .vstride = params32->vstride,
        .vorder = params32->vorder,
        .points = params32->points,
    };
    NTSTATUS status;
    status = ext_glMap2xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMapControlPointsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLenum type;
        GLsizei ustride;
        GLsizei vstride;
        GLint uorder;
        GLint vorder;
        GLboolean packed;
        PTR32 points;
    } *params32 = args;
    struct glMapControlPointsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .type = params32->type,
        .ustride = params32->ustride,
        .vstride = params32->vstride,
        .uorder = params32->uorder,
        .vorder = params32->vorder,
        .packed = params32->packed,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glMapControlPointsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMapGrid1xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLint n;
        GLfixed u1;
        GLfixed u2;
    } *params32 = args;
    struct glMapGrid1xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .u1 = params32->u1,
        .u2 = params32->u2,
    };
    NTSTATUS status;
    status = ext_glMapGrid1xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMapGrid2xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLint n;
        GLfixed u1;
        GLfixed u2;
        GLfixed v1;
        GLfixed v2;
    } *params32 = args;
    struct glMapGrid2xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glMapGrid2xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMapObjectBufferATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 ret;
    } *params32 = args;
    struct glMapObjectBufferATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glMapParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMapParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMapParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMapParameterivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMapParameterivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMapParameterivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMapTexture2DINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLbitfield access;
        PTR32 stride;
        PTR32 layout;
        PTR32 ret;
    } *params32 = args;
    struct glMapTexture2DINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .access = params32->access,
        .stride = ULongToPtr(params32->stride),
        .layout = ULongToPtr(params32->layout),
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glMapVertexAttrib1dAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint size;
        GLdouble u1;
        GLdouble u2;
        GLint stride;
        GLint order;
        PTR32 points;
    } *params32 = args;
    struct glMapVertexAttrib1dAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .stride = params32->stride,
        .order = params32->order,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glMapVertexAttrib1dAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glMapVertexAttrib1fAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint size;
        GLfloat u1;
        GLfloat u2;
        GLint stride;
        GLint order;
        PTR32 points;
    } *params32 = args;
    struct glMapVertexAttrib1fAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .stride = params32->stride,
        .order = params32->order,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glMapVertexAttrib1fAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glMapVertexAttrib2dAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint size;
        GLdouble u1;
        GLdouble u2;
        GLint ustride;
        GLint uorder;
        GLdouble v1;
        GLdouble v2;
        GLint vstride;
        GLint vorder;
        PTR32 points;
    } *params32 = args;
    struct glMapVertexAttrib2dAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .ustride = params32->ustride,
        .uorder = params32->uorder,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .vstride = params32->vstride,
        .vorder = params32->vorder,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glMapVertexAttrib2dAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glMapVertexAttrib2fAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint size;
        GLfloat u1;
        GLfloat u2;
        GLint ustride;
        GLint uorder;
        GLfloat v1;
        GLfloat v2;
        GLint vstride;
        GLint vorder;
        PTR32 points;
    } *params32 = args;
    struct glMapVertexAttrib2fAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .u1 = params32->u1,
        .u2 = params32->u2,
        .ustride = params32->ustride,
        .uorder = params32->uorder,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .vstride = params32->vstride,
        .vorder = params32->vorder,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glMapVertexAttrib2fAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glMaterialxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        GLfixed param;
    } *params32 = args;
    struct glMaterialxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glMaterialxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMaterialxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glMaterialxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glMaterialxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixFrustumEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLdouble left;
        GLdouble right;
        GLdouble bottom;
        GLdouble top;
        GLdouble zNear;
        GLdouble zFar;
    } *params32 = args;
    struct glMatrixFrustumEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .left = params32->left,
        .right = params32->right,
        .bottom = params32->bottom,
        .top = params32->top,
        .zNear = params32->zNear,
        .zFar = params32->zFar,
    };
    NTSTATUS status;
    status = ext_glMatrixFrustumEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixIndexPointerARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glMatrixIndexPointerARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glMatrixIndexPointerARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixIndexubvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        PTR32 indices;
    } *params32 = args;
    struct glMatrixIndexubvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .indices = ULongToPtr(params32->indices),
    };
    NTSTATUS status;
    status = ext_glMatrixIndexubvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixIndexuivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        PTR32 indices;
    } *params32 = args;
    struct glMatrixIndexuivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .indices = ULongToPtr(params32->indices),
    };
    NTSTATUS status;
    status = ext_glMatrixIndexuivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixIndexusvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        PTR32 indices;
    } *params32 = args;
    struct glMatrixIndexusvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .indices = ULongToPtr(params32->indices),
    };
    NTSTATUS status;
    status = ext_glMatrixIndexusvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixLoad3x2fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum matrixMode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixLoad3x2fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .matrixMode = params32->matrixMode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixLoad3x2fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixLoad3x3fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum matrixMode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixLoad3x3fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .matrixMode = params32->matrixMode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixLoad3x3fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixLoadIdentityEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glMatrixLoadIdentityEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glMatrixLoadIdentityEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixLoadTranspose3x3fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum matrixMode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixLoadTranspose3x3fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .matrixMode = params32->matrixMode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixLoadTranspose3x3fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixLoadTransposedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixLoadTransposedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixLoadTransposedEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixLoadTransposefEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixLoadTransposefEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixLoadTransposefEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixLoaddEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixLoaddEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixLoaddEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixLoadfEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixLoadfEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixLoadfEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixMult3x2fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum matrixMode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixMult3x2fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .matrixMode = params32->matrixMode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixMult3x2fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixMult3x3fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum matrixMode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixMult3x3fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .matrixMode = params32->matrixMode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixMult3x3fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixMultTranspose3x3fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum matrixMode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixMultTranspose3x3fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .matrixMode = params32->matrixMode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixMultTranspose3x3fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixMultTransposedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixMultTransposedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixMultTransposedEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixMultTransposefEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixMultTransposefEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixMultTransposefEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixMultdEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixMultdEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixMultdEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixMultfEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 m;
    } *params32 = args;
    struct glMatrixMultfEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMatrixMultfEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixOrthoEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLdouble left;
        GLdouble right;
        GLdouble bottom;
        GLdouble top;
        GLdouble zNear;
        GLdouble zFar;
    } *params32 = args;
    struct glMatrixOrthoEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .left = params32->left,
        .right = params32->right,
        .bottom = params32->bottom,
        .top = params32->top,
        .zNear = params32->zNear,
        .zFar = params32->zFar,
    };
    NTSTATUS status;
    status = ext_glMatrixOrthoEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixPopEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glMatrixPopEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glMatrixPopEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixPushEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glMatrixPushEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glMatrixPushEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixRotatedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLdouble angle;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glMatrixRotatedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .angle = params32->angle,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glMatrixRotatedEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixRotatefEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLfloat angle;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glMatrixRotatefEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .angle = params32->angle,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glMatrixRotatefEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixScaledEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glMatrixScaledEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glMatrixScaledEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixScalefEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glMatrixScalefEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glMatrixScalefEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixTranslatedEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glMatrixTranslatedEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glMatrixTranslatedEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMatrixTranslatefEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glMatrixTranslatefEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glMatrixTranslatefEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMaxShaderCompilerThreadsARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint count;
    } *params32 = args;
    struct glMaxShaderCompilerThreadsARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glMaxShaderCompilerThreadsARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMaxShaderCompilerThreadsKHR( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint count;
    } *params32 = args;
    struct glMaxShaderCompilerThreadsKHR_params params =
    {
        .teb = get_teb64(params32->teb),
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glMaxShaderCompilerThreadsKHR( &params );
    return status;
}

static NTSTATUS wow64_ext_glMemoryBarrier( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield barriers;
    } *params32 = args;
    struct glMemoryBarrier_params params =
    {
        .teb = get_teb64(params32->teb),
        .barriers = params32->barriers,
    };
    NTSTATUS status;
    status = ext_glMemoryBarrier( &params );
    return status;
}

static NTSTATUS wow64_ext_glMemoryBarrierByRegion( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield barriers;
    } *params32 = args;
    struct glMemoryBarrierByRegion_params params =
    {
        .teb = get_teb64(params32->teb),
        .barriers = params32->barriers,
    };
    NTSTATUS status;
    status = ext_glMemoryBarrierByRegion( &params );
    return status;
}

static NTSTATUS wow64_ext_glMemoryBarrierEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield barriers;
    } *params32 = args;
    struct glMemoryBarrierEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .barriers = params32->barriers,
    };
    NTSTATUS status;
    status = ext_glMemoryBarrierEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMemoryObjectParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint memoryObject;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMemoryObjectParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .memoryObject = params32->memoryObject,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMemoryObjectParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMinSampleShading( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat value;
    } *params32 = args;
    struct glMinSampleShading_params params =
    {
        .teb = get_teb64(params32->teb),
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glMinSampleShading( &params );
    return status;
}

static NTSTATUS wow64_ext_glMinSampleShadingARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat value;
    } *params32 = args;
    struct glMinSampleShadingARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glMinSampleShadingARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMinmax( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLboolean sink;
    } *params32 = args;
    struct glMinmax_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .sink = params32->sink,
    };
    NTSTATUS status;
    status = ext_glMinmax( &params );
    return status;
}

static NTSTATUS wow64_ext_glMinmaxEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLboolean sink;
    } *params32 = args;
    struct glMinmaxEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .sink = params32->sink,
    };
    NTSTATUS status;
    status = ext_glMinmaxEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultMatrixxOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glMultMatrixxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMultMatrixxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultTransposeMatrixd( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glMultTransposeMatrixd_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMultTransposeMatrixd( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultTransposeMatrixdARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glMultTransposeMatrixdARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMultTransposeMatrixdARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultTransposeMatrixf( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glMultTransposeMatrixf_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMultTransposeMatrixf( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultTransposeMatrixfARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glMultTransposeMatrixfARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMultTransposeMatrixfARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultTransposeMatrixxOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 m;
    } *params32 = args;
    struct glMultTransposeMatrixxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .m = ULongToPtr(params32->m),
    };
    NTSTATUS status;
    status = ext_glMultTransposeMatrixxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawArrays( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 first;
        PTR32 count;
        GLsizei drawcount;
    } *params32 = args;
    struct glMultiDrawArrays_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .first = ULongToPtr(params32->first),
        .count = ULongToPtr(params32->count),
        .drawcount = params32->drawcount,
    };
    NTSTATUS status;
    status = ext_glMultiDrawArrays( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawArraysEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 first;
        PTR32 count;
        GLsizei primcount;
    } *params32 = args;
    struct glMultiDrawArraysEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .first = ULongToPtr(params32->first),
        .count = ULongToPtr(params32->count),
        .primcount = params32->primcount,
    };
    NTSTATUS status;
    status = ext_glMultiDrawArraysEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawArraysIndirect( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 indirect;
        GLsizei drawcount;
        GLsizei stride;
    } *params32 = args;
    struct glMultiDrawArraysIndirect_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .indirect = ULongToPtr(params32->indirect),
        .drawcount = params32->drawcount,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glMultiDrawArraysIndirect( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawArraysIndirectAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 indirect;
        GLsizei primcount;
        GLsizei stride;
    } *params32 = args;
    struct glMultiDrawArraysIndirectAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .indirect = ULongToPtr(params32->indirect),
        .primcount = params32->primcount,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glMultiDrawArraysIndirectAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawArraysIndirectBindlessCountNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 indirect;
        GLsizei drawCount;
        GLsizei maxDrawCount;
        GLsizei stride;
        GLint vertexBufferCount;
    } *params32 = args;
    struct glMultiDrawArraysIndirectBindlessCountNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .indirect = ULongToPtr(params32->indirect),
        .drawCount = params32->drawCount,
        .maxDrawCount = params32->maxDrawCount,
        .stride = params32->stride,
        .vertexBufferCount = params32->vertexBufferCount,
    };
    NTSTATUS status;
    status = ext_glMultiDrawArraysIndirectBindlessCountNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawArraysIndirectBindlessNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 indirect;
        GLsizei drawCount;
        GLsizei stride;
        GLint vertexBufferCount;
    } *params32 = args;
    struct glMultiDrawArraysIndirectBindlessNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .indirect = ULongToPtr(params32->indirect),
        .drawCount = params32->drawCount,
        .stride = params32->stride,
        .vertexBufferCount = params32->vertexBufferCount,
    };
    NTSTATUS status;
    status = ext_glMultiDrawArraysIndirectBindlessNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawArraysIndirectCount( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 indirect;
        PTR32 drawcount;
        GLsizei maxdrawcount;
        GLsizei stride;
    } *params32 = args;
    struct glMultiDrawArraysIndirectCount_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .indirect = ULongToPtr(params32->indirect),
        .drawcount = (GLintptr)ULongToPtr(params32->drawcount),
        .maxdrawcount = params32->maxdrawcount,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glMultiDrawArraysIndirectCount( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawArraysIndirectCountARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 indirect;
        PTR32 drawcount;
        GLsizei maxdrawcount;
        GLsizei stride;
    } *params32 = args;
    struct glMultiDrawArraysIndirectCountARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .indirect = ULongToPtr(params32->indirect),
        .drawcount = (GLintptr)ULongToPtr(params32->drawcount),
        .maxdrawcount = params32->maxdrawcount,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glMultiDrawArraysIndirectCountARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawElementArrayAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 first;
        PTR32 count;
        GLsizei primcount;
    } *params32 = args;
    struct glMultiDrawElementArrayAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .first = ULongToPtr(params32->first),
        .count = ULongToPtr(params32->count),
        .primcount = params32->primcount,
    };
    NTSTATUS status;
    status = ext_glMultiDrawElementArrayAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawElements( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 count;
        GLenum type;
        PTR32 indices;
        GLsizei drawcount;
    } *params32 = args;
    struct glMultiDrawElements_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = ULongToPtr(params32->count),
        .type = params32->type,
        .drawcount = params32->drawcount,
    };
    NTSTATUS status;
    params.indices = copy_wow64_ptr32s( (UINT_PTR)params32->indices, params32->drawcount );
    status = ext_glMultiDrawElements( &params );
    free( (void *)params.indices );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawElementsBaseVertex( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 count;
        GLenum type;
        PTR32 indices;
        GLsizei drawcount;
        PTR32 basevertex;
    } *params32 = args;
    struct glMultiDrawElementsBaseVertex_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = ULongToPtr(params32->count),
        .type = params32->type,
        .drawcount = params32->drawcount,
        .basevertex = ULongToPtr(params32->basevertex),
    };
    NTSTATUS status;
    params.indices = copy_wow64_ptr32s( (UINT_PTR)params32->indices, params32->drawcount );
    status = ext_glMultiDrawElementsBaseVertex( &params );
    free( (void *)params.indices );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawElementsEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        PTR32 count;
        GLenum type;
        PTR32 indices;
        GLsizei primcount;
    } *params32 = args;
    struct glMultiDrawElementsEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = ULongToPtr(params32->count),
        .type = params32->type,
        .primcount = params32->primcount,
    };
    NTSTATUS status;
    params.indices = copy_wow64_ptr32s( (UINT_PTR)params32->indices, params32->primcount );
    status = ext_glMultiDrawElementsEXT( &params );
    free( (void *)params.indices );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawElementsIndirect( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLenum type;
        PTR32 indirect;
        GLsizei drawcount;
        GLsizei stride;
    } *params32 = args;
    struct glMultiDrawElementsIndirect_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .type = params32->type,
        .indirect = ULongToPtr(params32->indirect),
        .drawcount = params32->drawcount,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glMultiDrawElementsIndirect( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawElementsIndirectAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLenum type;
        PTR32 indirect;
        GLsizei primcount;
        GLsizei stride;
    } *params32 = args;
    struct glMultiDrawElementsIndirectAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .type = params32->type,
        .indirect = ULongToPtr(params32->indirect),
        .primcount = params32->primcount,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glMultiDrawElementsIndirectAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawElementsIndirectBindlessCountNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLenum type;
        PTR32 indirect;
        GLsizei drawCount;
        GLsizei maxDrawCount;
        GLsizei stride;
        GLint vertexBufferCount;
    } *params32 = args;
    struct glMultiDrawElementsIndirectBindlessCountNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .type = params32->type,
        .indirect = ULongToPtr(params32->indirect),
        .drawCount = params32->drawCount,
        .maxDrawCount = params32->maxDrawCount,
        .stride = params32->stride,
        .vertexBufferCount = params32->vertexBufferCount,
    };
    NTSTATUS status;
    status = ext_glMultiDrawElementsIndirectBindlessCountNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawElementsIndirectBindlessNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLenum type;
        PTR32 indirect;
        GLsizei drawCount;
        GLsizei stride;
        GLint vertexBufferCount;
    } *params32 = args;
    struct glMultiDrawElementsIndirectBindlessNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .type = params32->type,
        .indirect = ULongToPtr(params32->indirect),
        .drawCount = params32->drawCount,
        .stride = params32->stride,
        .vertexBufferCount = params32->vertexBufferCount,
    };
    NTSTATUS status;
    status = ext_glMultiDrawElementsIndirectBindlessNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawElementsIndirectCount( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLenum type;
        PTR32 indirect;
        PTR32 drawcount;
        GLsizei maxdrawcount;
        GLsizei stride;
    } *params32 = args;
    struct glMultiDrawElementsIndirectCount_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .type = params32->type,
        .indirect = ULongToPtr(params32->indirect),
        .drawcount = (GLintptr)ULongToPtr(params32->drawcount),
        .maxdrawcount = params32->maxdrawcount,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glMultiDrawElementsIndirectCount( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawElementsIndirectCountARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLenum type;
        PTR32 indirect;
        PTR32 drawcount;
        GLsizei maxdrawcount;
        GLsizei stride;
    } *params32 = args;
    struct glMultiDrawElementsIndirectCountARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .type = params32->type,
        .indirect = ULongToPtr(params32->indirect),
        .drawcount = (GLintptr)ULongToPtr(params32->drawcount),
        .maxdrawcount = params32->maxdrawcount,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glMultiDrawElementsIndirectCountARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawMeshTasksIndirectCountNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 indirect;
        PTR32 drawcount;
        GLsizei maxdrawcount;
        GLsizei stride;
    } *params32 = args;
    struct glMultiDrawMeshTasksIndirectCountNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .indirect = (GLintptr)ULongToPtr(params32->indirect),
        .drawcount = (GLintptr)ULongToPtr(params32->drawcount),
        .maxdrawcount = params32->maxdrawcount,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glMultiDrawMeshTasksIndirectCountNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawMeshTasksIndirectNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 indirect;
        GLsizei drawcount;
        GLsizei stride;
    } *params32 = args;
    struct glMultiDrawMeshTasksIndirectNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .indirect = (GLintptr)ULongToPtr(params32->indirect),
        .drawcount = params32->drawcount,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glMultiDrawMeshTasksIndirectNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiDrawRangeElementArrayAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLuint start;
        GLuint end;
        PTR32 first;
        PTR32 count;
        GLsizei primcount;
    } *params32 = args;
    struct glMultiDrawRangeElementArrayAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .start = params32->start,
        .end = params32->end,
        .first = ULongToPtr(params32->first),
        .count = ULongToPtr(params32->count),
        .primcount = params32->primcount,
    };
    NTSTATUS status;
    status = ext_glMultiDrawRangeElementArrayAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiModeDrawArraysIBM( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 mode;
        PTR32 first;
        PTR32 count;
        GLsizei primcount;
        GLint modestride;
    } *params32 = args;
    struct glMultiModeDrawArraysIBM_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = ULongToPtr(params32->mode),
        .first = ULongToPtr(params32->first),
        .count = ULongToPtr(params32->count),
        .primcount = params32->primcount,
        .modestride = params32->modestride,
    };
    NTSTATUS status;
    status = ext_glMultiModeDrawArraysIBM( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiModeDrawElementsIBM( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 mode;
        PTR32 count;
        GLenum type;
        PTR32 indices;
        GLsizei primcount;
        GLint modestride;
    } *params32 = args;
    struct glMultiModeDrawElementsIBM_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = ULongToPtr(params32->mode),
        .count = ULongToPtr(params32->count),
        .type = params32->type,
        .primcount = params32->primcount,
        .modestride = params32->modestride,
    };
    NTSTATUS status;
    params.indices = copy_wow64_ptr32s( (UINT_PTR)params32->indices, params32->primcount );
    status = ext_glMultiModeDrawElementsIBM( &params );
    free( (void *)params.indices );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexBufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum internalformat;
        GLuint buffer;
    } *params32 = args;
    struct glMultiTexBufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .internalformat = params32->internalformat,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glMultiTexBufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1bOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLbyte s;
    } *params32 = args;
    struct glMultiTexCoord1bOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1bOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1bvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoord1bvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1bvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1d( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
    } *params32 = args;
    struct glMultiTexCoord1d_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1d( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
    } *params32 = args;
    struct glMultiTexCoord1dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1dSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
    } *params32 = args;
    struct glMultiTexCoord1dSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1dSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1dvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1dvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1dvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1f( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
    } *params32 = args;
    struct glMultiTexCoord1f_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1f( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
    } *params32 = args;
    struct glMultiTexCoord1fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1fSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
    } *params32 = args;
    struct glMultiTexCoord1fSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1fSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1fvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1fvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1fvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLhalfNV s;
    } *params32 = args;
    struct glMultiTexCoord1hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1i( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
    } *params32 = args;
    struct glMultiTexCoord1i_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1i( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1iARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
    } *params32 = args;
    struct glMultiTexCoord1iARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1iARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1iSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
    } *params32 = args;
    struct glMultiTexCoord1iSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1iSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1ivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1ivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1ivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1ivSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1ivSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1ivSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1s( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
    } *params32 = args;
    struct glMultiTexCoord1s_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1s( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1sARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
    } *params32 = args;
    struct glMultiTexCoord1sARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1sARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1sSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
    } *params32 = args;
    struct glMultiTexCoord1sSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1sSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1sv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1svARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1svARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1svARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1svSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord1svSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1svSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLfixed s;
    } *params32 = args;
    struct glMultiTexCoord1xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord1xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoord1xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord1xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2bOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLbyte s;
        GLbyte t;
    } *params32 = args;
    struct glMultiTexCoord2bOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2bOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2bvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoord2bvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2bvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
        GLdouble t;
    } *params32 = args;
    struct glMultiTexCoord2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2d( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
        GLdouble t;
    } *params32 = args;
    struct glMultiTexCoord2dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2dSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
        GLdouble t;
    } *params32 = args;
    struct glMultiTexCoord2dSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2dSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2dvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2dvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2dvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2f( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
        GLfloat t;
    } *params32 = args;
    struct glMultiTexCoord2f_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2f( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
        GLfloat t;
    } *params32 = args;
    struct glMultiTexCoord2fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2fSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
        GLfloat t;
    } *params32 = args;
    struct glMultiTexCoord2fSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2fSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2fvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2fvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2fvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLhalfNV s;
        GLhalfNV t;
    } *params32 = args;
    struct glMultiTexCoord2hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2i( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
        GLint t;
    } *params32 = args;
    struct glMultiTexCoord2i_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2i( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2iARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
        GLint t;
    } *params32 = args;
    struct glMultiTexCoord2iARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2iARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2iSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
        GLint t;
    } *params32 = args;
    struct glMultiTexCoord2iSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2iSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2ivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2ivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2ivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2ivSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2ivSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2ivSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2s( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
        GLshort t;
    } *params32 = args;
    struct glMultiTexCoord2s_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2s( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2sARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
        GLshort t;
    } *params32 = args;
    struct glMultiTexCoord2sARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2sARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2sSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
        GLshort t;
    } *params32 = args;
    struct glMultiTexCoord2sSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2sSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2sv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2svARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2svARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2svARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2svSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord2svSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2svSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLfixed s;
        GLfixed t;
    } *params32 = args;
    struct glMultiTexCoord2xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord2xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoord2xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord2xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3bOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLbyte s;
        GLbyte t;
        GLbyte r;
    } *params32 = args;
    struct glMultiTexCoord3bOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3bOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3bvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoord3bvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3bvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
        GLdouble t;
        GLdouble r;
    } *params32 = args;
    struct glMultiTexCoord3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3d( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
        GLdouble t;
        GLdouble r;
    } *params32 = args;
    struct glMultiTexCoord3dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3dSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
        GLdouble t;
        GLdouble r;
    } *params32 = args;
    struct glMultiTexCoord3dSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3dSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3dvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3dvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3dvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3f( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
        GLfloat t;
        GLfloat r;
    } *params32 = args;
    struct glMultiTexCoord3f_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3f( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
        GLfloat t;
        GLfloat r;
    } *params32 = args;
    struct glMultiTexCoord3fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3fSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
        GLfloat t;
        GLfloat r;
    } *params32 = args;
    struct glMultiTexCoord3fSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3fSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3fvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3fvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3fvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLhalfNV s;
        GLhalfNV t;
        GLhalfNV r;
    } *params32 = args;
    struct glMultiTexCoord3hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3i( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
        GLint t;
        GLint r;
    } *params32 = args;
    struct glMultiTexCoord3i_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3i( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3iARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
        GLint t;
        GLint r;
    } *params32 = args;
    struct glMultiTexCoord3iARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3iARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3iSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
        GLint t;
        GLint r;
    } *params32 = args;
    struct glMultiTexCoord3iSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3iSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3ivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3ivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3ivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3ivSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3ivSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3ivSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3s( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
        GLshort t;
        GLshort r;
    } *params32 = args;
    struct glMultiTexCoord3s_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3s( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3sARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
        GLshort t;
        GLshort r;
    } *params32 = args;
    struct glMultiTexCoord3sARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3sARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3sSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
        GLshort t;
        GLshort r;
    } *params32 = args;
    struct glMultiTexCoord3sSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3sSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3sv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3svARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3svARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3svARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3svSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord3svSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3svSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLfixed s;
        GLfixed t;
        GLfixed r;
    } *params32 = args;
    struct glMultiTexCoord3xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord3xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoord3xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord3xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4bOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLbyte s;
        GLbyte t;
        GLbyte r;
        GLbyte q;
    } *params32 = args;
    struct glMultiTexCoord4bOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4bOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4bvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoord4bvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4bvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4d( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
        GLdouble t;
        GLdouble r;
        GLdouble q;
    } *params32 = args;
    struct glMultiTexCoord4d_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4d( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
        GLdouble t;
        GLdouble r;
        GLdouble q;
    } *params32 = args;
    struct glMultiTexCoord4dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4dSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLdouble s;
        GLdouble t;
        GLdouble r;
        GLdouble q;
    } *params32 = args;
    struct glMultiTexCoord4dSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4dSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4dvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4dvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4dvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4f( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
        GLfloat t;
        GLfloat r;
        GLfloat q;
    } *params32 = args;
    struct glMultiTexCoord4f_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4f( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
        GLfloat t;
        GLfloat r;
        GLfloat q;
    } *params32 = args;
    struct glMultiTexCoord4fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4fSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLfloat s;
        GLfloat t;
        GLfloat r;
        GLfloat q;
    } *params32 = args;
    struct glMultiTexCoord4fSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4fSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4fvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4fvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4fvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLhalfNV s;
        GLhalfNV t;
        GLhalfNV r;
        GLhalfNV q;
    } *params32 = args;
    struct glMultiTexCoord4hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4i( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
        GLint t;
        GLint r;
        GLint q;
    } *params32 = args;
    struct glMultiTexCoord4i_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4i( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4iARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
        GLint t;
        GLint r;
        GLint q;
    } *params32 = args;
    struct glMultiTexCoord4iARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4iARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4iSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint s;
        GLint t;
        GLint r;
        GLint q;
    } *params32 = args;
    struct glMultiTexCoord4iSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4iSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4ivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4ivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4ivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4ivSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4ivSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4ivSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4s( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
        GLshort t;
        GLshort r;
        GLshort q;
    } *params32 = args;
    struct glMultiTexCoord4s_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4s( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4sARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
        GLshort t;
        GLshort r;
        GLshort q;
    } *params32 = args;
    struct glMultiTexCoord4sARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4sARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4sSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLshort s;
        GLshort t;
        GLshort r;
        GLshort q;
    } *params32 = args;
    struct glMultiTexCoord4sSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4sSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4sv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4svARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4svARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4svARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4svSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        PTR32 v;
    } *params32 = args;
    struct glMultiTexCoord4svSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4svSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLfixed s;
        GLfixed t;
        GLfixed r;
        GLfixed q;
    } *params32 = args;
    struct glMultiTexCoord4xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoord4xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoord4xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoord4xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoordP1ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLenum type;
        GLuint coords;
    } *params32 = args;
    struct glMultiTexCoordP1ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .type = params32->type,
        .coords = params32->coords,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoordP1ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoordP1uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLenum type;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoordP1uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .type = params32->type,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoordP1uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoordP2ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLenum type;
        GLuint coords;
    } *params32 = args;
    struct glMultiTexCoordP2ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .type = params32->type,
        .coords = params32->coords,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoordP2ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoordP2uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLenum type;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoordP2uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .type = params32->type,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoordP2uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoordP3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLenum type;
        GLuint coords;
    } *params32 = args;
    struct glMultiTexCoordP3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .type = params32->type,
        .coords = params32->coords,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoordP3ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoordP3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLenum type;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoordP3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .type = params32->type,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoordP3uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoordP4ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLenum type;
        GLuint coords;
    } *params32 = args;
    struct glMultiTexCoordP4ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .type = params32->type,
        .coords = params32->coords,
    };
    NTSTATUS status;
    status = ext_glMultiTexCoordP4ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoordP4uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texture;
        GLenum type;
        PTR32 coords;
    } *params32 = args;
    struct glMultiTexCoordP4uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .type = params32->type,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoordP4uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoordPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glMultiTexCoordPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoordPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexCoordPointerSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glMultiTexCoordPointerSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glMultiTexCoordPointerSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexEnvfEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glMultiTexEnvfEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glMultiTexEnvfEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexEnvfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMultiTexEnvfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMultiTexEnvfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexEnviEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glMultiTexEnviEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glMultiTexEnviEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexEnvivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMultiTexEnvivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMultiTexEnvivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexGendEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum coord;
        GLenum pname;
        GLdouble param;
    } *params32 = args;
    struct glMultiTexGendEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .coord = params32->coord,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glMultiTexGendEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexGendvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMultiTexGendvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMultiTexGendvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexGenfEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum coord;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glMultiTexGenfEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .coord = params32->coord,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glMultiTexGenfEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexGenfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMultiTexGenfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMultiTexGenfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexGeniEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum coord;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glMultiTexGeniEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .coord = params32->coord,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glMultiTexGeniEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexGenivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMultiTexGenivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMultiTexGenivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint internalformat;
        GLsizei width;
        GLint border;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glMultiTexImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .border = params32->border,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glMultiTexImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint internalformat;
        GLsizei width;
        GLsizei height;
        GLint border;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glMultiTexImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .border = params32->border,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glMultiTexImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLint border;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glMultiTexImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .border = params32->border,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glMultiTexImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexParameterIivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMultiTexParameterIivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMultiTexParameterIivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexParameterIuivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMultiTexParameterIuivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMultiTexParameterIuivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexParameterfEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glMultiTexParameterfEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glMultiTexParameterfEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMultiTexParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMultiTexParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexParameteriEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glMultiTexParameteriEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glMultiTexParameteriEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMultiTexParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMultiTexParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexRenderbufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLuint renderbuffer;
    } *params32 = args;
    struct glMultiTexRenderbufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .renderbuffer = params32->renderbuffer,
    };
    NTSTATUS status;
    status = ext_glMultiTexRenderbufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexSubImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLsizei width;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glMultiTexSubImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .width = params32->width,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glMultiTexSubImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexSubImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glMultiTexSubImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glMultiTexSubImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMultiTexSubImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texunit;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glMultiTexSubImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texunit = params32->texunit,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glMultiTexSubImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastBarrierNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glMulticastBarrierNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glMulticastBarrierNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastBlitFramebufferNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint srcGpu;
        GLuint dstGpu;
        GLint srcX0;
        GLint srcY0;
        GLint srcX1;
        GLint srcY1;
        GLint dstX0;
        GLint dstY0;
        GLint dstX1;
        GLint dstY1;
        GLbitfield mask;
        GLenum filter;
    } *params32 = args;
    struct glMulticastBlitFramebufferNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .srcGpu = params32->srcGpu,
        .dstGpu = params32->dstGpu,
        .srcX0 = params32->srcX0,
        .srcY0 = params32->srcY0,
        .srcX1 = params32->srcX1,
        .srcY1 = params32->srcY1,
        .dstX0 = params32->dstX0,
        .dstY0 = params32->dstY0,
        .dstX1 = params32->dstX1,
        .dstY1 = params32->dstY1,
        .mask = params32->mask,
        .filter = params32->filter,
    };
    NTSTATUS status;
    status = ext_glMulticastBlitFramebufferNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastBufferSubDataNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield gpuMask;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
        PTR32 data;
    } *params32 = args;
    struct glMulticastBufferSubDataNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .gpuMask = params32->gpuMask,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glMulticastBufferSubDataNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastCopyBufferSubDataNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint readGpu;
        GLbitfield writeGpuMask;
        GLuint readBuffer;
        GLuint writeBuffer;
        PTR32 readOffset;
        PTR32 writeOffset;
        PTR32 size;
    } *params32 = args;
    struct glMulticastCopyBufferSubDataNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .readGpu = params32->readGpu,
        .writeGpuMask = params32->writeGpuMask,
        .readBuffer = params32->readBuffer,
        .writeBuffer = params32->writeBuffer,
        .readOffset = (GLintptr)ULongToPtr(params32->readOffset),
        .writeOffset = (GLintptr)ULongToPtr(params32->writeOffset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glMulticastCopyBufferSubDataNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastCopyImageSubDataNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint srcGpu;
        GLbitfield dstGpuMask;
        GLuint srcName;
        GLenum srcTarget;
        GLint srcLevel;
        GLint srcX;
        GLint srcY;
        GLint srcZ;
        GLuint dstName;
        GLenum dstTarget;
        GLint dstLevel;
        GLint dstX;
        GLint dstY;
        GLint dstZ;
        GLsizei srcWidth;
        GLsizei srcHeight;
        GLsizei srcDepth;
    } *params32 = args;
    struct glMulticastCopyImageSubDataNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .srcGpu = params32->srcGpu,
        .dstGpuMask = params32->dstGpuMask,
        .srcName = params32->srcName,
        .srcTarget = params32->srcTarget,
        .srcLevel = params32->srcLevel,
        .srcX = params32->srcX,
        .srcY = params32->srcY,
        .srcZ = params32->srcZ,
        .dstName = params32->dstName,
        .dstTarget = params32->dstTarget,
        .dstLevel = params32->dstLevel,
        .dstX = params32->dstX,
        .dstY = params32->dstY,
        .dstZ = params32->dstZ,
        .srcWidth = params32->srcWidth,
        .srcHeight = params32->srcHeight,
        .srcDepth = params32->srcDepth,
    };
    NTSTATUS status;
    status = ext_glMulticastCopyImageSubDataNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastFramebufferSampleLocationsfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint gpu;
        GLuint framebuffer;
        GLuint start;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glMulticastFramebufferSampleLocationsfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .gpu = params32->gpu,
        .framebuffer = params32->framebuffer,
        .start = params32->start,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMulticastFramebufferSampleLocationsfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastGetQueryObjecti64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint gpu;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMulticastGetQueryObjecti64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .gpu = params32->gpu,
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMulticastGetQueryObjecti64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastGetQueryObjectivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint gpu;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMulticastGetQueryObjectivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .gpu = params32->gpu,
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMulticastGetQueryObjectivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastGetQueryObjectui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint gpu;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMulticastGetQueryObjectui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .gpu = params32->gpu,
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMulticastGetQueryObjectui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastGetQueryObjectuivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint gpu;
        GLuint id;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glMulticastGetQueryObjectuivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .gpu = params32->gpu,
        .id = params32->id,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glMulticastGetQueryObjectuivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastScissorArrayvNVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint gpu;
        GLuint first;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glMulticastScissorArrayvNVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .gpu = params32->gpu,
        .first = params32->first,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMulticastScissorArrayvNVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastViewportArrayvNVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint gpu;
        GLuint first;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glMulticastViewportArrayvNVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .gpu = params32->gpu,
        .first = params32->first,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glMulticastViewportArrayvNVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastViewportPositionWScaleNVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint gpu;
        GLuint index;
        GLfloat xcoeff;
        GLfloat ycoeff;
    } *params32 = args;
    struct glMulticastViewportPositionWScaleNVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .gpu = params32->gpu,
        .index = params32->index,
        .xcoeff = params32->xcoeff,
        .ycoeff = params32->ycoeff,
    };
    NTSTATUS status;
    status = ext_glMulticastViewportPositionWScaleNVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glMulticastWaitSyncNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint signalGpu;
        GLbitfield waitGpuMask;
    } *params32 = args;
    struct glMulticastWaitSyncNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .signalGpu = params32->signalGpu,
        .waitGpuMask = params32->waitGpuMask,
    };
    NTSTATUS status;
    status = ext_glMulticastWaitSyncNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedBufferAttachMemoryNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glNamedBufferAttachMemoryNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glNamedBufferAttachMemoryNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedBufferData( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 size;
        PTR32 data;
        GLenum usage;
    } *params32 = args;
    struct glNamedBufferData_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
        .usage = params32->usage,
    };
    NTSTATUS status;
    status = ext_glNamedBufferData( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedBufferDataEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 size;
        PTR32 data;
        GLenum usage;
    } *params32 = args;
    struct glNamedBufferDataEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
        .usage = params32->usage,
    };
    NTSTATUS status;
    status = ext_glNamedBufferDataEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedBufferPageCommitmentARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
        GLboolean commit;
    } *params32 = args;
    struct glNamedBufferPageCommitmentARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .commit = params32->commit,
    };
    NTSTATUS status;
    status = ext_glNamedBufferPageCommitmentARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedBufferPageCommitmentEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
        GLboolean commit;
    } *params32 = args;
    struct glNamedBufferPageCommitmentEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .commit = params32->commit,
    };
    NTSTATUS status;
    status = ext_glNamedBufferPageCommitmentEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedBufferStorage( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 size;
        PTR32 data;
        GLbitfield flags;
    } *params32 = args;
    struct glNamedBufferStorage_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
        .flags = params32->flags,
    };
    NTSTATUS status;
    status = ext_glNamedBufferStorage( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedBufferStorageEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 size;
        PTR32 data;
        GLbitfield flags;
    } *params32 = args;
    struct glNamedBufferStorageEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
        .flags = params32->flags,
    };
    NTSTATUS status;
    status = ext_glNamedBufferStorageEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedBufferStorageExternalEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
        PTR32 clientBuffer;
        GLbitfield flags;
    } *params32 = args;
    struct glNamedBufferStorageExternalEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .clientBuffer = ULongToPtr(params32->clientBuffer),
        .flags = params32->flags,
    };
    NTSTATUS status;
    status = ext_glNamedBufferStorageExternalEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedBufferStorageMemEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 size;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glNamedBufferStorageMemEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glNamedBufferStorageMemEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedBufferSubData( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
        PTR32 data;
    } *params32 = args;
    struct glNamedBufferSubData_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glNamedBufferSubData( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedBufferSubDataEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
        PTR32 data;
    } *params32 = args;
    struct glNamedBufferSubDataEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glNamedBufferSubDataEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedCopyBufferSubDataEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint readBuffer;
        GLuint writeBuffer;
        PTR32 readOffset;
        PTR32 writeOffset;
        PTR32 size;
    } *params32 = args;
    struct glNamedCopyBufferSubDataEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .readBuffer = params32->readBuffer,
        .writeBuffer = params32->writeBuffer,
        .readOffset = (GLintptr)ULongToPtr(params32->readOffset),
        .writeOffset = (GLintptr)ULongToPtr(params32->writeOffset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glNamedCopyBufferSubDataEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferDrawBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum buf;
    } *params32 = args;
    struct glNamedFramebufferDrawBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .buf = params32->buf,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferDrawBuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferDrawBuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLsizei n;
        PTR32 bufs;
    } *params32 = args;
    struct glNamedFramebufferDrawBuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .n = params32->n,
        .bufs = ULongToPtr(params32->bufs),
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferDrawBuffers( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferParameteri( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glNamedFramebufferParameteri_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferParameteri( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferParameteriEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glNamedFramebufferParameteriEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferParameteriEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferReadBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum src;
    } *params32 = args;
    struct glNamedFramebufferReadBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .src = params32->src,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferReadBuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferRenderbuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLenum renderbuffertarget;
        GLuint renderbuffer;
    } *params32 = args;
    struct glNamedFramebufferRenderbuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .renderbuffertarget = params32->renderbuffertarget,
        .renderbuffer = params32->renderbuffer,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferRenderbuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferRenderbufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLenum renderbuffertarget;
        GLuint renderbuffer;
    } *params32 = args;
    struct glNamedFramebufferRenderbufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .renderbuffertarget = params32->renderbuffertarget,
        .renderbuffer = params32->renderbuffer,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferRenderbufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferSampleLocationsfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLuint start;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glNamedFramebufferSampleLocationsfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .start = params32->start,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferSampleLocationsfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferSampleLocationsfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLuint start;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glNamedFramebufferSampleLocationsfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .start = params32->start,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferSampleLocationsfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferSamplePositionsfvAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLuint numsamples;
        GLuint pixelindex;
        PTR32 values;
    } *params32 = args;
    struct glNamedFramebufferSamplePositionsfvAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .numsamples = params32->numsamples,
        .pixelindex = params32->pixelindex,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferSamplePositionsfvAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferTexture( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glNamedFramebufferTexture_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferTexture( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferTexture1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLenum textarget;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glNamedFramebufferTexture1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .textarget = params32->textarget,
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferTexture1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferTexture2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLenum textarget;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glNamedFramebufferTexture2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .textarget = params32->textarget,
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferTexture2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferTexture3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLenum textarget;
        GLuint texture;
        GLint level;
        GLint zoffset;
    } *params32 = args;
    struct glNamedFramebufferTexture3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .textarget = params32->textarget,
        .texture = params32->texture,
        .level = params32->level,
        .zoffset = params32->zoffset,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferTexture3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferTextureEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glNamedFramebufferTextureEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferTextureEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferTextureFaceEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLuint texture;
        GLint level;
        GLenum face;
    } *params32 = args;
    struct glNamedFramebufferTextureFaceEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
        .face = params32->face,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferTextureFaceEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferTextureLayer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLuint texture;
        GLint level;
        GLint layer;
    } *params32 = args;
    struct glNamedFramebufferTextureLayer_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
        .layer = params32->layer,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferTextureLayer( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedFramebufferTextureLayerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint framebuffer;
        GLenum attachment;
        GLuint texture;
        GLint level;
        GLint layer;
    } *params32 = args;
    struct glNamedFramebufferTextureLayerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .framebuffer = params32->framebuffer,
        .attachment = params32->attachment,
        .texture = params32->texture,
        .level = params32->level,
        .layer = params32->layer,
    };
    NTSTATUS status;
    status = ext_glNamedFramebufferTextureLayerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramLocalParameter4dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glNamedProgramLocalParameter4dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glNamedProgramLocalParameter4dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramLocalParameter4dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glNamedProgramLocalParameter4dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glNamedProgramLocalParameter4dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramLocalParameter4fEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glNamedProgramLocalParameter4fEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glNamedProgramLocalParameter4fEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramLocalParameter4fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glNamedProgramLocalParameter4fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glNamedProgramLocalParameter4fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramLocalParameterI4iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        GLint x;
        GLint y;
        GLint z;
        GLint w;
    } *params32 = args;
    struct glNamedProgramLocalParameterI4iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glNamedProgramLocalParameterI4iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramLocalParameterI4ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glNamedProgramLocalParameterI4ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glNamedProgramLocalParameterI4ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramLocalParameterI4uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        GLuint x;
        GLuint y;
        GLuint z;
        GLuint w;
    } *params32 = args;
    struct glNamedProgramLocalParameterI4uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glNamedProgramLocalParameterI4uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramLocalParameterI4uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glNamedProgramLocalParameterI4uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glNamedProgramLocalParameterI4uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramLocalParameters4fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glNamedProgramLocalParameters4fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glNamedProgramLocalParameters4fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramLocalParametersI4ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glNamedProgramLocalParametersI4ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glNamedProgramLocalParametersI4ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramLocalParametersI4uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLuint index;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glNamedProgramLocalParametersI4uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .index = params32->index,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glNamedProgramLocalParametersI4uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedProgramStringEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum target;
        GLenum format;
        GLsizei len;
        PTR32 string;
    } *params32 = args;
    struct glNamedProgramStringEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .target = params32->target,
        .format = params32->format,
        .len = params32->len,
        .string = ULongToPtr(params32->string),
    };
    NTSTATUS status;
    status = ext_glNamedProgramStringEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedRenderbufferStorage( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint renderbuffer;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glNamedRenderbufferStorage_params params =
    {
        .teb = get_teb64(params32->teb),
        .renderbuffer = params32->renderbuffer,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glNamedRenderbufferStorage( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedRenderbufferStorageEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint renderbuffer;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glNamedRenderbufferStorageEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .renderbuffer = params32->renderbuffer,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glNamedRenderbufferStorageEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedRenderbufferStorageMultisample( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint renderbuffer;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glNamedRenderbufferStorageMultisample_params params =
    {
        .teb = get_teb64(params32->teb),
        .renderbuffer = params32->renderbuffer,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glNamedRenderbufferStorageMultisample( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedRenderbufferStorageMultisampleAdvancedAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint renderbuffer;
        GLsizei samples;
        GLsizei storageSamples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glNamedRenderbufferStorageMultisampleAdvancedAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .renderbuffer = params32->renderbuffer,
        .samples = params32->samples,
        .storageSamples = params32->storageSamples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glNamedRenderbufferStorageMultisampleAdvancedAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedRenderbufferStorageMultisampleCoverageEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint renderbuffer;
        GLsizei coverageSamples;
        GLsizei colorSamples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glNamedRenderbufferStorageMultisampleCoverageEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .renderbuffer = params32->renderbuffer,
        .coverageSamples = params32->coverageSamples,
        .colorSamples = params32->colorSamples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glNamedRenderbufferStorageMultisampleCoverageEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedRenderbufferStorageMultisampleEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint renderbuffer;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glNamedRenderbufferStorageMultisampleEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .renderbuffer = params32->renderbuffer,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glNamedRenderbufferStorageMultisampleEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNamedStringARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLint namelen;
        PTR32 name;
        GLint stringlen;
        PTR32 string;
    } *params32 = args;
    struct glNamedStringARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .namelen = params32->namelen,
        .name = ULongToPtr(params32->name),
        .stringlen = params32->stringlen,
        .string = ULongToPtr(params32->string),
    };
    NTSTATUS status;
    status = ext_glNamedStringARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glNewBufferRegion( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint ret;
    } *params32 = args;
    struct glNewBufferRegion_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
    };
    NTSTATUS status;
    status = ext_glNewBufferRegion( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glNewObjectBufferATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei size;
        PTR32 pointer;
        GLenum usage;
        GLuint ret;
    } *params32 = args;
    struct glNewObjectBufferATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .pointer = ULongToPtr(params32->pointer),
        .usage = params32->usage,
    };
    NTSTATUS status;
    status = ext_glNewObjectBufferATI( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glNormal3fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat nx;
        GLfloat ny;
        GLfloat nz;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glNormal3fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glNormal3fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormal3fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 n;
        PTR32 v;
    } *params32 = args;
    struct glNormal3fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = ULongToPtr(params32->n),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glNormal3fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormal3hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV nx;
        GLhalfNV ny;
        GLhalfNV nz;
    } *params32 = args;
    struct glNormal3hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = ext_glNormal3hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormal3hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glNormal3hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glNormal3hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormal3xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed nx;
        GLfixed ny;
        GLfixed nz;
    } *params32 = args;
    struct glNormal3xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = ext_glNormal3xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormal3xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glNormal3xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glNormal3xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalFormatNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
    } *params32 = args;
    struct glNormalFormatNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glNormalFormatNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalP3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint coords;
    } *params32 = args;
    struct glNormalP3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .coords = params32->coords,
    };
    NTSTATUS status;
    status = ext_glNormalP3ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalP3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 coords;
    } *params32 = args;
    struct glNormalP3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glNormalP3uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
        GLsizei count;
        PTR32 pointer;
    } *params32 = args;
    struct glNormalPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
        .count = params32->count,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glNormalPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalPointerListIBM( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLint stride;
        PTR32 pointer;
        GLint ptrstride;
    } *params32 = args;
    struct glNormalPointerListIBM_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
        .ptrstride = params32->ptrstride,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glNormalPointervINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 pointer;
    } *params32 = args;
    struct glNormalPointervINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glNormalStream3bATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLbyte nx;
        GLbyte ny;
        GLbyte nz;
    } *params32 = args;
    struct glNormalStream3bATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = ext_glNormalStream3bATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalStream3bvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glNormalStream3bvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glNormalStream3bvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalStream3dATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLdouble nx;
        GLdouble ny;
        GLdouble nz;
    } *params32 = args;
    struct glNormalStream3dATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = ext_glNormalStream3dATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalStream3dvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glNormalStream3dvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glNormalStream3dvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalStream3fATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLfloat nx;
        GLfloat ny;
        GLfloat nz;
    } *params32 = args;
    struct glNormalStream3fATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = ext_glNormalStream3fATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalStream3fvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glNormalStream3fvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glNormalStream3fvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalStream3iATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLint nx;
        GLint ny;
        GLint nz;
    } *params32 = args;
    struct glNormalStream3iATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = ext_glNormalStream3iATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalStream3ivATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glNormalStream3ivATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glNormalStream3ivATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalStream3sATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLshort nx;
        GLshort ny;
        GLshort nz;
    } *params32 = args;
    struct glNormalStream3sATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
    };
    NTSTATUS status;
    status = ext_glNormalStream3sATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glNormalStream3svATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glNormalStream3svATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glNormalStream3svATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glObjectLabel( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum identifier;
        GLuint name;
        GLsizei length;
        PTR32 label;
    } *params32 = args;
    struct glObjectLabel_params params =
    {
        .teb = get_teb64(params32->teb),
        .identifier = params32->identifier,
        .name = params32->name,
        .length = params32->length,
        .label = ULongToPtr(params32->label),
    };
    NTSTATUS status;
    status = ext_glObjectLabel( &params );
    return status;
}

static NTSTATUS wow64_ext_glObjectPtrLabel( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 ptr;
        GLsizei length;
        PTR32 label;
    } *params32 = args;
    struct glObjectPtrLabel_params params =
    {
        .teb = get_teb64(params32->teb),
        .ptr = ULongToPtr(params32->ptr),
        .length = params32->length,
        .label = ULongToPtr(params32->label),
    };
    NTSTATUS status;
    status = ext_glObjectPtrLabel( &params );
    return status;
}

static NTSTATUS wow64_ext_glObjectPurgeableAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum objectType;
        GLuint name;
        GLenum option;
        GLenum ret;
    } *params32 = args;
    struct glObjectPurgeableAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .objectType = params32->objectType,
        .name = params32->name,
        .option = params32->option,
    };
    NTSTATUS status;
    status = ext_glObjectPurgeableAPPLE( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glObjectUnpurgeableAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum objectType;
        GLuint name;
        GLenum option;
        GLenum ret;
    } *params32 = args;
    struct glObjectUnpurgeableAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .objectType = params32->objectType,
        .name = params32->name,
        .option = params32->option,
    };
    NTSTATUS status;
    status = ext_glObjectUnpurgeableAPPLE( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glOrthofOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat l;
        GLfloat r;
        GLfloat b;
        GLfloat t;
        GLfloat n;
        GLfloat f;
    } *params32 = args;
    struct glOrthofOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .l = params32->l,
        .r = params32->r,
        .b = params32->b,
        .t = params32->t,
        .n = params32->n,
        .f = params32->f,
    };
    NTSTATUS status;
    status = ext_glOrthofOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glOrthoxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed l;
        GLfixed r;
        GLfixed b;
        GLfixed t;
        GLfixed n;
        GLfixed f;
    } *params32 = args;
    struct glOrthoxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .l = params32->l,
        .r = params32->r,
        .b = params32->b,
        .t = params32->t,
        .n = params32->n,
        .f = params32->f,
    };
    NTSTATUS status;
    status = ext_glOrthoxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glPNTrianglesfATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glPNTrianglesfATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPNTrianglesfATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glPNTrianglesiATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glPNTrianglesiATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPNTrianglesiATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glPassTexCoordATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint dst;
        GLuint coord;
        GLenum swizzle;
    } *params32 = args;
    struct glPassTexCoordATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .dst = params32->dst,
        .coord = params32->coord,
        .swizzle = params32->swizzle,
    };
    NTSTATUS status;
    status = ext_glPassTexCoordATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glPassThroughxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed token;
    } *params32 = args;
    struct glPassThroughxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .token = params32->token,
    };
    NTSTATUS status;
    status = ext_glPassThroughxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glPatchParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 values;
    } *params32 = args;
    struct glPatchParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glPatchParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glPatchParameteri( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint value;
    } *params32 = args;
    struct glPatchParameteri_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glPatchParameteri( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathColorGenNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum color;
        GLenum genMode;
        GLenum colorFormat;
        PTR32 coeffs;
    } *params32 = args;
    struct glPathColorGenNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .color = params32->color,
        .genMode = params32->genMode,
        .colorFormat = params32->colorFormat,
        .coeffs = ULongToPtr(params32->coeffs),
    };
    NTSTATUS status;
    status = ext_glPathColorGenNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathCommandsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLsizei numCommands;
        PTR32 commands;
        GLsizei numCoords;
        GLenum coordType;
        PTR32 coords;
    } *params32 = args;
    struct glPathCommandsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .numCommands = params32->numCommands,
        .commands = ULongToPtr(params32->commands),
        .numCoords = params32->numCoords,
        .coordType = params32->coordType,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glPathCommandsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathCoordsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLsizei numCoords;
        GLenum coordType;
        PTR32 coords;
    } *params32 = args;
    struct glPathCoordsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .numCoords = params32->numCoords,
        .coordType = params32->coordType,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glPathCoordsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathCoverDepthFuncNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum func;
    } *params32 = args;
    struct glPathCoverDepthFuncNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .func = params32->func,
    };
    NTSTATUS status;
    status = ext_glPathCoverDepthFuncNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathDashArrayNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLsizei dashCount;
        PTR32 dashArray;
    } *params32 = args;
    struct glPathDashArrayNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .dashCount = params32->dashCount,
        .dashArray = ULongToPtr(params32->dashArray),
    };
    NTSTATUS status;
    status = ext_glPathDashArrayNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathFogGenNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum genMode;
    } *params32 = args;
    struct glPathFogGenNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .genMode = params32->genMode,
    };
    NTSTATUS status;
    status = ext_glPathFogGenNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathGlyphIndexArrayNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint firstPathName;
        GLenum fontTarget;
        PTR32 fontName;
        GLbitfield fontStyle;
        GLuint firstGlyphIndex;
        GLsizei numGlyphs;
        GLuint pathParameterTemplate;
        GLfloat emScale;
        GLenum ret;
    } *params32 = args;
    struct glPathGlyphIndexArrayNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .firstPathName = params32->firstPathName,
        .fontTarget = params32->fontTarget,
        .fontName = ULongToPtr(params32->fontName),
        .fontStyle = params32->fontStyle,
        .firstGlyphIndex = params32->firstGlyphIndex,
        .numGlyphs = params32->numGlyphs,
        .pathParameterTemplate = params32->pathParameterTemplate,
        .emScale = params32->emScale,
    };
    NTSTATUS status;
    status = ext_glPathGlyphIndexArrayNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glPathGlyphRangeNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint firstPathName;
        GLenum fontTarget;
        PTR32 fontName;
        GLbitfield fontStyle;
        GLuint firstGlyph;
        GLsizei numGlyphs;
        GLenum handleMissingGlyphs;
        GLuint pathParameterTemplate;
        GLfloat emScale;
    } *params32 = args;
    struct glPathGlyphRangeNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .firstPathName = params32->firstPathName,
        .fontTarget = params32->fontTarget,
        .fontName = ULongToPtr(params32->fontName),
        .fontStyle = params32->fontStyle,
        .firstGlyph = params32->firstGlyph,
        .numGlyphs = params32->numGlyphs,
        .handleMissingGlyphs = params32->handleMissingGlyphs,
        .pathParameterTemplate = params32->pathParameterTemplate,
        .emScale = params32->emScale,
    };
    NTSTATUS status;
    status = ext_glPathGlyphRangeNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathGlyphsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint firstPathName;
        GLenum fontTarget;
        PTR32 fontName;
        GLbitfield fontStyle;
        GLsizei numGlyphs;
        GLenum type;
        PTR32 charcodes;
        GLenum handleMissingGlyphs;
        GLuint pathParameterTemplate;
        GLfloat emScale;
    } *params32 = args;
    struct glPathGlyphsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .firstPathName = params32->firstPathName,
        .fontTarget = params32->fontTarget,
        .fontName = ULongToPtr(params32->fontName),
        .fontStyle = params32->fontStyle,
        .numGlyphs = params32->numGlyphs,
        .type = params32->type,
        .charcodes = ULongToPtr(params32->charcodes),
        .handleMissingGlyphs = params32->handleMissingGlyphs,
        .pathParameterTemplate = params32->pathParameterTemplate,
        .emScale = params32->emScale,
    };
    NTSTATUS status;
    status = ext_glPathGlyphsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathMemoryGlyphIndexArrayNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint firstPathName;
        GLenum fontTarget;
        PTR32 fontSize;
        PTR32 fontData;
        GLsizei faceIndex;
        GLuint firstGlyphIndex;
        GLsizei numGlyphs;
        GLuint pathParameterTemplate;
        GLfloat emScale;
        GLenum ret;
    } *params32 = args;
    struct glPathMemoryGlyphIndexArrayNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .firstPathName = params32->firstPathName,
        .fontTarget = params32->fontTarget,
        .fontSize = (GLsizeiptr)ULongToPtr(params32->fontSize),
        .fontData = ULongToPtr(params32->fontData),
        .faceIndex = params32->faceIndex,
        .firstGlyphIndex = params32->firstGlyphIndex,
        .numGlyphs = params32->numGlyphs,
        .pathParameterTemplate = params32->pathParameterTemplate,
        .emScale = params32->emScale,
    };
    NTSTATUS status;
    status = ext_glPathMemoryGlyphIndexArrayNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glPathParameterfNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLenum pname;
        GLfloat value;
    } *params32 = args;
    struct glPathParameterfNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .pname = params32->pname,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glPathParameterfNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLenum pname;
        PTR32 value;
    } *params32 = args;
    struct glPathParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .pname = params32->pname,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glPathParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathParameteriNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLenum pname;
        GLint value;
    } *params32 = args;
    struct glPathParameteriNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .pname = params32->pname,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glPathParameteriNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathParameterivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLenum pname;
        PTR32 value;
    } *params32 = args;
    struct glPathParameterivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .pname = params32->pname,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glPathParameterivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathStencilDepthOffsetNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat factor;
        GLfloat units;
    } *params32 = args;
    struct glPathStencilDepthOffsetNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
        .units = params32->units,
    };
    NTSTATUS status;
    status = ext_glPathStencilDepthOffsetNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathStencilFuncNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum func;
        GLint ref;
        GLuint mask;
    } *params32 = args;
    struct glPathStencilFuncNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .func = params32->func,
        .ref = params32->ref,
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glPathStencilFuncNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathStringNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLenum format;
        GLsizei length;
        PTR32 pathString;
    } *params32 = args;
    struct glPathStringNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .format = params32->format,
        .length = params32->length,
        .pathString = ULongToPtr(params32->pathString),
    };
    NTSTATUS status;
    status = ext_glPathStringNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathSubCommandsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLsizei commandStart;
        GLsizei commandsToDelete;
        GLsizei numCommands;
        PTR32 commands;
        GLsizei numCoords;
        GLenum coordType;
        PTR32 coords;
    } *params32 = args;
    struct glPathSubCommandsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .commandStart = params32->commandStart,
        .commandsToDelete = params32->commandsToDelete,
        .numCommands = params32->numCommands,
        .commands = ULongToPtr(params32->commands),
        .numCoords = params32->numCoords,
        .coordType = params32->coordType,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glPathSubCommandsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathSubCoordsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLsizei coordStart;
        GLsizei numCoords;
        GLenum coordType;
        PTR32 coords;
    } *params32 = args;
    struct glPathSubCoordsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .coordStart = params32->coordStart,
        .numCoords = params32->numCoords,
        .coordType = params32->coordType,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glPathSubCoordsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPathTexGenNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum texCoordSet;
        GLenum genMode;
        GLint components;
        PTR32 coeffs;
    } *params32 = args;
    struct glPathTexGenNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texCoordSet = params32->texCoordSet,
        .genMode = params32->genMode,
        .components = params32->components,
        .coeffs = ULongToPtr(params32->coeffs),
    };
    NTSTATUS status;
    status = ext_glPathTexGenNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPauseTransformFeedback( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glPauseTransformFeedback_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glPauseTransformFeedback( &params );
    return status;
}

static NTSTATUS wow64_ext_glPauseTransformFeedbackNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glPauseTransformFeedbackNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glPauseTransformFeedbackNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelDataRangeNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei length;
        PTR32 pointer;
    } *params32 = args;
    struct glPixelDataRangeNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .length = params32->length,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glPixelDataRangeNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelMapx( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum map;
        GLint size;
        PTR32 values;
    } *params32 = args;
    struct glPixelMapx_params params =
    {
        .teb = get_teb64(params32->teb),
        .map = params32->map,
        .size = params32->size,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glPixelMapx( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelStorex( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfixed param;
    } *params32 = args;
    struct glPixelStorex_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPixelStorex( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelTexGenParameterfSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glPixelTexGenParameterfSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPixelTexGenParameterfSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelTexGenParameterfvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glPixelTexGenParameterfvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glPixelTexGenParameterfvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelTexGenParameteriSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glPixelTexGenParameteriSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPixelTexGenParameteriSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelTexGenParameterivSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glPixelTexGenParameterivSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glPixelTexGenParameterivSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelTexGenSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glPixelTexGenSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glPixelTexGenSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelTransferxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfixed param;
    } *params32 = args;
    struct glPixelTransferxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPixelTransferxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelTransformParameterfEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glPixelTransformParameterfEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPixelTransformParameterfEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelTransformParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glPixelTransformParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glPixelTransformParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelTransformParameteriEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glPixelTransformParameteriEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPixelTransformParameteriEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelTransformParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glPixelTransformParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glPixelTransformParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPixelZoomxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed xfactor;
        GLfixed yfactor;
    } *params32 = args;
    struct glPixelZoomxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .xfactor = params32->xfactor,
        .yfactor = params32->yfactor,
    };
    NTSTATUS status;
    status = ext_glPixelZoomxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointAlongPathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLsizei startSegment;
        GLsizei numSegments;
        GLfloat distance;
        PTR32 x;
        PTR32 y;
        PTR32 tangentX;
        PTR32 tangentY;
        GLboolean ret;
    } *params32 = args;
    struct glPointAlongPathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .startSegment = params32->startSegment,
        .numSegments = params32->numSegments,
        .distance = params32->distance,
        .x = ULongToPtr(params32->x),
        .y = ULongToPtr(params32->y),
        .tangentX = ULongToPtr(params32->tangentX),
        .tangentY = ULongToPtr(params32->tangentY),
    };
    NTSTATUS status;
    status = ext_glPointAlongPathNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glPointParameterf( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glPointParameterf_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPointParameterf( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameterfARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glPointParameterfARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPointParameterfARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameterfEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glPointParameterfEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPointParameterfEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameterfSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glPointParameterfSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPointParameterfSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glPointParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glPointParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameterfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glPointParameterfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glPointParameterfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glPointParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glPointParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameterfvSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glPointParameterfvSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glPointParameterfvSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameteri( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glPointParameteri_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPointParameteri( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameteriNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glPointParameteriNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glPointParameteriNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glPointParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glPointParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameterivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glPointParameterivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glPointParameterivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointParameterxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glPointParameterxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glPointParameterxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glPointSizexOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed size;
    } *params32 = args;
    struct glPointSizexOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
    };
    NTSTATUS status;
    status = ext_glPointSizexOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glPollAsyncSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 markerp;
        GLint ret;
    } *params32 = args;
    struct glPollAsyncSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .markerp = ULongToPtr(params32->markerp),
    };
    NTSTATUS status;
    status = ext_glPollAsyncSGIX( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glPollInstrumentsSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 marker_p;
        GLint ret;
    } *params32 = args;
    struct glPollInstrumentsSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .marker_p = ULongToPtr(params32->marker_p),
    };
    NTSTATUS status;
    status = ext_glPollInstrumentsSGIX( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glPolygonOffsetClamp( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat factor;
        GLfloat units;
        GLfloat clamp;
    } *params32 = args;
    struct glPolygonOffsetClamp_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
        .units = params32->units,
        .clamp = params32->clamp,
    };
    NTSTATUS status;
    status = ext_glPolygonOffsetClamp( &params );
    return status;
}

static NTSTATUS wow64_ext_glPolygonOffsetClampEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat factor;
        GLfloat units;
        GLfloat clamp;
    } *params32 = args;
    struct glPolygonOffsetClampEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
        .units = params32->units,
        .clamp = params32->clamp,
    };
    NTSTATUS status;
    status = ext_glPolygonOffsetClampEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPolygonOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat factor;
        GLfloat bias;
    } *params32 = args;
    struct glPolygonOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
        .bias = params32->bias,
    };
    NTSTATUS status;
    status = ext_glPolygonOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPolygonOffsetxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed factor;
        GLfixed units;
    } *params32 = args;
    struct glPolygonOffsetxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
        .units = params32->units,
    };
    NTSTATUS status;
    status = ext_glPolygonOffsetxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glPopDebugGroup( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glPopDebugGroup_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glPopDebugGroup( &params );
    return status;
}

static NTSTATUS wow64_ext_glPopGroupMarkerEXT( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glPopGroupMarkerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glPopGroupMarkerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPresentFrameDualFillNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_slot;
        GLuint64EXT minPresentTime;
        GLuint beginPresentTimeId;
        GLuint presentDurationId;
        GLenum type;
        GLenum target0;
        GLuint fill0;
        GLenum target1;
        GLuint fill1;
        GLenum target2;
        GLuint fill2;
        GLenum target3;
        GLuint fill3;
    } *params32 = args;
    struct glPresentFrameDualFillNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_slot = params32->video_slot,
        .minPresentTime = params32->minPresentTime,
        .beginPresentTimeId = params32->beginPresentTimeId,
        .presentDurationId = params32->presentDurationId,
        .type = params32->type,
        .target0 = params32->target0,
        .fill0 = params32->fill0,
        .target1 = params32->target1,
        .fill1 = params32->fill1,
        .target2 = params32->target2,
        .fill2 = params32->fill2,
        .target3 = params32->target3,
        .fill3 = params32->fill3,
    };
    NTSTATUS status;
    status = ext_glPresentFrameDualFillNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPresentFrameKeyedNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_slot;
        GLuint64EXT minPresentTime;
        GLuint beginPresentTimeId;
        GLuint presentDurationId;
        GLenum type;
        GLenum target0;
        GLuint fill0;
        GLuint key0;
        GLenum target1;
        GLuint fill1;
        GLuint key1;
    } *params32 = args;
    struct glPresentFrameKeyedNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_slot = params32->video_slot,
        .minPresentTime = params32->minPresentTime,
        .beginPresentTimeId = params32->beginPresentTimeId,
        .presentDurationId = params32->presentDurationId,
        .type = params32->type,
        .target0 = params32->target0,
        .fill0 = params32->fill0,
        .key0 = params32->key0,
        .target1 = params32->target1,
        .fill1 = params32->fill1,
        .key1 = params32->key1,
    };
    NTSTATUS status;
    status = ext_glPresentFrameKeyedNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPrimitiveBoundingBoxARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat minX;
        GLfloat minY;
        GLfloat minZ;
        GLfloat minW;
        GLfloat maxX;
        GLfloat maxY;
        GLfloat maxZ;
        GLfloat maxW;
    } *params32 = args;
    struct glPrimitiveBoundingBoxARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .minX = params32->minX,
        .minY = params32->minY,
        .minZ = params32->minZ,
        .minW = params32->minW,
        .maxX = params32->maxX,
        .maxY = params32->maxY,
        .maxZ = params32->maxZ,
        .maxW = params32->maxW,
    };
    NTSTATUS status;
    status = ext_glPrimitiveBoundingBoxARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glPrimitiveRestartIndex( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
    } *params32 = args;
    struct glPrimitiveRestartIndex_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glPrimitiveRestartIndex( &params );
    return status;
}

static NTSTATUS wow64_ext_glPrimitiveRestartIndexNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
    } *params32 = args;
    struct glPrimitiveRestartIndexNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
    };
    NTSTATUS status;
    status = ext_glPrimitiveRestartIndexNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPrimitiveRestartNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glPrimitiveRestartNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glPrimitiveRestartNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glPrioritizeTexturesEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 textures;
        PTR32 priorities;
    } *params32 = args;
    struct glPrioritizeTexturesEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .textures = ULongToPtr(params32->textures),
        .priorities = ULongToPtr(params32->priorities),
    };
    NTSTATUS status;
    status = ext_glPrioritizeTexturesEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPrioritizeTexturesxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 textures;
        PTR32 priorities;
    } *params32 = args;
    struct glPrioritizeTexturesxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .textures = ULongToPtr(params32->textures),
        .priorities = ULongToPtr(params32->priorities),
    };
    NTSTATUS status;
    status = ext_glPrioritizeTexturesxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramBinary( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum binaryFormat;
        PTR32 binary;
        GLsizei length;
    } *params32 = args;
    struct glProgramBinary_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .binaryFormat = params32->binaryFormat,
        .binary = ULongToPtr(params32->binary),
        .length = params32->length,
    };
    NTSTATUS status;
    status = ext_glProgramBinary( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramBufferParametersIivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint bindingIndex;
        GLuint wordIndex;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glProgramBufferParametersIivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .bindingIndex = params32->bindingIndex,
        .wordIndex = params32->wordIndex,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramBufferParametersIivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramBufferParametersIuivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint bindingIndex;
        GLuint wordIndex;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glProgramBufferParametersIuivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .bindingIndex = params32->bindingIndex,
        .wordIndex = params32->wordIndex,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramBufferParametersIuivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramBufferParametersfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint bindingIndex;
        GLuint wordIndex;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glProgramBufferParametersfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .bindingIndex = params32->bindingIndex,
        .wordIndex = params32->wordIndex,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramBufferParametersfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramEnvParameter4dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glProgramEnvParameter4dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramEnvParameter4dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramEnvParameter4dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glProgramEnvParameter4dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramEnvParameter4dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramEnvParameter4fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glProgramEnvParameter4fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramEnvParameter4fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramEnvParameter4fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glProgramEnvParameter4fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramEnvParameter4fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramEnvParameterI4iNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLint x;
        GLint y;
        GLint z;
        GLint w;
    } *params32 = args;
    struct glProgramEnvParameterI4iNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramEnvParameterI4iNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramEnvParameterI4ivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glProgramEnvParameterI4ivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramEnvParameterI4ivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramEnvParameterI4uiNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLuint x;
        GLuint y;
        GLuint z;
        GLuint w;
    } *params32 = args;
    struct glProgramEnvParameterI4uiNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramEnvParameterI4uiNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramEnvParameterI4uivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glProgramEnvParameterI4uivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramEnvParameterI4uivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramEnvParameters4fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glProgramEnvParameters4fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramEnvParameters4fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramEnvParametersI4ivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glProgramEnvParametersI4ivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramEnvParametersI4ivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramEnvParametersI4uivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glProgramEnvParametersI4uivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramEnvParametersI4uivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramLocalParameter4dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glProgramLocalParameter4dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramLocalParameter4dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramLocalParameter4dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glProgramLocalParameter4dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramLocalParameter4dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramLocalParameter4fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glProgramLocalParameter4fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramLocalParameter4fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramLocalParameter4fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glProgramLocalParameter4fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramLocalParameter4fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramLocalParameterI4iNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLint x;
        GLint y;
        GLint z;
        GLint w;
    } *params32 = args;
    struct glProgramLocalParameterI4iNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramLocalParameterI4iNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramLocalParameterI4ivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glProgramLocalParameterI4ivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramLocalParameterI4ivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramLocalParameterI4uiNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLuint x;
        GLuint y;
        GLuint z;
        GLuint w;
    } *params32 = args;
    struct glProgramLocalParameterI4uiNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramLocalParameterI4uiNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramLocalParameterI4uivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 params;
    } *params32 = args;
    struct glProgramLocalParameterI4uivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramLocalParameterI4uivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramLocalParameters4fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glProgramLocalParameters4fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramLocalParameters4fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramLocalParametersI4ivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glProgramLocalParametersI4ivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramLocalParametersI4ivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramLocalParametersI4uivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glProgramLocalParametersI4uivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramLocalParametersI4uivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramNamedParameter4dNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLsizei len;
        PTR32 name;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glProgramNamedParameter4dNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .len = params32->len,
        .name = ULongToPtr(params32->name),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramNamedParameter4dNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramNamedParameter4dvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLsizei len;
        PTR32 name;
        PTR32 v;
    } *params32 = args;
    struct glProgramNamedParameter4dvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .len = params32->len,
        .name = ULongToPtr(params32->name),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glProgramNamedParameter4dvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramNamedParameter4fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLsizei len;
        PTR32 name;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glProgramNamedParameter4fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .len = params32->len,
        .name = ULongToPtr(params32->name),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramNamedParameter4fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramNamedParameter4fvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLsizei len;
        PTR32 name;
        PTR32 v;
    } *params32 = args;
    struct glProgramNamedParameter4fvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .len = params32->len,
        .name = ULongToPtr(params32->name),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glProgramNamedParameter4fvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramParameter4dNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glProgramParameter4dNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramParameter4dNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramParameter4dvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glProgramParameter4dvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glProgramParameter4dvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramParameter4fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glProgramParameter4fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramParameter4fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramParameter4fvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glProgramParameter4fvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glProgramParameter4fvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramParameteri( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum pname;
        GLint value;
    } *params32 = args;
    struct glProgramParameteri_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .pname = params32->pname,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glProgramParameteri( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramParameteriARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum pname;
        GLint value;
    } *params32 = args;
    struct glProgramParameteriARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .pname = params32->pname,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glProgramParameteriARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramParameteriEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLenum pname;
        GLint value;
    } *params32 = args;
    struct glProgramParameteriEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .pname = params32->pname,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glProgramParameteriEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramParameters4dvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glProgramParameters4dvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glProgramParameters4dvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramParameters4fvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glProgramParameters4fvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glProgramParameters4fvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramPathFragmentInputGenNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLenum genMode;
        GLint components;
        PTR32 coeffs;
    } *params32 = args;
    struct glProgramPathFragmentInputGenNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .genMode = params32->genMode,
        .components = params32->components,
        .coeffs = ULongToPtr(params32->coeffs),
    };
    NTSTATUS status;
    status = ext_glProgramPathFragmentInputGenNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramStringARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum format;
        GLsizei len;
        PTR32 string;
    } *params32 = args;
    struct glProgramStringARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .format = params32->format,
        .len = params32->len,
        .string = ULongToPtr(params32->string),
    };
    NTSTATUS status;
    status = ext_glProgramStringARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramSubroutineParametersuivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei count;
        PTR32 params;
    } *params32 = args;
    struct glProgramSubroutineParametersuivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .count = params32->count,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glProgramSubroutineParametersuivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLdouble v0;
    } *params32 = args;
    struct glProgramUniform1d_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1d( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLdouble x;
    } *params32 = args;
    struct glProgramUniform1dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1f( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLfloat v0;
    } *params32 = args;
    struct glProgramUniform1f_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1f( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1fEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLfloat v0;
    } *params32 = args;
    struct glProgramUniform1fEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1fEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1i( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint v0;
    } *params32 = args;
    struct glProgramUniform1i_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1i( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1i64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint64 x;
    } *params32 = args;
    struct glProgramUniform1i64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1i64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint64EXT x;
    } *params32 = args;
    struct glProgramUniform1i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1i64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1i64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1i64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint v0;
    } *params32 = args;
    struct glProgramUniform1iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint v0;
    } *params32 = args;
    struct glProgramUniform1ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1ui64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint64 x;
    } *params32 = args;
    struct glProgramUniform1ui64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1ui64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint64EXT x;
    } *params32 = args;
    struct glProgramUniform1ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1ui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1ui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1ui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint v0;
    } *params32 = args;
    struct glProgramUniform1uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glProgramUniform1uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform1uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform1uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform1uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLdouble v0;
        GLdouble v1;
    } *params32 = args;
    struct glProgramUniform2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2d( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glProgramUniform2dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2f( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLfloat v0;
        GLfloat v1;
    } *params32 = args;
    struct glProgramUniform2f_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2f( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2fEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLfloat v0;
        GLfloat v1;
    } *params32 = args;
    struct glProgramUniform2fEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2fEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2i( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint v0;
        GLint v1;
    } *params32 = args;
    struct glProgramUniform2i_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2i( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2i64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint64 x;
        GLint64 y;
    } *params32 = args;
    struct glProgramUniform2i64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2i64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint64EXT x;
        GLint64EXT y;
    } *params32 = args;
    struct glProgramUniform2i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2i64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2i64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2i64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint v0;
        GLint v1;
    } *params32 = args;
    struct glProgramUniform2iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint v0;
        GLuint v1;
    } *params32 = args;
    struct glProgramUniform2ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2ui64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint64 x;
        GLuint64 y;
    } *params32 = args;
    struct glProgramUniform2ui64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2ui64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint64EXT x;
        GLuint64EXT y;
    } *params32 = args;
    struct glProgramUniform2ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2ui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2ui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2ui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint v0;
        GLuint v1;
    } *params32 = args;
    struct glProgramUniform2uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glProgramUniform2uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform2uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform2uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform2uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLdouble v0;
        GLdouble v1;
        GLdouble v2;
    } *params32 = args;
    struct glProgramUniform3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3d( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glProgramUniform3dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3f( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLfloat v0;
        GLfloat v1;
        GLfloat v2;
    } *params32 = args;
    struct glProgramUniform3f_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3f( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3fEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLfloat v0;
        GLfloat v1;
        GLfloat v2;
    } *params32 = args;
    struct glProgramUniform3fEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3fEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3i( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint v0;
        GLint v1;
        GLint v2;
    } *params32 = args;
    struct glProgramUniform3i_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3i( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3i64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint64 x;
        GLint64 y;
        GLint64 z;
    } *params32 = args;
    struct glProgramUniform3i64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3i64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint64EXT x;
        GLint64EXT y;
        GLint64EXT z;
    } *params32 = args;
    struct glProgramUniform3i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3i64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3i64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3i64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint v0;
        GLint v1;
        GLint v2;
    } *params32 = args;
    struct glProgramUniform3iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint v0;
        GLuint v1;
        GLuint v2;
    } *params32 = args;
    struct glProgramUniform3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3ui64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint64 x;
        GLuint64 y;
        GLuint64 z;
    } *params32 = args;
    struct glProgramUniform3ui64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3ui64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint64EXT x;
        GLuint64EXT y;
        GLuint64EXT z;
    } *params32 = args;
    struct glProgramUniform3ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3ui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3ui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3ui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint v0;
        GLuint v1;
        GLuint v2;
    } *params32 = args;
    struct glProgramUniform3uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glProgramUniform3uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform3uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform3uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform3uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLdouble v0;
        GLdouble v1;
        GLdouble v2;
        GLdouble v3;
    } *params32 = args;
    struct glProgramUniform4d_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4d( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glProgramUniform4dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4f( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLfloat v0;
        GLfloat v1;
        GLfloat v2;
        GLfloat v3;
    } *params32 = args;
    struct glProgramUniform4f_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4f( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4fEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLfloat v0;
        GLfloat v1;
        GLfloat v2;
        GLfloat v3;
    } *params32 = args;
    struct glProgramUniform4fEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4fEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4i( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint v0;
        GLint v1;
        GLint v2;
        GLint v3;
    } *params32 = args;
    struct glProgramUniform4i_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4i( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4i64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint64 x;
        GLint64 y;
        GLint64 z;
        GLint64 w;
    } *params32 = args;
    struct glProgramUniform4i64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4i64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint64EXT x;
        GLint64EXT y;
        GLint64EXT z;
        GLint64EXT w;
    } *params32 = args;
    struct glProgramUniform4i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4i64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4i64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4i64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLint v0;
        GLint v1;
        GLint v2;
        GLint v3;
    } *params32 = args;
    struct glProgramUniform4iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint v0;
        GLuint v1;
        GLuint v2;
        GLuint v3;
    } *params32 = args;
    struct glProgramUniform4ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4ui64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint64 x;
        GLuint64 y;
        GLuint64 z;
        GLuint64 w;
    } *params32 = args;
    struct glProgramUniform4ui64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4ui64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint64EXT x;
        GLuint64EXT y;
        GLuint64EXT z;
        GLuint64EXT w;
    } *params32 = args;
    struct glProgramUniform4ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4ui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4ui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4ui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint v0;
        GLuint v1;
        GLuint v2;
        GLuint v3;
    } *params32 = args;
    struct glProgramUniform4uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glProgramUniform4uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniform4uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniform4uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniform4uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformHandleui64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint64 value;
    } *params32 = args;
    struct glProgramUniformHandleui64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glProgramUniformHandleui64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformHandleui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint64 value;
    } *params32 = args;
    struct glProgramUniformHandleui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glProgramUniformHandleui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformHandleui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 values;
    } *params32 = args;
    struct glProgramUniformHandleui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glProgramUniformHandleui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformHandleui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 values;
    } *params32 = args;
    struct glProgramUniformHandleui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glProgramUniformHandleui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2x3dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2x3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2x3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2x3dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2x3dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2x3dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2x3fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2x3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2x3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2x3fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2x3fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2x3fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2x4dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2x4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2x4dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2x4dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2x4dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2x4dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2x4fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2x4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2x4fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix2x4fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix2x4fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix2x4fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3x2dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3x2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3x2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3x2dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3x2dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3x2dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3x2fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3x2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3x2fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3x2fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3x2fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3x2fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3x4dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3x4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3x4dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3x4dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3x4dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3x4dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3x4fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3x4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3x4fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix3x4fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix3x4fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix3x4fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4x2dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4x2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4x2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4x2dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4x2dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4x2dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4x2fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4x2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4x2fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4x2fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4x2fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4x2fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4x3dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4x3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4x3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4x3dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4x3dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4x3dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4x3fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4x3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4x3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformMatrix4x3fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformMatrix4x3fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformMatrix4x3fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint64EXT value;
    } *params32 = args;
    struct glProgramUniformui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glProgramUniformui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramUniformui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glProgramUniformui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glProgramUniformui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProgramVertexLimitNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint limit;
    } *params32 = args;
    struct glProgramVertexLimitNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .limit = params32->limit,
    };
    NTSTATUS status;
    status = ext_glProgramVertexLimitNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glProvokingVertex( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glProvokingVertex_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glProvokingVertex( &params );
    return status;
}

static NTSTATUS wow64_ext_glProvokingVertexEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glProvokingVertexEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glProvokingVertexEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPushClientAttribDefaultEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield mask;
    } *params32 = args;
    struct glPushClientAttribDefaultEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glPushClientAttribDefaultEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glPushDebugGroup( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum source;
        GLuint id;
        GLsizei length;
        PTR32 message;
    } *params32 = args;
    struct glPushDebugGroup_params params =
    {
        .teb = get_teb64(params32->teb),
        .source = params32->source,
        .id = params32->id,
        .length = params32->length,
        .message = ULongToPtr(params32->message),
    };
    NTSTATUS status;
    status = ext_glPushDebugGroup( &params );
    return status;
}

static NTSTATUS wow64_ext_glPushGroupMarkerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei length;
        PTR32 marker;
    } *params32 = args;
    struct glPushGroupMarkerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .length = params32->length,
        .marker = ULongToPtr(params32->marker),
    };
    NTSTATUS status;
    status = ext_glPushGroupMarkerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glQueryCounter( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum target;
    } *params32 = args;
    struct glQueryCounter_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glQueryCounter( &params );
    return status;
}

static NTSTATUS wow64_ext_glQueryMatrixxOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 mantissa;
        PTR32 exponent;
        GLbitfield ret;
    } *params32 = args;
    struct glQueryMatrixxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .mantissa = ULongToPtr(params32->mantissa),
        .exponent = ULongToPtr(params32->exponent),
    };
    NTSTATUS status;
    status = ext_glQueryMatrixxOES( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glQueryObjectParameteruiAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint id;
        GLenum pname;
        GLuint param;
    } *params32 = args;
    struct glQueryObjectParameteruiAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .id = params32->id,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glQueryObjectParameteruiAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glQueryResourceNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum queryType;
        GLint tagId;
        GLuint count;
        PTR32 buffer;
        GLint ret;
    } *params32 = args;
    struct glQueryResourceNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .queryType = params32->queryType,
        .tagId = params32->tagId,
        .count = params32->count,
        .buffer = ULongToPtr(params32->buffer),
    };
    NTSTATUS status;
    status = ext_glQueryResourceNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glQueryResourceTagNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint tagId;
        PTR32 tagString;
    } *params32 = args;
    struct glQueryResourceTagNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .tagId = params32->tagId,
        .tagString = ULongToPtr(params32->tagString),
    };
    NTSTATUS status;
    status = ext_glQueryResourceTagNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glRasterPos2xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed x;
        GLfixed y;
    } *params32 = args;
    struct glRasterPos2xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glRasterPos2xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glRasterPos2xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glRasterPos2xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glRasterPos2xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glRasterPos3xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed x;
        GLfixed y;
        GLfixed z;
    } *params32 = args;
    struct glRasterPos3xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glRasterPos3xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glRasterPos3xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glRasterPos3xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glRasterPos3xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glRasterPos4xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed x;
        GLfixed y;
        GLfixed z;
        GLfixed w;
    } *params32 = args;
    struct glRasterPos4xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glRasterPos4xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glRasterPos4xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glRasterPos4xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glRasterPos4xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glRasterSamplesEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint samples;
        GLboolean fixedsamplelocations;
    } *params32 = args;
    struct glRasterSamplesEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .samples = params32->samples,
        .fixedsamplelocations = params32->fixedsamplelocations,
    };
    NTSTATUS status;
    status = ext_glRasterSamplesEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glReadBufferRegion( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum region;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glReadBufferRegion_params params =
    {
        .teb = get_teb64(params32->teb),
        .region = params32->region,
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glReadBufferRegion( &params );
    return status;
}

static NTSTATUS wow64_ext_glReadInstrumentsSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLint marker;
    } *params32 = args;
    struct glReadInstrumentsSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .marker = params32->marker,
    };
    NTSTATUS status;
    status = ext_glReadInstrumentsSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glReadnPixels( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 data;
    } *params32 = args;
    struct glReadnPixels_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glReadnPixels( &params );
    return status;
}

static NTSTATUS wow64_ext_glReadnPixelsARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        GLsizei bufSize;
        PTR32 data;
    } *params32 = args;
    struct glReadnPixelsARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .bufSize = params32->bufSize,
        .data = ULongToPtr(params32->data),
    };
    NTSTATUS status;
    status = ext_glReadnPixelsARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glRectxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed x1;
        GLfixed y1;
        GLfixed x2;
        GLfixed y2;
    } *params32 = args;
    struct glRectxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x1 = params32->x1,
        .y1 = params32->y1,
        .x2 = params32->x2,
        .y2 = params32->y2,
    };
    NTSTATUS status;
    status = ext_glRectxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glRectxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v1;
        PTR32 v2;
    } *params32 = args;
    struct glRectxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .v1 = ULongToPtr(params32->v1),
        .v2 = ULongToPtr(params32->v2),
    };
    NTSTATUS status;
    status = ext_glRectxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glReferencePlaneSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 equation;
    } *params32 = args;
    struct glReferencePlaneSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .equation = ULongToPtr(params32->equation),
    };
    NTSTATUS status;
    status = ext_glReferencePlaneSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glReleaseKeyedMutexWin32EXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint memory;
        GLuint64 key;
        GLboolean ret;
    } *params32 = args;
    struct glReleaseKeyedMutexWin32EXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .memory = params32->memory,
        .key = params32->key,
    };
    NTSTATUS status;
    status = ext_glReleaseKeyedMutexWin32EXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glReleaseShaderCompiler( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glReleaseShaderCompiler_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glReleaseShaderCompiler( &params );
    return status;
}

static NTSTATUS wow64_ext_glRenderGpuMaskNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield mask;
    } *params32 = args;
    struct glRenderGpuMaskNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glRenderGpuMaskNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glRenderbufferStorage( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glRenderbufferStorage_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glRenderbufferStorage( &params );
    return status;
}

static NTSTATUS wow64_ext_glRenderbufferStorageEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glRenderbufferStorageEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glRenderbufferStorageEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glRenderbufferStorageMultisample( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glRenderbufferStorageMultisample_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glRenderbufferStorageMultisample( &params );
    return status;
}

static NTSTATUS wow64_ext_glRenderbufferStorageMultisampleAdvancedAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei samples;
        GLsizei storageSamples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glRenderbufferStorageMultisampleAdvancedAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .samples = params32->samples,
        .storageSamples = params32->storageSamples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glRenderbufferStorageMultisampleAdvancedAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glRenderbufferStorageMultisampleCoverageNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei coverageSamples;
        GLsizei colorSamples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glRenderbufferStorageMultisampleCoverageNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .coverageSamples = params32->coverageSamples,
        .colorSamples = params32->colorSamples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glRenderbufferStorageMultisampleCoverageNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glRenderbufferStorageMultisampleEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glRenderbufferStorageMultisampleEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glRenderbufferStorageMultisampleEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodePointerSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glReplacementCodePointerSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glReplacementCodeubSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLubyte code;
    } *params32 = args;
    struct glReplacementCodeubSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .code = params32->code,
    };
    NTSTATUS status;
    status = ext_glReplacementCodeubSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeubvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 code;
    } *params32 = args;
    struct glReplacementCodeubvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .code = ULongToPtr(params32->code),
    };
    NTSTATUS status;
    status = ext_glReplacementCodeubvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiColor3fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint rc;
        GLfloat r;
        GLfloat g;
        GLfloat b;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glReplacementCodeuiColor3fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = params32->rc,
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiColor3fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiColor3fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 rc;
        PTR32 c;
        PTR32 v;
    } *params32 = args;
    struct glReplacementCodeuiColor3fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = ULongToPtr(params32->rc),
        .c = ULongToPtr(params32->c),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiColor3fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiColor4fNormal3fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint rc;
        GLfloat r;
        GLfloat g;
        GLfloat b;
        GLfloat a;
        GLfloat nx;
        GLfloat ny;
        GLfloat nz;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glReplacementCodeuiColor4fNormal3fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = params32->rc,
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .a = params32->a,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiColor4fNormal3fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiColor4fNormal3fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 rc;
        PTR32 c;
        PTR32 n;
        PTR32 v;
    } *params32 = args;
    struct glReplacementCodeuiColor4fNormal3fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = ULongToPtr(params32->rc),
        .c = ULongToPtr(params32->c),
        .n = ULongToPtr(params32->n),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiColor4fNormal3fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiColor4ubVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint rc;
        GLubyte r;
        GLubyte g;
        GLubyte b;
        GLubyte a;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glReplacementCodeuiColor4ubVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = params32->rc,
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .a = params32->a,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiColor4ubVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiColor4ubVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 rc;
        PTR32 c;
        PTR32 v;
    } *params32 = args;
    struct glReplacementCodeuiColor4ubVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = ULongToPtr(params32->rc),
        .c = ULongToPtr(params32->c),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiColor4ubVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiNormal3fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint rc;
        GLfloat nx;
        GLfloat ny;
        GLfloat nz;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glReplacementCodeuiNormal3fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = params32->rc,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiNormal3fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiNormal3fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 rc;
        PTR32 n;
        PTR32 v;
    } *params32 = args;
    struct glReplacementCodeuiNormal3fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = ULongToPtr(params32->rc),
        .n = ULongToPtr(params32->n),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiNormal3fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint code;
    } *params32 = args;
    struct glReplacementCodeuiSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .code = params32->code,
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint rc;
        GLfloat s;
        GLfloat t;
        GLfloat r;
        GLfloat g;
        GLfloat b;
        GLfloat a;
        GLfloat nx;
        GLfloat ny;
        GLfloat nz;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = params32->rc,
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .a = params32->a,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 rc;
        PTR32 tc;
        PTR32 c;
        PTR32 n;
        PTR32 v;
    } *params32 = args;
    struct glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = ULongToPtr(params32->rc),
        .tc = ULongToPtr(params32->tc),
        .c = ULongToPtr(params32->c),
        .n = ULongToPtr(params32->n),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint rc;
        GLfloat s;
        GLfloat t;
        GLfloat nx;
        GLfloat ny;
        GLfloat nz;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = params32->rc,
        .s = params32->s,
        .t = params32->t,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 rc;
        PTR32 tc;
        PTR32 n;
        PTR32 v;
    } *params32 = args;
    struct glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = ULongToPtr(params32->rc),
        .tc = ULongToPtr(params32->tc),
        .n = ULongToPtr(params32->n),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiTexCoord2fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint rc;
        GLfloat s;
        GLfloat t;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glReplacementCodeuiTexCoord2fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = params32->rc,
        .s = params32->s,
        .t = params32->t,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiTexCoord2fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiTexCoord2fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 rc;
        PTR32 tc;
        PTR32 v;
    } *params32 = args;
    struct glReplacementCodeuiTexCoord2fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = ULongToPtr(params32->rc),
        .tc = ULongToPtr(params32->tc),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiTexCoord2fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint rc;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glReplacementCodeuiVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = params32->rc,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuiVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 rc;
        PTR32 v;
    } *params32 = args;
    struct glReplacementCodeuiVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .rc = ULongToPtr(params32->rc),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuiVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeuivSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 code;
    } *params32 = args;
    struct glReplacementCodeuivSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .code = ULongToPtr(params32->code),
    };
    NTSTATUS status;
    status = ext_glReplacementCodeuivSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeusSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLushort code;
    } *params32 = args;
    struct glReplacementCodeusSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .code = params32->code,
    };
    NTSTATUS status;
    status = ext_glReplacementCodeusSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glReplacementCodeusvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 code;
    } *params32 = args;
    struct glReplacementCodeusvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .code = ULongToPtr(params32->code),
    };
    NTSTATUS status;
    status = ext_glReplacementCodeusvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glRequestResidentProgramsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei n;
        PTR32 programs;
    } *params32 = args;
    struct glRequestResidentProgramsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .n = params32->n,
        .programs = ULongToPtr(params32->programs),
    };
    NTSTATUS status;
    status = ext_glRequestResidentProgramsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glResetHistogram( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glResetHistogram_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glResetHistogram( &params );
    return status;
}

static NTSTATUS wow64_ext_glResetHistogramEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glResetHistogramEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glResetHistogramEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glResetMemoryObjectParameterNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint memory;
        GLenum pname;
    } *params32 = args;
    struct glResetMemoryObjectParameterNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .memory = params32->memory,
        .pname = params32->pname,
    };
    NTSTATUS status;
    status = ext_glResetMemoryObjectParameterNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glResetMinmax( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glResetMinmax_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glResetMinmax( &params );
    return status;
}

static NTSTATUS wow64_ext_glResetMinmaxEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glResetMinmaxEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glResetMinmaxEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glResizeBuffersMESA( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glResizeBuffersMESA_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glResizeBuffersMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glResolveDepthValuesNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glResolveDepthValuesNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glResolveDepthValuesNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glResumeTransformFeedback( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glResumeTransformFeedback_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glResumeTransformFeedback( &params );
    return status;
}

static NTSTATUS wow64_ext_glResumeTransformFeedbackNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glResumeTransformFeedbackNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glResumeTransformFeedbackNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glRotatexOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed angle;
        GLfixed x;
        GLfixed y;
        GLfixed z;
    } *params32 = args;
    struct glRotatexOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .angle = params32->angle,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glRotatexOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glSampleCoverage( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat value;
        GLboolean invert;
    } *params32 = args;
    struct glSampleCoverage_params params =
    {
        .teb = get_teb64(params32->teb),
        .value = params32->value,
        .invert = params32->invert,
    };
    NTSTATUS status;
    status = ext_glSampleCoverage( &params );
    return status;
}

static NTSTATUS wow64_ext_glSampleCoverageARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat value;
        GLboolean invert;
    } *params32 = args;
    struct glSampleCoverageARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .value = params32->value,
        .invert = params32->invert,
    };
    NTSTATUS status;
    status = ext_glSampleCoverageARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glSampleMapATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint dst;
        GLuint interp;
        GLenum swizzle;
    } *params32 = args;
    struct glSampleMapATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .dst = params32->dst,
        .interp = params32->interp,
        .swizzle = params32->swizzle,
    };
    NTSTATUS status;
    status = ext_glSampleMapATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glSampleMaskEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLclampf value;
        GLboolean invert;
    } *params32 = args;
    struct glSampleMaskEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .value = params32->value,
        .invert = params32->invert,
    };
    NTSTATUS status;
    status = ext_glSampleMaskEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSampleMaskIndexedNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLbitfield mask;
    } *params32 = args;
    struct glSampleMaskIndexedNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glSampleMaskIndexedNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glSampleMaskSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLclampf value;
        GLboolean invert;
    } *params32 = args;
    struct glSampleMaskSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .value = params32->value,
        .invert = params32->invert,
    };
    NTSTATUS status;
    status = ext_glSampleMaskSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glSampleMaski( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint maskNumber;
        GLbitfield mask;
    } *params32 = args;
    struct glSampleMaski_params params =
    {
        .teb = get_teb64(params32->teb),
        .maskNumber = params32->maskNumber,
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glSampleMaski( &params );
    return status;
}

static NTSTATUS wow64_ext_glSamplePatternEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pattern;
    } *params32 = args;
    struct glSamplePatternEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .pattern = params32->pattern,
    };
    NTSTATUS status;
    status = ext_glSamplePatternEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSamplePatternSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pattern;
    } *params32 = args;
    struct glSamplePatternSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .pattern = params32->pattern,
    };
    NTSTATUS status;
    status = ext_glSamplePatternSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glSamplerParameterIiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sampler;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glSamplerParameterIiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .sampler = params32->sampler,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glSamplerParameterIiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSamplerParameterIuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sampler;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glSamplerParameterIuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .sampler = params32->sampler,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glSamplerParameterIuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSamplerParameterf( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sampler;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glSamplerParameterf_params params =
    {
        .teb = get_teb64(params32->teb),
        .sampler = params32->sampler,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glSamplerParameterf( &params );
    return status;
}

static NTSTATUS wow64_ext_glSamplerParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sampler;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glSamplerParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .sampler = params32->sampler,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glSamplerParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSamplerParameteri( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sampler;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glSamplerParameteri_params params =
    {
        .teb = get_teb64(params32->teb),
        .sampler = params32->sampler,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glSamplerParameteri( &params );
    return status;
}

static NTSTATUS wow64_ext_glSamplerParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint sampler;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glSamplerParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .sampler = params32->sampler,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glSamplerParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glScalexOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed x;
        GLfixed y;
        GLfixed z;
    } *params32 = args;
    struct glScalexOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glScalexOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glScissorArrayv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint first;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glScissorArrayv_params params =
    {
        .teb = get_teb64(params32->teb),
        .first = params32->first,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glScissorArrayv( &params );
    return status;
}

static NTSTATUS wow64_ext_glScissorExclusiveArrayvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint first;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glScissorExclusiveArrayvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .first = params32->first,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glScissorExclusiveArrayvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glScissorExclusiveNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glScissorExclusiveNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glScissorExclusiveNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glScissorIndexed( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint left;
        GLint bottom;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glScissorIndexed_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .left = params32->left,
        .bottom = params32->bottom,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glScissorIndexed( &params );
    return status;
}

static NTSTATUS wow64_ext_glScissorIndexedv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glScissorIndexedv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glScissorIndexedv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3b( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte red;
        GLbyte green;
        GLbyte blue;
    } *params32 = args;
    struct glSecondaryColor3b_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3b( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3bEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte red;
        GLbyte green;
        GLbyte blue;
    } *params32 = args;
    struct glSecondaryColor3bEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3bEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3bv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3bv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3bv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3bvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3bvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3bvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble red;
        GLdouble green;
        GLdouble blue;
    } *params32 = args;
    struct glSecondaryColor3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3d( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble red;
        GLdouble green;
        GLdouble blue;
    } *params32 = args;
    struct glSecondaryColor3dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat red;
        GLfloat green;
        GLfloat blue;
    } *params32 = args;
    struct glSecondaryColor3f_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3f( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3fEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat red;
        GLfloat green;
        GLfloat blue;
    } *params32 = args;
    struct glSecondaryColor3fEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3fEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV red;
        GLhalfNV green;
        GLhalfNV blue;
    } *params32 = args;
    struct glSecondaryColor3hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint red;
        GLint green;
        GLint blue;
    } *params32 = args;
    struct glSecondaryColor3i_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3i( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint red;
        GLint green;
        GLint blue;
    } *params32 = args;
    struct glSecondaryColor3iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort red;
        GLshort green;
        GLshort blue;
    } *params32 = args;
    struct glSecondaryColor3s_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3s( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3sEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort red;
        GLshort green;
        GLshort blue;
    } *params32 = args;
    struct glSecondaryColor3sEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3sEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3svEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3svEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3svEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3ub( void *args )
{
    struct
    {
        PTR32 teb;
        GLubyte red;
        GLubyte green;
        GLubyte blue;
    } *params32 = args;
    struct glSecondaryColor3ub_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3ub( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3ubEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLubyte red;
        GLubyte green;
        GLubyte blue;
    } *params32 = args;
    struct glSecondaryColor3ubEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3ubEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3ubv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3ubv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3ubv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3ubvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3ubvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3ubvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint red;
        GLuint green;
        GLuint blue;
    } *params32 = args;
    struct glSecondaryColor3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint red;
        GLuint green;
        GLuint blue;
    } *params32 = args;
    struct glSecondaryColor3uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3us( void *args )
{
    struct
    {
        PTR32 teb;
        GLushort red;
        GLushort green;
        GLushort blue;
    } *params32 = args;
    struct glSecondaryColor3us_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3us( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3usEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLushort red;
        GLushort green;
        GLushort blue;
    } *params32 = args;
    struct glSecondaryColor3usEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3usEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3usv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3usv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3usv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColor3usvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glSecondaryColor3usvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glSecondaryColor3usvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColorFormatNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
    } *params32 = args;
    struct glSecondaryColorFormatNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glSecondaryColorFormatNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColorP3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint color;
    } *params32 = args;
    struct glSecondaryColorP3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .color = params32->color,
    };
    NTSTATUS status;
    status = ext_glSecondaryColorP3ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColorP3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 color;
    } *params32 = args;
    struct glSecondaryColorP3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .color = ULongToPtr(params32->color),
    };
    NTSTATUS status;
    status = ext_glSecondaryColorP3uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColorPointer( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glSecondaryColorPointer_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glSecondaryColorPointer( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColorPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glSecondaryColorPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glSecondaryColorPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSecondaryColorPointerListIBM( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLint stride;
        PTR32 pointer;
        GLint ptrstride;
    } *params32 = args;
    struct glSecondaryColorPointerListIBM_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .ptrstride = params32->ptrstride,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glSelectPerfMonitorCountersAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint monitor;
        GLboolean enable;
        GLuint group;
        GLint numCounters;
        PTR32 counterList;
    } *params32 = args;
    struct glSelectPerfMonitorCountersAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .monitor = params32->monitor,
        .enable = params32->enable,
        .group = params32->group,
        .numCounters = params32->numCounters,
        .counterList = ULongToPtr(params32->counterList),
    };
    NTSTATUS status;
    status = ext_glSelectPerfMonitorCountersAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glSelectTextureCoordSetSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glSelectTextureCoordSetSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glSelectTextureCoordSetSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glSelectTextureSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
    } *params32 = args;
    struct glSelectTextureSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
    };
    NTSTATUS status;
    status = ext_glSelectTextureSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glSemaphoreParameterui64vEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint semaphore;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glSemaphoreParameterui64vEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .semaphore = params32->semaphore,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glSemaphoreParameterui64vEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSeparableFilter2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        PTR32 row;
        PTR32 column;
    } *params32 = args;
    struct glSeparableFilter2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .row = ULongToPtr(params32->row),
        .column = ULongToPtr(params32->column),
    };
    NTSTATUS status;
    status = ext_glSeparableFilter2D( &params );
    return status;
}

static NTSTATUS wow64_ext_glSeparableFilter2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        PTR32 row;
        PTR32 column;
    } *params32 = args;
    struct glSeparableFilter2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .row = ULongToPtr(params32->row),
        .column = ULongToPtr(params32->column),
    };
    NTSTATUS status;
    status = ext_glSeparableFilter2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSetFenceAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint fence;
    } *params32 = args;
    struct glSetFenceAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .fence = params32->fence,
    };
    NTSTATUS status;
    status = ext_glSetFenceAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glSetFenceNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint fence;
        GLenum condition;
    } *params32 = args;
    struct glSetFenceNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .fence = params32->fence,
        .condition = params32->condition,
    };
    NTSTATUS status;
    status = ext_glSetFenceNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glSetFragmentShaderConstantATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint dst;
        PTR32 value;
    } *params32 = args;
    struct glSetFragmentShaderConstantATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .dst = params32->dst,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glSetFragmentShaderConstantATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glSetInvariantEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum type;
        PTR32 addr;
    } *params32 = args;
    struct glSetInvariantEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .type = params32->type,
        .addr = ULongToPtr(params32->addr),
    };
    NTSTATUS status;
    status = ext_glSetInvariantEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSetLocalConstantEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum type;
        PTR32 addr;
    } *params32 = args;
    struct glSetLocalConstantEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .type = params32->type,
        .addr = ULongToPtr(params32->addr),
    };
    NTSTATUS status;
    status = ext_glSetLocalConstantEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSetMultisamplefvAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLuint index;
        PTR32 val;
    } *params32 = args;
    struct glSetMultisamplefvAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .index = params32->index,
        .val = ULongToPtr(params32->val),
    };
    NTSTATUS status;
    status = ext_glSetMultisamplefvAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glShaderBinary( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei count;
        PTR32 shaders;
        GLenum binaryformat;
        PTR32 binary;
        GLsizei length;
    } *params32 = args;
    struct glShaderBinary_params params =
    {
        .teb = get_teb64(params32->teb),
        .count = params32->count,
        .shaders = ULongToPtr(params32->shaders),
        .binaryformat = params32->binaryformat,
        .binary = ULongToPtr(params32->binary),
        .length = params32->length,
    };
    NTSTATUS status;
    status = ext_glShaderBinary( &params );
    return status;
}

static NTSTATUS wow64_ext_glShaderOp1EXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum op;
        GLuint res;
        GLuint arg1;
    } *params32 = args;
    struct glShaderOp1EXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .op = params32->op,
        .res = params32->res,
        .arg1 = params32->arg1,
    };
    NTSTATUS status;
    status = ext_glShaderOp1EXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glShaderOp2EXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum op;
        GLuint res;
        GLuint arg1;
        GLuint arg2;
    } *params32 = args;
    struct glShaderOp2EXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .op = params32->op,
        .res = params32->res,
        .arg1 = params32->arg1,
        .arg2 = params32->arg2,
    };
    NTSTATUS status;
    status = ext_glShaderOp2EXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glShaderOp3EXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum op;
        GLuint res;
        GLuint arg1;
        GLuint arg2;
        GLuint arg3;
    } *params32 = args;
    struct glShaderOp3EXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .op = params32->op,
        .res = params32->res,
        .arg1 = params32->arg1,
        .arg2 = params32->arg2,
        .arg3 = params32->arg3,
    };
    NTSTATUS status;
    status = ext_glShaderOp3EXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glShaderSource( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint shader;
        GLsizei count;
        PTR32 string;
        PTR32 length;
    } *params32 = args;
    struct glShaderSource_params params =
    {
        .teb = get_teb64(params32->teb),
        .shader = params32->shader,
        .count = params32->count,
        .length = ULongToPtr(params32->length),
    };
    NTSTATUS status;
    params.string = copy_wow64_ptr32s( (UINT_PTR)params32->string, params32->count );
    status = ext_glShaderSource( &params );
    free( (void *)params.string );
    return status;
}

static NTSTATUS wow64_ext_glShaderSourceARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB shaderObj;
        GLsizei count;
        PTR32 string;
        PTR32 length;
    } *params32 = args;
    struct glShaderSourceARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .shaderObj = params32->shaderObj,
        .count = params32->count,
        .length = ULongToPtr(params32->length),
    };
    NTSTATUS status;
    params.string = copy_wow64_ptr32s( (UINT_PTR)params32->string, params32->count );
    status = ext_glShaderSourceARB( &params );
    free( (void *)params.string );
    return status;
}

static NTSTATUS wow64_ext_glShaderStorageBlockBinding( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint storageBlockIndex;
        GLuint storageBlockBinding;
    } *params32 = args;
    struct glShaderStorageBlockBinding_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .storageBlockIndex = params32->storageBlockIndex,
        .storageBlockBinding = params32->storageBlockBinding,
    };
    NTSTATUS status;
    status = ext_glShaderStorageBlockBinding( &params );
    return status;
}

static NTSTATUS wow64_ext_glShadingRateImageBarrierNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLboolean synchronize;
    } *params32 = args;
    struct glShadingRateImageBarrierNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .synchronize = params32->synchronize,
    };
    NTSTATUS status;
    status = ext_glShadingRateImageBarrierNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glShadingRateImagePaletteNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint viewport;
        GLuint first;
        GLsizei count;
        PTR32 rates;
    } *params32 = args;
    struct glShadingRateImagePaletteNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .viewport = params32->viewport,
        .first = params32->first,
        .count = params32->count,
        .rates = ULongToPtr(params32->rates),
    };
    NTSTATUS status;
    status = ext_glShadingRateImagePaletteNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glShadingRateSampleOrderCustomNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum rate;
        GLuint samples;
        PTR32 locations;
    } *params32 = args;
    struct glShadingRateSampleOrderCustomNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .rate = params32->rate,
        .samples = params32->samples,
        .locations = ULongToPtr(params32->locations),
    };
    NTSTATUS status;
    status = ext_glShadingRateSampleOrderCustomNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glShadingRateSampleOrderNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum order;
    } *params32 = args;
    struct glShadingRateSampleOrderNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .order = params32->order,
    };
    NTSTATUS status;
    status = ext_glShadingRateSampleOrderNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glSharpenTexFuncSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei n;
        PTR32 points;
    } *params32 = args;
    struct glSharpenTexFuncSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .n = params32->n,
        .points = ULongToPtr(params32->points),
    };
    NTSTATUS status;
    status = ext_glSharpenTexFuncSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glSignalSemaphoreEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint semaphore;
        GLuint numBufferBarriers;
        PTR32 buffers;
        GLuint numTextureBarriers;
        PTR32 textures;
        PTR32 dstLayouts;
    } *params32 = args;
    struct glSignalSemaphoreEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .semaphore = params32->semaphore,
        .numBufferBarriers = params32->numBufferBarriers,
        .buffers = ULongToPtr(params32->buffers),
        .numTextureBarriers = params32->numTextureBarriers,
        .textures = ULongToPtr(params32->textures),
        .dstLayouts = ULongToPtr(params32->dstLayouts),
    };
    NTSTATUS status;
    status = ext_glSignalSemaphoreEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSignalSemaphoreui64NVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint signalGpu;
        GLsizei fenceObjectCount;
        PTR32 semaphoreArray;
        PTR32 fenceValueArray;
    } *params32 = args;
    struct glSignalSemaphoreui64NVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .signalGpu = params32->signalGpu,
        .fenceObjectCount = params32->fenceObjectCount,
        .semaphoreArray = ULongToPtr(params32->semaphoreArray),
        .fenceValueArray = ULongToPtr(params32->fenceValueArray),
    };
    NTSTATUS status;
    status = ext_glSignalSemaphoreui64NVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glSignalVkFenceNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 vkFence;
    } *params32 = args;
    struct glSignalVkFenceNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .vkFence = params32->vkFence,
    };
    NTSTATUS status;
    status = ext_glSignalVkFenceNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glSignalVkSemaphoreNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 vkSemaphore;
    } *params32 = args;
    struct glSignalVkSemaphoreNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .vkSemaphore = params32->vkSemaphore,
    };
    NTSTATUS status;
    status = ext_glSignalVkSemaphoreNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glSpecializeShader( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint shader;
        PTR32 pEntryPoint;
        GLuint numSpecializationConstants;
        PTR32 pConstantIndex;
        PTR32 pConstantValue;
    } *params32 = args;
    struct glSpecializeShader_params params =
    {
        .teb = get_teb64(params32->teb),
        .shader = params32->shader,
        .pEntryPoint = ULongToPtr(params32->pEntryPoint),
        .numSpecializationConstants = params32->numSpecializationConstants,
        .pConstantIndex = ULongToPtr(params32->pConstantIndex),
        .pConstantValue = ULongToPtr(params32->pConstantValue),
    };
    NTSTATUS status;
    status = ext_glSpecializeShader( &params );
    return status;
}

static NTSTATUS wow64_ext_glSpecializeShaderARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint shader;
        PTR32 pEntryPoint;
        GLuint numSpecializationConstants;
        PTR32 pConstantIndex;
        PTR32 pConstantValue;
    } *params32 = args;
    struct glSpecializeShaderARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .shader = params32->shader,
        .pEntryPoint = ULongToPtr(params32->pEntryPoint),
        .numSpecializationConstants = params32->numSpecializationConstants,
        .pConstantIndex = ULongToPtr(params32->pConstantIndex),
        .pConstantValue = ULongToPtr(params32->pConstantValue),
    };
    NTSTATUS status;
    status = ext_glSpecializeShaderARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glSpriteParameterfSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glSpriteParameterfSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glSpriteParameterfSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glSpriteParameterfvSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glSpriteParameterfvSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glSpriteParameterfvSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glSpriteParameteriSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glSpriteParameteriSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glSpriteParameteriSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glSpriteParameterivSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glSpriteParameterivSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glSpriteParameterivSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glStartInstrumentsSGIX( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glStartInstrumentsSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glStartInstrumentsSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glStateCaptureNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint state;
        GLenum mode;
    } *params32 = args;
    struct glStateCaptureNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .state = params32->state,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glStateCaptureNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilClearTagEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei stencilTagBits;
        GLuint stencilClearTag;
    } *params32 = args;
    struct glStencilClearTagEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .stencilTagBits = params32->stencilTagBits,
        .stencilClearTag = params32->stencilClearTag,
    };
    NTSTATUS status;
    status = ext_glStencilClearTagEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilFillPathInstancedNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei numPaths;
        GLenum pathNameType;
        PTR32 paths;
        GLuint pathBase;
        GLenum fillMode;
        GLuint mask;
        GLenum transformType;
        PTR32 transformValues;
    } *params32 = args;
    struct glStencilFillPathInstancedNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .numPaths = params32->numPaths,
        .pathNameType = params32->pathNameType,
        .paths = ULongToPtr(params32->paths),
        .pathBase = params32->pathBase,
        .fillMode = params32->fillMode,
        .mask = params32->mask,
        .transformType = params32->transformType,
        .transformValues = ULongToPtr(params32->transformValues),
    };
    NTSTATUS status;
    status = ext_glStencilFillPathInstancedNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilFillPathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLenum fillMode;
        GLuint mask;
    } *params32 = args;
    struct glStencilFillPathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .fillMode = params32->fillMode,
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glStencilFillPathNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilFuncSeparate( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum func;
        GLint ref;
        GLuint mask;
    } *params32 = args;
    struct glStencilFuncSeparate_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .func = params32->func,
        .ref = params32->ref,
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glStencilFuncSeparate( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilFuncSeparateATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum frontfunc;
        GLenum backfunc;
        GLint ref;
        GLuint mask;
    } *params32 = args;
    struct glStencilFuncSeparateATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .frontfunc = params32->frontfunc,
        .backfunc = params32->backfunc,
        .ref = params32->ref,
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glStencilFuncSeparateATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilMaskSeparate( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLuint mask;
    } *params32 = args;
    struct glStencilMaskSeparate_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glStencilMaskSeparate( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilOpSeparate( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum sfail;
        GLenum dpfail;
        GLenum dppass;
    } *params32 = args;
    struct glStencilOpSeparate_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .sfail = params32->sfail,
        .dpfail = params32->dpfail,
        .dppass = params32->dppass,
    };
    NTSTATUS status;
    status = ext_glStencilOpSeparate( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilOpSeparateATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum sfail;
        GLenum dpfail;
        GLenum dppass;
    } *params32 = args;
    struct glStencilOpSeparateATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .sfail = params32->sfail,
        .dpfail = params32->dpfail,
        .dppass = params32->dppass,
    };
    NTSTATUS status;
    status = ext_glStencilOpSeparateATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilOpValueAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLuint value;
    } *params32 = args;
    struct glStencilOpValueAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glStencilOpValueAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilStrokePathInstancedNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei numPaths;
        GLenum pathNameType;
        PTR32 paths;
        GLuint pathBase;
        GLint reference;
        GLuint mask;
        GLenum transformType;
        PTR32 transformValues;
    } *params32 = args;
    struct glStencilStrokePathInstancedNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .numPaths = params32->numPaths,
        .pathNameType = params32->pathNameType,
        .paths = ULongToPtr(params32->paths),
        .pathBase = params32->pathBase,
        .reference = params32->reference,
        .mask = params32->mask,
        .transformType = params32->transformType,
        .transformValues = ULongToPtr(params32->transformValues),
    };
    NTSTATUS status;
    status = ext_glStencilStrokePathInstancedNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilStrokePathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLint reference;
        GLuint mask;
    } *params32 = args;
    struct glStencilStrokePathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .reference = params32->reference,
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glStencilStrokePathNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilThenCoverFillPathInstancedNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei numPaths;
        GLenum pathNameType;
        PTR32 paths;
        GLuint pathBase;
        GLenum fillMode;
        GLuint mask;
        GLenum coverMode;
        GLenum transformType;
        PTR32 transformValues;
    } *params32 = args;
    struct glStencilThenCoverFillPathInstancedNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .numPaths = params32->numPaths,
        .pathNameType = params32->pathNameType,
        .paths = ULongToPtr(params32->paths),
        .pathBase = params32->pathBase,
        .fillMode = params32->fillMode,
        .mask = params32->mask,
        .coverMode = params32->coverMode,
        .transformType = params32->transformType,
        .transformValues = ULongToPtr(params32->transformValues),
    };
    NTSTATUS status;
    status = ext_glStencilThenCoverFillPathInstancedNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilThenCoverFillPathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLenum fillMode;
        GLuint mask;
        GLenum coverMode;
    } *params32 = args;
    struct glStencilThenCoverFillPathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .fillMode = params32->fillMode,
        .mask = params32->mask,
        .coverMode = params32->coverMode,
    };
    NTSTATUS status;
    status = ext_glStencilThenCoverFillPathNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilThenCoverStrokePathInstancedNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei numPaths;
        GLenum pathNameType;
        PTR32 paths;
        GLuint pathBase;
        GLint reference;
        GLuint mask;
        GLenum coverMode;
        GLenum transformType;
        PTR32 transformValues;
    } *params32 = args;
    struct glStencilThenCoverStrokePathInstancedNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .numPaths = params32->numPaths,
        .pathNameType = params32->pathNameType,
        .paths = ULongToPtr(params32->paths),
        .pathBase = params32->pathBase,
        .reference = params32->reference,
        .mask = params32->mask,
        .coverMode = params32->coverMode,
        .transformType = params32->transformType,
        .transformValues = ULongToPtr(params32->transformValues),
    };
    NTSTATUS status;
    status = ext_glStencilThenCoverStrokePathInstancedNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glStencilThenCoverStrokePathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint path;
        GLint reference;
        GLuint mask;
        GLenum coverMode;
    } *params32 = args;
    struct glStencilThenCoverStrokePathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .path = params32->path,
        .reference = params32->reference,
        .mask = params32->mask,
        .coverMode = params32->coverMode,
    };
    NTSTATUS status;
    status = ext_glStencilThenCoverStrokePathNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glStopInstrumentsSGIX( void *args )
{
    struct
    {
        PTR32 teb;
        GLint marker;
    } *params32 = args;
    struct glStopInstrumentsSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
        .marker = params32->marker,
    };
    NTSTATUS status;
    status = ext_glStopInstrumentsSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glStringMarkerGREMEDY( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei len;
        PTR32 string;
    } *params32 = args;
    struct glStringMarkerGREMEDY_params params =
    {
        .teb = get_teb64(params32->teb),
        .len = params32->len,
        .string = ULongToPtr(params32->string),
    };
    NTSTATUS status;
    status = ext_glStringMarkerGREMEDY( &params );
    return status;
}

static NTSTATUS wow64_ext_glSubpixelPrecisionBiasNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint xbits;
        GLuint ybits;
    } *params32 = args;
    struct glSubpixelPrecisionBiasNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .xbits = params32->xbits,
        .ybits = params32->ybits,
    };
    NTSTATUS status;
    status = ext_glSubpixelPrecisionBiasNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glSwizzleEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint res;
        GLuint in;
        GLenum outX;
        GLenum outY;
        GLenum outZ;
        GLenum outW;
    } *params32 = args;
    struct glSwizzleEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .res = params32->res,
        .in = params32->in,
        .outX = params32->outX,
        .outY = params32->outY,
        .outZ = params32->outZ,
        .outW = params32->outW,
    };
    NTSTATUS status;
    status = ext_glSwizzleEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glSyncTextureINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
    } *params32 = args;
    struct glSyncTextureINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
    };
    NTSTATUS status;
    status = ext_glSyncTextureINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glTagSampleBufferSGIX( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glTagSampleBufferSGIX_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glTagSampleBufferSGIX( &params );
    return status;
}

static NTSTATUS wow64_ext_glTangent3bEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte tx;
        GLbyte ty;
        GLbyte tz;
    } *params32 = args;
    struct glTangent3bEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .tx = params32->tx,
        .ty = params32->ty,
        .tz = params32->tz,
    };
    NTSTATUS status;
    status = ext_glTangent3bEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTangent3bvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTangent3bvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTangent3bvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTangent3dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble tx;
        GLdouble ty;
        GLdouble tz;
    } *params32 = args;
    struct glTangent3dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .tx = params32->tx,
        .ty = params32->ty,
        .tz = params32->tz,
    };
    NTSTATUS status;
    status = ext_glTangent3dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTangent3dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTangent3dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTangent3dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTangent3fEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat tx;
        GLfloat ty;
        GLfloat tz;
    } *params32 = args;
    struct glTangent3fEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .tx = params32->tx,
        .ty = params32->ty,
        .tz = params32->tz,
    };
    NTSTATUS status;
    status = ext_glTangent3fEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTangent3fvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTangent3fvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTangent3fvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTangent3iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint tx;
        GLint ty;
        GLint tz;
    } *params32 = args;
    struct glTangent3iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .tx = params32->tx,
        .ty = params32->ty,
        .tz = params32->tz,
    };
    NTSTATUS status;
    status = ext_glTangent3iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTangent3ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTangent3ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTangent3ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTangent3sEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort tx;
        GLshort ty;
        GLshort tz;
    } *params32 = args;
    struct glTangent3sEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .tx = params32->tx,
        .ty = params32->ty,
        .tz = params32->tz,
    };
    NTSTATUS status;
    status = ext_glTangent3sEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTangent3svEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTangent3svEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTangent3svEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTangentPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glTangentPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glTangentPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTbufferMask3DFX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint mask;
    } *params32 = args;
    struct glTbufferMask3DFX_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glTbufferMask3DFX( &params );
    return status;
}

static NTSTATUS wow64_ext_glTessellationFactorAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat factor;
    } *params32 = args;
    struct glTessellationFactorAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .factor = params32->factor,
    };
    NTSTATUS status;
    status = ext_glTessellationFactorAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glTessellationModeAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glTessellationModeAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glTessellationModeAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glTestFenceAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint fence;
        GLboolean ret;
    } *params32 = args;
    struct glTestFenceAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .fence = params32->fence,
    };
    NTSTATUS status;
    status = ext_glTestFenceAPPLE( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glTestFenceNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint fence;
        GLboolean ret;
    } *params32 = args;
    struct glTestFenceNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .fence = params32->fence,
    };
    NTSTATUS status;
    status = ext_glTestFenceNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glTestObjectAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum object;
        GLuint name;
        GLboolean ret;
    } *params32 = args;
    struct glTestObjectAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .object = params32->object,
        .name = params32->name,
    };
    NTSTATUS status;
    status = ext_glTestObjectAPPLE( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glTexAttachMemoryNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTexAttachMemoryNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTexAttachMemoryNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLuint buffer;
    } *params32 = args;
    struct glTexBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glTexBuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexBufferARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLuint buffer;
    } *params32 = args;
    struct glTexBufferARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glTexBufferARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexBufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLuint buffer;
    } *params32 = args;
    struct glTexBufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glTexBufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexBufferRange( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalformat;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
    } *params32 = args;
    struct glTexBufferRange_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalformat = params32->internalformat,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glTexBufferRange( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexBumpParameterfvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glTexBumpParameterfvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glTexBumpParameterfvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexBumpParameterivATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glTexBumpParameterivATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glTexBumpParameterivATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord1bOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte s;
    } *params32 = args;
    struct glTexCoord1bOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glTexCoord1bOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord1bvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoord1bvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoord1bvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord1hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV s;
    } *params32 = args;
    struct glTexCoord1hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glTexCoord1hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord1hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord1hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTexCoord1hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord1xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed s;
    } *params32 = args;
    struct glTexCoord1xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
    };
    NTSTATUS status;
    status = ext_glTexCoord1xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord1xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoord1xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoord1xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2bOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte s;
        GLbyte t;
    } *params32 = args;
    struct glTexCoord2bOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glTexCoord2bOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2bvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoord2bvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoord2bvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2fColor3fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat s;
        GLfloat t;
        GLfloat r;
        GLfloat g;
        GLfloat b;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glTexCoord2fColor3fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glTexCoord2fColor3fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2fColor3fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 tc;
        PTR32 c;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord2fColor3fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .tc = ULongToPtr(params32->tc),
        .c = ULongToPtr(params32->c),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTexCoord2fColor3fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2fColor4fNormal3fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat s;
        GLfloat t;
        GLfloat r;
        GLfloat g;
        GLfloat b;
        GLfloat a;
        GLfloat nx;
        GLfloat ny;
        GLfloat nz;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glTexCoord2fColor4fNormal3fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .a = params32->a,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glTexCoord2fColor4fNormal3fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2fColor4fNormal3fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 tc;
        PTR32 c;
        PTR32 n;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord2fColor4fNormal3fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .tc = ULongToPtr(params32->tc),
        .c = ULongToPtr(params32->c),
        .n = ULongToPtr(params32->n),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTexCoord2fColor4fNormal3fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2fColor4ubVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat s;
        GLfloat t;
        GLubyte r;
        GLubyte g;
        GLubyte b;
        GLubyte a;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glTexCoord2fColor4ubVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .a = params32->a,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glTexCoord2fColor4ubVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2fColor4ubVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 tc;
        PTR32 c;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord2fColor4ubVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .tc = ULongToPtr(params32->tc),
        .c = ULongToPtr(params32->c),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTexCoord2fColor4ubVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2fNormal3fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat s;
        GLfloat t;
        GLfloat nx;
        GLfloat ny;
        GLfloat nz;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glTexCoord2fNormal3fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glTexCoord2fNormal3fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2fNormal3fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 tc;
        PTR32 n;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord2fNormal3fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .tc = ULongToPtr(params32->tc),
        .n = ULongToPtr(params32->n),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTexCoord2fNormal3fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2fVertex3fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat s;
        GLfloat t;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glTexCoord2fVertex3fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glTexCoord2fVertex3fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2fVertex3fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 tc;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord2fVertex3fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .tc = ULongToPtr(params32->tc),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTexCoord2fVertex3fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV s;
        GLhalfNV t;
    } *params32 = args;
    struct glTexCoord2hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glTexCoord2hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord2hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTexCoord2hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed s;
        GLfixed t;
    } *params32 = args;
    struct glTexCoord2xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
    };
    NTSTATUS status;
    status = ext_glTexCoord2xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord2xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoord2xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoord2xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord3bOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte s;
        GLbyte t;
        GLbyte r;
    } *params32 = args;
    struct glTexCoord3bOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glTexCoord3bOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord3bvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoord3bvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoord3bvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord3hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV s;
        GLhalfNV t;
        GLhalfNV r;
    } *params32 = args;
    struct glTexCoord3hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glTexCoord3hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord3hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord3hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTexCoord3hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord3xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed s;
        GLfixed t;
        GLfixed r;
    } *params32 = args;
    struct glTexCoord3xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
    };
    NTSTATUS status;
    status = ext_glTexCoord3xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord3xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoord3xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoord3xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord4bOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte s;
        GLbyte t;
        GLbyte r;
        GLbyte q;
    } *params32 = args;
    struct glTexCoord4bOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glTexCoord4bOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord4bvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoord4bvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoord4bvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord4fColor4fNormal3fVertex4fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat s;
        GLfloat t;
        GLfloat p;
        GLfloat q;
        GLfloat r;
        GLfloat g;
        GLfloat b;
        GLfloat a;
        GLfloat nx;
        GLfloat ny;
        GLfloat nz;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glTexCoord4fColor4fNormal3fVertex4fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .p = params32->p,
        .q = params32->q,
        .r = params32->r,
        .g = params32->g,
        .b = params32->b,
        .a = params32->a,
        .nx = params32->nx,
        .ny = params32->ny,
        .nz = params32->nz,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glTexCoord4fColor4fNormal3fVertex4fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord4fColor4fNormal3fVertex4fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 tc;
        PTR32 c;
        PTR32 n;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord4fColor4fNormal3fVertex4fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .tc = ULongToPtr(params32->tc),
        .c = ULongToPtr(params32->c),
        .n = ULongToPtr(params32->n),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTexCoord4fColor4fNormal3fVertex4fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord4fVertex4fSUN( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat s;
        GLfloat t;
        GLfloat p;
        GLfloat q;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glTexCoord4fVertex4fSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .p = params32->p,
        .q = params32->q,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glTexCoord4fVertex4fSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord4fVertex4fvSUN( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 tc;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord4fVertex4fvSUN_params params =
    {
        .teb = get_teb64(params32->teb),
        .tc = ULongToPtr(params32->tc),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTexCoord4fVertex4fvSUN( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord4hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV s;
        GLhalfNV t;
        GLhalfNV r;
        GLhalfNV q;
    } *params32 = args;
    struct glTexCoord4hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glTexCoord4hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord4hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glTexCoord4hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glTexCoord4hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord4xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed s;
        GLfixed t;
        GLfixed r;
        GLfixed q;
    } *params32 = args;
    struct glTexCoord4xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .s = params32->s,
        .t = params32->t,
        .r = params32->r,
        .q = params32->q,
    };
    NTSTATUS status;
    status = ext_glTexCoord4xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoord4xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoord4xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoord4xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoordFormatNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
    } *params32 = args;
    struct glTexCoordFormatNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glTexCoordFormatNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoordP1ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint coords;
    } *params32 = args;
    struct glTexCoordP1ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .coords = params32->coords,
    };
    NTSTATUS status;
    status = ext_glTexCoordP1ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoordP1uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoordP1uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoordP1uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoordP2ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint coords;
    } *params32 = args;
    struct glTexCoordP2ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .coords = params32->coords,
    };
    NTSTATUS status;
    status = ext_glTexCoordP2ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoordP2uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoordP2uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoordP2uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoordP3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint coords;
    } *params32 = args;
    struct glTexCoordP3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .coords = params32->coords,
    };
    NTSTATUS status;
    status = ext_glTexCoordP3ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoordP3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoordP3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoordP3uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoordP4ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint coords;
    } *params32 = args;
    struct glTexCoordP4ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .coords = params32->coords,
    };
    NTSTATUS status;
    status = ext_glTexCoordP4ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoordP4uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 coords;
    } *params32 = args;
    struct glTexCoordP4uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glTexCoordP4uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoordPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
        GLsizei count;
        PTR32 pointer;
    } *params32 = args;
    struct glTexCoordPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .count = params32->count,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glTexCoordPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexCoordPointerListIBM( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLint stride;
        PTR32 pointer;
        GLint ptrstride;
    } *params32 = args;
    struct glTexCoordPointerListIBM_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .ptrstride = params32->ptrstride,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glTexCoordPointervINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        PTR32 pointer;
    } *params32 = args;
    struct glTexCoordPointervINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glTexEnvxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLfixed param;
    } *params32 = args;
    struct glTexEnvxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glTexEnvxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexEnvxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexEnvxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTexEnvxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexFilterFuncSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum filter;
        GLsizei n;
        PTR32 weights;
    } *params32 = args;
    struct glTexFilterFuncSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .filter = params32->filter,
        .n = params32->n,
        .weights = ULongToPtr(params32->weights),
    };
    NTSTATUS status;
    status = ext_glTexFilterFuncSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexGenxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        GLfixed param;
    } *params32 = args;
    struct glTexGenxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glTexGenxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexGenxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum coord;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexGenxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coord = params32->coord,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTexGenxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexImage2DMultisample( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLboolean fixedsamplelocations;
    } *params32 = args;
    struct glTexImage2DMultisample_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .fixedsamplelocations = params32->fixedsamplelocations,
    };
    NTSTATUS status;
    status = ext_glTexImage2DMultisample( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexImage2DMultisampleCoverageNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei coverageSamples;
        GLsizei colorSamples;
        GLint internalFormat;
        GLsizei width;
        GLsizei height;
        GLboolean fixedSampleLocations;
    } *params32 = args;
    struct glTexImage2DMultisampleCoverageNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .coverageSamples = params32->coverageSamples,
        .colorSamples = params32->colorSamples,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .fixedSampleLocations = params32->fixedSampleLocations,
    };
    NTSTATUS status;
    status = ext_glTexImage2DMultisampleCoverageNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexImage3D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLint border;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexImage3D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .border = params32->border,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTexImage3D( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLint border;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .border = params32->border,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTexImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexImage3DMultisample( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLboolean fixedsamplelocations;
    } *params32 = args;
    struct glTexImage3DMultisample_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .fixedsamplelocations = params32->fixedsamplelocations,
    };
    NTSTATUS status;
    status = ext_glTexImage3DMultisample( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexImage3DMultisampleCoverageNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei coverageSamples;
        GLsizei colorSamples;
        GLint internalFormat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLboolean fixedSampleLocations;
    } *params32 = args;
    struct glTexImage3DMultisampleCoverageNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .coverageSamples = params32->coverageSamples,
        .colorSamples = params32->colorSamples,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .fixedSampleLocations = params32->fixedSampleLocations,
    };
    NTSTATUS status;
    status = ext_glTexImage3DMultisampleCoverageNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexImage4DSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLsizei size4d;
        GLint border;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexImage4DSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .size4d = params32->size4d,
        .border = params32->border,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTexImage4DSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexPageCommitmentARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLboolean commit;
    } *params32 = args;
    struct glTexPageCommitmentARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .commit = params32->commit,
    };
    NTSTATUS status;
    status = ext_glTexPageCommitmentARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexParameterIiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexParameterIiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTexParameterIiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexParameterIivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexParameterIivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTexParameterIivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexParameterIuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexParameterIuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTexParameterIuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexParameterIuivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexParameterIuivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTexParameterIuivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexParameterxOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        GLfixed param;
    } *params32 = args;
    struct glTexParameterxOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glTexParameterxOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexParameterxvOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTexParameterxvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTexParameterxvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexRenderbufferNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint renderbuffer;
    } *params32 = args;
    struct glTexRenderbufferNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .renderbuffer = params32->renderbuffer,
    };
    NTSTATUS status;
    status = ext_glTexRenderbufferNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexStorage1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei levels;
        GLenum internalformat;
        GLsizei width;
    } *params32 = args;
    struct glTexStorage1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .levels = params32->levels,
        .internalformat = params32->internalformat,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glTexStorage1D( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexStorage2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei levels;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glTexStorage2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .levels = params32->levels,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glTexStorage2D( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexStorage2DMultisample( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLboolean fixedsamplelocations;
    } *params32 = args;
    struct glTexStorage2DMultisample_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .fixedsamplelocations = params32->fixedsamplelocations,
    };
    NTSTATUS status;
    status = ext_glTexStorage2DMultisample( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexStorage3D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei levels;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
    } *params32 = args;
    struct glTexStorage3D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .levels = params32->levels,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
    };
    NTSTATUS status;
    status = ext_glTexStorage3D( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexStorage3DMultisample( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLboolean fixedsamplelocations;
    } *params32 = args;
    struct glTexStorage3DMultisample_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .fixedsamplelocations = params32->fixedsamplelocations,
    };
    NTSTATUS status;
    status = ext_glTexStorage3DMultisample( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexStorageMem1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei levels;
        GLenum internalFormat;
        GLsizei width;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTexStorageMem1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .levels = params32->levels,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTexStorageMem1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexStorageMem2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei levels;
        GLenum internalFormat;
        GLsizei width;
        GLsizei height;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTexStorageMem2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .levels = params32->levels,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTexStorageMem2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexStorageMem2DMultisampleEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei samples;
        GLenum internalFormat;
        GLsizei width;
        GLsizei height;
        GLboolean fixedSampleLocations;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTexStorageMem2DMultisampleEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .samples = params32->samples,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .fixedSampleLocations = params32->fixedSampleLocations,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTexStorageMem2DMultisampleEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexStorageMem3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei levels;
        GLenum internalFormat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTexStorageMem3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .levels = params32->levels,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTexStorageMem3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexStorageMem3DMultisampleEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei samples;
        GLenum internalFormat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLboolean fixedSampleLocations;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTexStorageMem3DMultisampleEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .samples = params32->samples,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .fixedSampleLocations = params32->fixedSampleLocations,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTexStorageMem3DMultisampleEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexStorageSparseAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLenum internalFormat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLsizei layers;
        GLbitfield flags;
    } *params32 = args;
    struct glTexStorageSparseAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .layers = params32->layers,
        .flags = params32->flags,
    };
    NTSTATUS status;
    status = ext_glTexStorageSparseAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexSubImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLsizei width;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexSubImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .width = params32->width,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTexSubImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexSubImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexSubImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTexSubImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexSubImage3D( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexSubImage3D_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTexSubImage3D( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexSubImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexSubImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTexSubImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexSubImage4DSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLint woffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLsizei size4d;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTexSubImage4DSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .woffset = params32->woffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .size4d = params32->size4d,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTexSubImage4DSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureAttachMemoryNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTextureAttachMemoryNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTextureAttachMemoryNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureBarrier( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glTextureBarrier_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glTextureBarrier( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureBarrierNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glTextureBarrierNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glTextureBarrierNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum internalformat;
        GLuint buffer;
    } *params32 = args;
    struct glTextureBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .internalformat = params32->internalformat,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glTextureBuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureBufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum internalformat;
        GLuint buffer;
    } *params32 = args;
    struct glTextureBufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .internalformat = params32->internalformat,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glTextureBufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureBufferRange( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum internalformat;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
    } *params32 = args;
    struct glTextureBufferRange_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .internalformat = params32->internalformat,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glTextureBufferRange( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureBufferRangeEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum internalformat;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
    } *params32 = args;
    struct glTextureBufferRangeEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .internalformat = params32->internalformat,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glTextureBufferRangeEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureColorMaskSGIS( void *args )
{
    struct
    {
        PTR32 teb;
        GLboolean red;
        GLboolean green;
        GLboolean blue;
        GLboolean alpha;
    } *params32 = args;
    struct glTextureColorMaskSGIS_params params =
    {
        .teb = get_teb64(params32->teb),
        .red = params32->red,
        .green = params32->green,
        .blue = params32->blue,
        .alpha = params32->alpha,
    };
    NTSTATUS status;
    status = ext_glTextureColorMaskSGIS( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint internalformat;
        GLsizei width;
        GLint border;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTextureImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .border = params32->border,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTextureImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint internalformat;
        GLsizei width;
        GLsizei height;
        GLint border;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTextureImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .border = params32->border,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTextureImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureImage2DMultisampleCoverageNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLsizei coverageSamples;
        GLsizei colorSamples;
        GLint internalFormat;
        GLsizei width;
        GLsizei height;
        GLboolean fixedSampleLocations;
    } *params32 = args;
    struct glTextureImage2DMultisampleCoverageNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .coverageSamples = params32->coverageSamples,
        .colorSamples = params32->colorSamples,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .fixedSampleLocations = params32->fixedSampleLocations,
    };
    NTSTATUS status;
    status = ext_glTextureImage2DMultisampleCoverageNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureImage2DMultisampleNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLsizei samples;
        GLint internalFormat;
        GLsizei width;
        GLsizei height;
        GLboolean fixedSampleLocations;
    } *params32 = args;
    struct glTextureImage2DMultisampleNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .samples = params32->samples,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .fixedSampleLocations = params32->fixedSampleLocations,
    };
    NTSTATUS status;
    status = ext_glTextureImage2DMultisampleNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLint border;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTextureImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .border = params32->border,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTextureImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureImage3DMultisampleCoverageNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLsizei coverageSamples;
        GLsizei colorSamples;
        GLint internalFormat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLboolean fixedSampleLocations;
    } *params32 = args;
    struct glTextureImage3DMultisampleCoverageNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .coverageSamples = params32->coverageSamples,
        .colorSamples = params32->colorSamples,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .fixedSampleLocations = params32->fixedSampleLocations,
    };
    NTSTATUS status;
    status = ext_glTextureImage3DMultisampleCoverageNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureImage3DMultisampleNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLsizei samples;
        GLint internalFormat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLboolean fixedSampleLocations;
    } *params32 = args;
    struct glTextureImage3DMultisampleNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .samples = params32->samples,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .fixedSampleLocations = params32->fixedSampleLocations,
    };
    NTSTATUS status;
    status = ext_glTextureImage3DMultisampleNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureLightEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
    } *params32 = args;
    struct glTextureLightEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
    };
    NTSTATUS status;
    status = ext_glTextureLightEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureMaterialEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum face;
        GLenum mode;
    } *params32 = args;
    struct glTextureMaterialEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .face = params32->face,
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glTextureMaterialEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureNormalEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
    } *params32 = args;
    struct glTextureNormalEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
    };
    NTSTATUS status;
    status = ext_glTextureNormalEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTexturePageCommitmentEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLboolean commit;
    } *params32 = args;
    struct glTexturePageCommitmentEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .commit = params32->commit,
    };
    NTSTATUS status;
    status = ext_glTexturePageCommitmentEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameterIiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTextureParameterIiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTextureParameterIiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameterIivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTextureParameterIivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTextureParameterIivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameterIuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTextureParameterIuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTextureParameterIuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameterIuivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTextureParameterIuivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTextureParameterIuivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameterf( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glTextureParameterf_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glTextureParameterf( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameterfEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glTextureParameterfEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glTextureParameterfEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameterfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glTextureParameterfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glTextureParameterfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameterfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTextureParameterfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTextureParameterfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameteri( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glTextureParameteri_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glTextureParameteri( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameteriEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glTextureParameteriEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glTextureParameteriEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameteriv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum pname;
        PTR32 param;
    } *params32 = args;
    struct glTextureParameteriv_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .pname = params32->pname,
        .param = ULongToPtr(params32->param),
    };
    NTSTATUS status;
    status = ext_glTextureParameteriv( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureParameterivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glTextureParameterivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glTextureParameterivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureRangeAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLsizei length;
        PTR32 pointer;
    } *params32 = args;
    struct glTextureRangeAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .length = params32->length,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glTextureRangeAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureRenderbufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLuint renderbuffer;
    } *params32 = args;
    struct glTextureRenderbufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .renderbuffer = params32->renderbuffer,
    };
    NTSTATUS status;
    status = ext_glTextureRenderbufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorage1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLsizei levels;
        GLenum internalformat;
        GLsizei width;
    } *params32 = args;
    struct glTextureStorage1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .levels = params32->levels,
        .internalformat = params32->internalformat,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glTextureStorage1D( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLsizei levels;
        GLenum internalformat;
        GLsizei width;
    } *params32 = args;
    struct glTextureStorage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .levels = params32->levels,
        .internalformat = params32->internalformat,
        .width = params32->width,
    };
    NTSTATUS status;
    status = ext_glTextureStorage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorage2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLsizei levels;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glTextureStorage2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .levels = params32->levels,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glTextureStorage2D( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLsizei levels;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
    } *params32 = args;
    struct glTextureStorage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .levels = params32->levels,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
    };
    NTSTATUS status;
    status = ext_glTextureStorage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorage2DMultisample( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLboolean fixedsamplelocations;
    } *params32 = args;
    struct glTextureStorage2DMultisample_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .fixedsamplelocations = params32->fixedsamplelocations,
    };
    NTSTATUS status;
    status = ext_glTextureStorage2DMultisample( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorage2DMultisampleEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLboolean fixedsamplelocations;
    } *params32 = args;
    struct glTextureStorage2DMultisampleEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .fixedsamplelocations = params32->fixedsamplelocations,
    };
    NTSTATUS status;
    status = ext_glTextureStorage2DMultisampleEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorage3D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLsizei levels;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
    } *params32 = args;
    struct glTextureStorage3D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .levels = params32->levels,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
    };
    NTSTATUS status;
    status = ext_glTextureStorage3D( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLsizei levels;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
    } *params32 = args;
    struct glTextureStorage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .levels = params32->levels,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
    };
    NTSTATUS status;
    status = ext_glTextureStorage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorage3DMultisample( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLboolean fixedsamplelocations;
    } *params32 = args;
    struct glTextureStorage3DMultisample_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .fixedsamplelocations = params32->fixedsamplelocations,
    };
    NTSTATUS status;
    status = ext_glTextureStorage3DMultisample( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorage3DMultisampleEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLsizei samples;
        GLenum internalformat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLboolean fixedsamplelocations;
    } *params32 = args;
    struct glTextureStorage3DMultisampleEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .samples = params32->samples,
        .internalformat = params32->internalformat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .fixedsamplelocations = params32->fixedsamplelocations,
    };
    NTSTATUS status;
    status = ext_glTextureStorage3DMultisampleEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorageMem1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLsizei levels;
        GLenum internalFormat;
        GLsizei width;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTextureStorageMem1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .levels = params32->levels,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTextureStorageMem1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorageMem2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLsizei levels;
        GLenum internalFormat;
        GLsizei width;
        GLsizei height;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTextureStorageMem2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .levels = params32->levels,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTextureStorageMem2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorageMem2DMultisampleEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLsizei samples;
        GLenum internalFormat;
        GLsizei width;
        GLsizei height;
        GLboolean fixedSampleLocations;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTextureStorageMem2DMultisampleEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .samples = params32->samples,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .fixedSampleLocations = params32->fixedSampleLocations,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTextureStorageMem2DMultisampleEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorageMem3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLsizei levels;
        GLenum internalFormat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTextureStorageMem3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .levels = params32->levels,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTextureStorageMem3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorageMem3DMultisampleEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLsizei samples;
        GLenum internalFormat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLboolean fixedSampleLocations;
        GLuint memory;
        GLuint64 offset;
    } *params32 = args;
    struct glTextureStorageMem3DMultisampleEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .samples = params32->samples,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .fixedSampleLocations = params32->fixedSampleLocations,
        .memory = params32->memory,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glTextureStorageMem3DMultisampleEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureStorageSparseAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLenum internalFormat;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLsizei layers;
        GLbitfield flags;
    } *params32 = args;
    struct glTextureStorageSparseAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .internalFormat = params32->internalFormat,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .layers = params32->layers,
        .flags = params32->flags,
    };
    NTSTATUS status;
    status = ext_glTextureStorageSparseAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureSubImage1D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLsizei width;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTextureSubImage1D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .width = params32->width,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTextureSubImage1D( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureSubImage1DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLsizei width;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTextureSubImage1DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .width = params32->width,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTextureSubImage1DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureSubImage2D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTextureSubImage2D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTextureSubImage2D( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureSubImage2DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLsizei width;
        GLsizei height;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTextureSubImage2DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .width = params32->width,
        .height = params32->height,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTextureSubImage2DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureSubImage3D( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTextureSubImage3D_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTextureSubImage3D( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureSubImage3DEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLint level;
        GLint xoffset;
        GLint yoffset;
        GLint zoffset;
        GLsizei width;
        GLsizei height;
        GLsizei depth;
        GLenum format;
        GLenum type;
        PTR32 pixels;
    } *params32 = args;
    struct glTextureSubImage3DEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .level = params32->level,
        .xoffset = params32->xoffset,
        .yoffset = params32->yoffset,
        .zoffset = params32->zoffset,
        .width = params32->width,
        .height = params32->height,
        .depth = params32->depth,
        .format = params32->format,
        .type = params32->type,
        .pixels = ULongToPtr(params32->pixels),
    };
    NTSTATUS status;
    status = ext_glTextureSubImage3DEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glTextureView( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLenum target;
        GLuint origtexture;
        GLenum internalformat;
        GLuint minlevel;
        GLuint numlevels;
        GLuint minlayer;
        GLuint numlayers;
    } *params32 = args;
    struct glTextureView_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .target = params32->target,
        .origtexture = params32->origtexture,
        .internalformat = params32->internalformat,
        .minlevel = params32->minlevel,
        .numlevels = params32->numlevels,
        .minlayer = params32->minlayer,
        .numlayers = params32->numlayers,
    };
    NTSTATUS status;
    status = ext_glTextureView( &params );
    return status;
}

static NTSTATUS wow64_ext_glTrackMatrixNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum target;
        GLuint address;
        GLenum matrix;
        GLenum transform;
    } *params32 = args;
    struct glTrackMatrixNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .target = params32->target,
        .address = params32->address,
        .matrix = params32->matrix,
        .transform = params32->transform,
    };
    NTSTATUS status;
    status = ext_glTrackMatrixNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTransformFeedbackAttribsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei count;
        PTR32 attribs;
        GLenum bufferMode;
    } *params32 = args;
    struct glTransformFeedbackAttribsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .count = params32->count,
        .attribs = ULongToPtr(params32->attribs),
        .bufferMode = params32->bufferMode,
    };
    NTSTATUS status;
    status = ext_glTransformFeedbackAttribsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTransformFeedbackBufferBase( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint xfb;
        GLuint index;
        GLuint buffer;
    } *params32 = args;
    struct glTransformFeedbackBufferBase_params params =
    {
        .teb = get_teb64(params32->teb),
        .xfb = params32->xfb,
        .index = params32->index,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glTransformFeedbackBufferBase( &params );
    return status;
}

static NTSTATUS wow64_ext_glTransformFeedbackBufferRange( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint xfb;
        GLuint index;
        GLuint buffer;
        PTR32 offset;
        PTR32 size;
    } *params32 = args;
    struct glTransformFeedbackBufferRange_params params =
    {
        .teb = get_teb64(params32->teb),
        .xfb = params32->xfb,
        .index = params32->index,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .size = (GLsizeiptr)ULongToPtr(params32->size),
    };
    NTSTATUS status;
    status = ext_glTransformFeedbackBufferRange( &params );
    return status;
}

static NTSTATUS wow64_ext_glTransformFeedbackStreamAttribsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei count;
        PTR32 attribs;
        GLsizei nbuffers;
        PTR32 bufstreams;
        GLenum bufferMode;
    } *params32 = args;
    struct glTransformFeedbackStreamAttribsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .count = params32->count,
        .attribs = ULongToPtr(params32->attribs),
        .nbuffers = params32->nbuffers,
        .bufstreams = ULongToPtr(params32->bufstreams),
        .bufferMode = params32->bufferMode,
    };
    NTSTATUS status;
    status = ext_glTransformFeedbackStreamAttribsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTransformFeedbackVaryings( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLsizei count;
        PTR32 varyings;
        GLenum bufferMode;
    } *params32 = args;
    struct glTransformFeedbackVaryings_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .count = params32->count,
        .bufferMode = params32->bufferMode,
    };
    NTSTATUS status;
    params.varyings = copy_wow64_ptr32s( (UINT_PTR)params32->varyings, params32->count );
    status = ext_glTransformFeedbackVaryings( &params );
    free( (void *)params.varyings );
    return status;
}

static NTSTATUS wow64_ext_glTransformFeedbackVaryingsEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLsizei count;
        PTR32 varyings;
        GLenum bufferMode;
    } *params32 = args;
    struct glTransformFeedbackVaryingsEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .count = params32->count,
        .bufferMode = params32->bufferMode,
    };
    NTSTATUS status;
    params.varyings = copy_wow64_ptr32s( (UINT_PTR)params32->varyings, params32->count );
    status = ext_glTransformFeedbackVaryingsEXT( &params );
    free( (void *)params.varyings );
    return status;
}

static NTSTATUS wow64_ext_glTransformFeedbackVaryingsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLsizei count;
        PTR32 locations;
        GLenum bufferMode;
    } *params32 = args;
    struct glTransformFeedbackVaryingsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .count = params32->count,
        .locations = ULongToPtr(params32->locations),
        .bufferMode = params32->bufferMode,
    };
    NTSTATUS status;
    status = ext_glTransformFeedbackVaryingsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTransformPathNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint resultPath;
        GLuint srcPath;
        GLenum transformType;
        PTR32 transformValues;
    } *params32 = args;
    struct glTransformPathNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .resultPath = params32->resultPath,
        .srcPath = params32->srcPath,
        .transformType = params32->transformType,
        .transformValues = ULongToPtr(params32->transformValues),
    };
    NTSTATUS status;
    status = ext_glTransformPathNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glTranslatexOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed x;
        GLfixed y;
        GLfixed z;
    } *params32 = args;
    struct glTranslatexOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glTranslatexOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1d( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLdouble x;
    } *params32 = args;
    struct glUniform1d_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glUniform1d( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform1dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform1dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1f( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLfloat v0;
    } *params32 = args;
    struct glUniform1f_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glUniform1f( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLfloat v0;
    } *params32 = args;
    struct glUniform1fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glUniform1fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform1fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform1fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform1fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform1fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint v0;
    } *params32 = args;
    struct glUniform1i_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glUniform1i( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1i64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint64 x;
    } *params32 = args;
    struct glUniform1i64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glUniform1i64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint64EXT x;
    } *params32 = args;
    struct glUniform1i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glUniform1i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1i64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform1i64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform1i64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform1i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform1i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1iARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint v0;
    } *params32 = args;
    struct glUniform1iARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glUniform1iARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform1iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform1iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1ivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform1ivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform1ivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint v0;
    } *params32 = args;
    struct glUniform1ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glUniform1ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1ui64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint64 x;
    } *params32 = args;
    struct glUniform1ui64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glUniform1ui64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint64EXT x;
    } *params32 = args;
    struct glUniform1ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glUniform1ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1ui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform1ui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform1ui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform1ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform1ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint v0;
    } *params32 = args;
    struct glUniform1uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
    };
    NTSTATUS status;
    status = ext_glUniform1uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform1uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform1uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform1uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform1uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform1uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glUniform2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glUniform2d( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2f( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLfloat v0;
        GLfloat v1;
    } *params32 = args;
    struct glUniform2f_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glUniform2f( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLfloat v0;
        GLfloat v1;
    } *params32 = args;
    struct glUniform2fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glUniform2fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform2fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform2fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform2fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint v0;
        GLint v1;
    } *params32 = args;
    struct glUniform2i_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glUniform2i( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2i64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint64 x;
        GLint64 y;
    } *params32 = args;
    struct glUniform2i64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glUniform2i64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint64EXT x;
        GLint64EXT y;
    } *params32 = args;
    struct glUniform2i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glUniform2i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2i64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform2i64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform2i64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform2i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform2i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2iARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint v0;
        GLint v1;
    } *params32 = args;
    struct glUniform2iARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glUniform2iARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform2iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform2iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2ivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform2ivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform2ivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint v0;
        GLuint v1;
    } *params32 = args;
    struct glUniform2ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glUniform2ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2ui64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint64 x;
        GLuint64 y;
    } *params32 = args;
    struct glUniform2ui64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glUniform2ui64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint64EXT x;
        GLuint64EXT y;
    } *params32 = args;
    struct glUniform2ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glUniform2ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2ui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform2ui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform2ui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform2ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform2ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint v0;
        GLuint v1;
    } *params32 = args;
    struct glUniform2uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
    };
    NTSTATUS status;
    status = ext_glUniform2uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform2uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform2uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform2uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform2uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform2uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glUniform3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glUniform3d( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3f( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLfloat v0;
        GLfloat v1;
        GLfloat v2;
    } *params32 = args;
    struct glUniform3f_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glUniform3f( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLfloat v0;
        GLfloat v1;
        GLfloat v2;
    } *params32 = args;
    struct glUniform3fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glUniform3fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform3fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform3fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint v0;
        GLint v1;
        GLint v2;
    } *params32 = args;
    struct glUniform3i_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glUniform3i( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3i64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint64 x;
        GLint64 y;
        GLint64 z;
    } *params32 = args;
    struct glUniform3i64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glUniform3i64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint64EXT x;
        GLint64EXT y;
        GLint64EXT z;
    } *params32 = args;
    struct glUniform3i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glUniform3i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3i64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform3i64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform3i64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform3i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform3i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3iARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint v0;
        GLint v1;
        GLint v2;
    } *params32 = args;
    struct glUniform3iARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glUniform3iARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform3iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform3iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3ivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform3ivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform3ivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint v0;
        GLuint v1;
        GLuint v2;
    } *params32 = args;
    struct glUniform3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glUniform3ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3ui64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint64 x;
        GLuint64 y;
        GLuint64 z;
    } *params32 = args;
    struct glUniform3ui64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glUniform3ui64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint64EXT x;
        GLuint64EXT y;
        GLuint64EXT z;
    } *params32 = args;
    struct glUniform3ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glUniform3ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3ui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform3ui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform3ui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform3ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform3ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint v0;
        GLuint v1;
        GLuint v2;
    } *params32 = args;
    struct glUniform3uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
    };
    NTSTATUS status;
    status = ext_glUniform3uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform3uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform3uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform3uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform3uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4d( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glUniform4d_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glUniform4d( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform4dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4f( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLfloat v0;
        GLfloat v1;
        GLfloat v2;
        GLfloat v3;
    } *params32 = args;
    struct glUniform4f_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glUniform4f( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLfloat v0;
        GLfloat v1;
        GLfloat v2;
        GLfloat v3;
    } *params32 = args;
    struct glUniform4fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glUniform4fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform4fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform4fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform4fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint v0;
        GLint v1;
        GLint v2;
        GLint v3;
    } *params32 = args;
    struct glUniform4i_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glUniform4i( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4i64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint64 x;
        GLint64 y;
        GLint64 z;
        GLint64 w;
    } *params32 = args;
    struct glUniform4i64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glUniform4i64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint64EXT x;
        GLint64EXT y;
        GLint64EXT z;
        GLint64EXT w;
    } *params32 = args;
    struct glUniform4i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glUniform4i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4i64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform4i64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform4i64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform4i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform4i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4iARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLint v0;
        GLint v1;
        GLint v2;
        GLint v3;
    } *params32 = args;
    struct glUniform4iARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glUniform4iARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform4iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform4iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4ivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform4ivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform4ivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint v0;
        GLuint v1;
        GLuint v2;
        GLuint v3;
    } *params32 = args;
    struct glUniform4ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glUniform4ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4ui64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint64 x;
        GLuint64 y;
        GLuint64 z;
        GLuint64 w;
    } *params32 = args;
    struct glUniform4ui64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glUniform4ui64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint64EXT x;
        GLuint64EXT y;
        GLuint64EXT z;
        GLuint64EXT w;
    } *params32 = args;
    struct glUniform4ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glUniform4ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4ui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform4ui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform4ui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform4ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform4ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint v0;
        GLuint v1;
        GLuint v2;
        GLuint v3;
    } *params32 = args;
    struct glUniform4uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .v0 = params32->v0,
        .v1 = params32->v1,
        .v2 = params32->v2,
        .v3 = params32->v3,
    };
    NTSTATUS status;
    status = ext_glUniform4uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform4uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform4uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniform4uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniform4uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniform4uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformBlockBinding( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLuint uniformBlockIndex;
        GLuint uniformBlockBinding;
    } *params32 = args;
    struct glUniformBlockBinding_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .uniformBlockIndex = params32->uniformBlockIndex,
        .uniformBlockBinding = params32->uniformBlockBinding,
    };
    NTSTATUS status;
    status = ext_glUniformBlockBinding( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformBufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
        GLint location;
        GLuint buffer;
    } *params32 = args;
    struct glUniformBufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
        .location = params32->location,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glUniformBufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformHandleui64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint64 value;
    } *params32 = args;
    struct glUniformHandleui64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glUniformHandleui64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformHandleui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint64 value;
    } *params32 = args;
    struct glUniformHandleui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glUniformHandleui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformHandleui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniformHandleui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformHandleui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformHandleui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniformHandleui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformHandleui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix2dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix2fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix2fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix2fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix2fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix2fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix2x3dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix2x3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix2x3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix2x3fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix2x3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix2x3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix2x4dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix2x4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix2x4dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix2x4fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix2x4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix2x4fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix3dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix3fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix3fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix3fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix3fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix3x2dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix3x2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix3x2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix3x2fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix3x2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix3x2fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix3x4dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix3x4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix3x4dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix3x4fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix3x4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix3x4fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix4dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix4dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix4fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix4fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix4fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix4fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix4fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix4x2dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix4x2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix4x2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix4x2fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix4x2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix4x2fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix4x3dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix4x3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix4x3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformMatrix4x3fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        GLboolean transpose;
        PTR32 value;
    } *params32 = args;
    struct glUniformMatrix4x3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .transpose = params32->transpose,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformMatrix4x3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformSubroutinesuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum shadertype;
        GLsizei count;
        PTR32 indices;
    } *params32 = args;
    struct glUniformSubroutinesuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .shadertype = params32->shadertype,
        .count = params32->count,
        .indices = ULongToPtr(params32->indices),
    };
    NTSTATUS status;
    status = ext_glUniformSubroutinesuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLuint64EXT value;
    } *params32 = args;
    struct glUniformui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glUniformui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUniformui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint location;
        GLsizei count;
        PTR32 value;
    } *params32 = args;
    struct glUniformui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .location = params32->location,
        .count = params32->count,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glUniformui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glUnlockArraysEXT( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glUnlockArraysEXT_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glUnlockArraysEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glUnmapObjectBufferATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
    } *params32 = args;
    struct glUnmapObjectBufferATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glUnmapObjectBufferATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glUnmapTexture2DINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint texture;
        GLint level;
    } *params32 = args;
    struct glUnmapTexture2DINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .texture = params32->texture,
        .level = params32->level,
    };
    NTSTATUS status;
    status = ext_glUnmapTexture2DINTEL( &params );
    return status;
}

static NTSTATUS wow64_ext_glUpdateObjectBufferATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint buffer;
        GLuint offset;
        GLsizei size;
        PTR32 pointer;
        GLenum preserve;
    } *params32 = args;
    struct glUpdateObjectBufferATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .buffer = params32->buffer,
        .offset = params32->offset,
        .size = params32->size,
        .pointer = ULongToPtr(params32->pointer),
        .preserve = params32->preserve,
    };
    NTSTATUS status;
    status = ext_glUpdateObjectBufferATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glUploadGpuMaskNVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLbitfield mask;
    } *params32 = args;
    struct glUploadGpuMaskNVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .mask = params32->mask,
    };
    NTSTATUS status;
    status = ext_glUploadGpuMaskNVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glUseProgram( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
    } *params32 = args;
    struct glUseProgram_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
    };
    NTSTATUS status;
    status = ext_glUseProgram( &params );
    return status;
}

static NTSTATUS wow64_ext_glUseProgramObjectARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB programObj;
    } *params32 = args;
    struct glUseProgramObjectARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .programObj = params32->programObj,
    };
    NTSTATUS status;
    status = ext_glUseProgramObjectARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glUseProgramStages( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint pipeline;
        GLbitfield stages;
        GLuint program;
    } *params32 = args;
    struct glUseProgramStages_params params =
    {
        .teb = get_teb64(params32->teb),
        .pipeline = params32->pipeline,
        .stages = params32->stages,
        .program = params32->program,
    };
    NTSTATUS status;
    status = ext_glUseProgramStages( &params );
    return status;
}

static NTSTATUS wow64_ext_glUseShaderProgramEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint program;
    } *params32 = args;
    struct glUseShaderProgramEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .program = params32->program,
    };
    NTSTATUS status;
    status = ext_glUseShaderProgramEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVDPAUFiniNV( void *args )
{
    struct
    {
        PTR32 teb;
    } *params32 = args;
    struct glVDPAUFiniNV_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_glVDPAUFiniNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVDPAUGetSurfaceivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLvdpauSurfaceNV surface;
        GLenum pname;
        GLsizei count;
        PTR32 length;
        PTR32 values;
    } *params32 = args;
    struct glVDPAUGetSurfaceivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .surface = params32->surface,
        .pname = params32->pname,
        .count = params32->count,
        .length = ULongToPtr(params32->length),
        .values = ULongToPtr(params32->values),
    };
    NTSTATUS status;
    status = ext_glVDPAUGetSurfaceivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVDPAUInitNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 vdpDevice;
        PTR32 getProcAddress;
    } *params32 = args;
    struct glVDPAUInitNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .vdpDevice = ULongToPtr(params32->vdpDevice),
        .getProcAddress = ULongToPtr(params32->getProcAddress),
    };
    NTSTATUS status;
    status = ext_glVDPAUInitNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVDPAUIsSurfaceNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLvdpauSurfaceNV surface;
        GLboolean ret;
    } *params32 = args;
    struct glVDPAUIsSurfaceNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .surface = params32->surface,
    };
    NTSTATUS status;
    status = ext_glVDPAUIsSurfaceNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glVDPAUMapSurfacesNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei numSurfaces;
        PTR32 surfaces;
    } *params32 = args;
    struct glVDPAUMapSurfacesNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .numSurfaces = params32->numSurfaces,
        .surfaces = ULongToPtr(params32->surfaces),
    };
    NTSTATUS status;
    status = ext_glVDPAUMapSurfacesNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVDPAURegisterOutputSurfaceNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 vdpSurface;
        GLenum target;
        GLsizei numTextureNames;
        PTR32 textureNames;
        GLvdpauSurfaceNV ret;
    } *params32 = args;
    struct glVDPAURegisterOutputSurfaceNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .vdpSurface = ULongToPtr(params32->vdpSurface),
        .target = params32->target,
        .numTextureNames = params32->numTextureNames,
        .textureNames = ULongToPtr(params32->textureNames),
    };
    NTSTATUS status;
    status = ext_glVDPAURegisterOutputSurfaceNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glVDPAURegisterVideoSurfaceNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 vdpSurface;
        GLenum target;
        GLsizei numTextureNames;
        PTR32 textureNames;
        GLvdpauSurfaceNV ret;
    } *params32 = args;
    struct glVDPAURegisterVideoSurfaceNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .vdpSurface = ULongToPtr(params32->vdpSurface),
        .target = params32->target,
        .numTextureNames = params32->numTextureNames,
        .textureNames = ULongToPtr(params32->textureNames),
    };
    NTSTATUS status;
    status = ext_glVDPAURegisterVideoSurfaceNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glVDPAURegisterVideoSurfaceWithPictureStructureNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 vdpSurface;
        GLenum target;
        GLsizei numTextureNames;
        PTR32 textureNames;
        GLboolean isFrameStructure;
        GLvdpauSurfaceNV ret;
    } *params32 = args;
    struct glVDPAURegisterVideoSurfaceWithPictureStructureNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .vdpSurface = ULongToPtr(params32->vdpSurface),
        .target = params32->target,
        .numTextureNames = params32->numTextureNames,
        .textureNames = ULongToPtr(params32->textureNames),
        .isFrameStructure = params32->isFrameStructure,
    };
    NTSTATUS status;
    status = ext_glVDPAURegisterVideoSurfaceWithPictureStructureNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glVDPAUSurfaceAccessNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLvdpauSurfaceNV surface;
        GLenum access;
    } *params32 = args;
    struct glVDPAUSurfaceAccessNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .surface = params32->surface,
        .access = params32->access,
    };
    NTSTATUS status;
    status = ext_glVDPAUSurfaceAccessNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVDPAUUnmapSurfacesNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei numSurface;
        PTR32 surfaces;
    } *params32 = args;
    struct glVDPAUUnmapSurfacesNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .numSurface = params32->numSurface,
        .surfaces = ULongToPtr(params32->surfaces),
    };
    NTSTATUS status;
    status = ext_glVDPAUUnmapSurfacesNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVDPAUUnregisterSurfaceNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLvdpauSurfaceNV surface;
    } *params32 = args;
    struct glVDPAUUnregisterSurfaceNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .surface = params32->surface,
    };
    NTSTATUS status;
    status = ext_glVDPAUUnregisterSurfaceNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glValidateProgram( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint program;
    } *params32 = args;
    struct glValidateProgram_params params =
    {
        .teb = get_teb64(params32->teb),
        .program = params32->program,
    };
    NTSTATUS status;
    status = ext_glValidateProgram( &params );
    return status;
}

static NTSTATUS wow64_ext_glValidateProgramARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLhandleARB programObj;
    } *params32 = args;
    struct glValidateProgramARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .programObj = params32->programObj,
    };
    NTSTATUS status;
    status = ext_glValidateProgramARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glValidateProgramPipeline( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint pipeline;
    } *params32 = args;
    struct glValidateProgramPipeline_params params =
    {
        .teb = get_teb64(params32->teb),
        .pipeline = params32->pipeline,
    };
    NTSTATUS status;
    status = ext_glValidateProgramPipeline( &params );
    return status;
}

static NTSTATUS wow64_ext_glVariantArrayObjectATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum type;
        GLsizei stride;
        GLuint buffer;
        GLuint offset;
    } *params32 = args;
    struct glVariantArrayObjectATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .type = params32->type,
        .stride = params32->stride,
        .buffer = params32->buffer,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glVariantArrayObjectATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVariantPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        GLenum type;
        GLuint stride;
        PTR32 addr;
    } *params32 = args;
    struct glVariantPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .type = params32->type,
        .stride = params32->stride,
        .addr = ULongToPtr(params32->addr),
    };
    NTSTATUS status;
    status = ext_glVariantPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVariantbvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        PTR32 addr;
    } *params32 = args;
    struct glVariantbvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .addr = ULongToPtr(params32->addr),
    };
    NTSTATUS status;
    status = ext_glVariantbvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVariantdvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        PTR32 addr;
    } *params32 = args;
    struct glVariantdvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .addr = ULongToPtr(params32->addr),
    };
    NTSTATUS status;
    status = ext_glVariantdvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVariantfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        PTR32 addr;
    } *params32 = args;
    struct glVariantfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .addr = ULongToPtr(params32->addr),
    };
    NTSTATUS status;
    status = ext_glVariantfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVariantivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        PTR32 addr;
    } *params32 = args;
    struct glVariantivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .addr = ULongToPtr(params32->addr),
    };
    NTSTATUS status;
    status = ext_glVariantivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVariantsvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        PTR32 addr;
    } *params32 = args;
    struct glVariantsvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .addr = ULongToPtr(params32->addr),
    };
    NTSTATUS status;
    status = ext_glVariantsvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVariantubvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        PTR32 addr;
    } *params32 = args;
    struct glVariantubvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .addr = ULongToPtr(params32->addr),
    };
    NTSTATUS status;
    status = ext_glVariantubvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVariantuivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        PTR32 addr;
    } *params32 = args;
    struct glVariantuivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .addr = ULongToPtr(params32->addr),
    };
    NTSTATUS status;
    status = ext_glVariantuivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVariantusvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint id;
        PTR32 addr;
    } *params32 = args;
    struct glVariantusvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .id = params32->id,
        .addr = ULongToPtr(params32->addr),
    };
    NTSTATUS status;
    status = ext_glVariantusvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex2bOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte x;
        GLbyte y;
    } *params32 = args;
    struct glVertex2bOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertex2bOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex2bvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glVertex2bvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertex2bvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex2hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV x;
        GLhalfNV y;
    } *params32 = args;
    struct glVertex2hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertex2hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex2hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex2hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertex2hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex2xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed x;
    } *params32 = args;
    struct glVertex2xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertex2xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex2xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glVertex2xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertex2xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex3bOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte x;
        GLbyte y;
        GLbyte z;
    } *params32 = args;
    struct glVertex3bOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertex3bOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex3bvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glVertex3bvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertex3bvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex3hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV x;
        GLhalfNV y;
        GLhalfNV z;
    } *params32 = args;
    struct glVertex3hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertex3hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex3hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex3hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertex3hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex3xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed x;
        GLfixed y;
    } *params32 = args;
    struct glVertex3xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertex3xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex3xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glVertex3xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertex3xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex4bOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLbyte x;
        GLbyte y;
        GLbyte z;
        GLbyte w;
    } *params32 = args;
    struct glVertex4bOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertex4bOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex4bvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glVertex4bvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertex4bvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex4hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV x;
        GLhalfNV y;
        GLhalfNV z;
        GLhalfNV w;
    } *params32 = args;
    struct glVertex4hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertex4hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex4hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glVertex4hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertex4hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex4xOES( void *args )
{
    struct
    {
        PTR32 teb;
        GLfixed x;
        GLfixed y;
        GLfixed z;
    } *params32 = args;
    struct glVertex4xOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertex4xOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertex4xvOES( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 coords;
    } *params32 = args;
    struct glVertex4xvOES_params params =
    {
        .teb = get_teb64(params32->teb),
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertex4xvOES( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayAttribBinding( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint attribindex;
        GLuint bindingindex;
    } *params32 = args;
    struct glVertexArrayAttribBinding_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .attribindex = params32->attribindex,
        .bindingindex = params32->bindingindex,
    };
    NTSTATUS status;
    status = ext_glVertexArrayAttribBinding( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayAttribFormat( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint attribindex;
        GLint size;
        GLenum type;
        GLboolean normalized;
        GLuint relativeoffset;
    } *params32 = args;
    struct glVertexArrayAttribFormat_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .attribindex = params32->attribindex,
        .size = params32->size,
        .type = params32->type,
        .normalized = params32->normalized,
        .relativeoffset = params32->relativeoffset,
    };
    NTSTATUS status;
    status = ext_glVertexArrayAttribFormat( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayAttribIFormat( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint attribindex;
        GLint size;
        GLenum type;
        GLuint relativeoffset;
    } *params32 = args;
    struct glVertexArrayAttribIFormat_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .attribindex = params32->attribindex,
        .size = params32->size,
        .type = params32->type,
        .relativeoffset = params32->relativeoffset,
    };
    NTSTATUS status;
    status = ext_glVertexArrayAttribIFormat( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayAttribLFormat( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint attribindex;
        GLint size;
        GLenum type;
        GLuint relativeoffset;
    } *params32 = args;
    struct glVertexArrayAttribLFormat_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .attribindex = params32->attribindex,
        .size = params32->size,
        .type = params32->type,
        .relativeoffset = params32->relativeoffset,
    };
    NTSTATUS status;
    status = ext_glVertexArrayAttribLFormat( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayBindVertexBufferEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint bindingindex;
        GLuint buffer;
        PTR32 offset;
        GLsizei stride;
    } *params32 = args;
    struct glVertexArrayBindVertexBufferEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .bindingindex = params32->bindingindex,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glVertexArrayBindVertexBufferEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayBindingDivisor( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint bindingindex;
        GLuint divisor;
    } *params32 = args;
    struct glVertexArrayBindingDivisor_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .bindingindex = params32->bindingindex,
        .divisor = params32->divisor,
    };
    NTSTATUS status;
    status = ext_glVertexArrayBindingDivisor( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayColorOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArrayColorOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArrayColorOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayEdgeFlagOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArrayEdgeFlagOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArrayEdgeFlagOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayElementBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
    } *params32 = args;
    struct glVertexArrayElementBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
    };
    NTSTATUS status;
    status = ext_glVertexArrayElementBuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayFogCoordOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLenum type;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArrayFogCoordOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .type = params32->type,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArrayFogCoordOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayIndexOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLenum type;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArrayIndexOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .type = params32->type,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArrayIndexOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayMultiTexCoordOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLenum texunit;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArrayMultiTexCoordOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .texunit = params32->texunit,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArrayMultiTexCoordOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayNormalOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLenum type;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArrayNormalOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .type = params32->type,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArrayNormalOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayParameteriAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glVertexArrayParameteriAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glVertexArrayParameteriAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayRangeAPPLE( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei length;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexArrayRangeAPPLE_params params =
    {
        .teb = get_teb64(params32->teb),
        .length = params32->length,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glVertexArrayRangeAPPLE( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayRangeNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei length;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexArrayRangeNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .length = params32->length,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glVertexArrayRangeNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArraySecondaryColorOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArraySecondaryColorOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArraySecondaryColorOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayTexCoordOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArrayTexCoordOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArrayTexCoordOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexAttribBindingEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint attribindex;
        GLuint bindingindex;
    } *params32 = args;
    struct glVertexArrayVertexAttribBindingEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .attribindex = params32->attribindex,
        .bindingindex = params32->bindingindex,
    };
    NTSTATUS status;
    status = ext_glVertexArrayVertexAttribBindingEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexAttribDivisorEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint index;
        GLuint divisor;
    } *params32 = args;
    struct glVertexArrayVertexAttribDivisorEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .index = params32->index,
        .divisor = params32->divisor,
    };
    NTSTATUS status;
    status = ext_glVertexArrayVertexAttribDivisorEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexAttribFormatEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint attribindex;
        GLint size;
        GLenum type;
        GLboolean normalized;
        GLuint relativeoffset;
    } *params32 = args;
    struct glVertexArrayVertexAttribFormatEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .attribindex = params32->attribindex,
        .size = params32->size,
        .type = params32->type,
        .normalized = params32->normalized,
        .relativeoffset = params32->relativeoffset,
    };
    NTSTATUS status;
    status = ext_glVertexArrayVertexAttribFormatEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexAttribIFormatEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint attribindex;
        GLint size;
        GLenum type;
        GLuint relativeoffset;
    } *params32 = args;
    struct glVertexArrayVertexAttribIFormatEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .attribindex = params32->attribindex,
        .size = params32->size,
        .type = params32->type,
        .relativeoffset = params32->relativeoffset,
    };
    NTSTATUS status;
    status = ext_glVertexArrayVertexAttribIFormatEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexAttribIOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLuint index;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArrayVertexAttribIOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArrayVertexAttribIOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexAttribLFormatEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint attribindex;
        GLint size;
        GLenum type;
        GLuint relativeoffset;
    } *params32 = args;
    struct glVertexArrayVertexAttribLFormatEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .attribindex = params32->attribindex,
        .size = params32->size,
        .type = params32->type,
        .relativeoffset = params32->relativeoffset,
    };
    NTSTATUS status;
    status = ext_glVertexArrayVertexAttribLFormatEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexAttribLOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLuint index;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArrayVertexAttribLOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArrayVertexAttribLOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexAttribOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLuint index;
        GLint size;
        GLenum type;
        GLboolean normalized;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArrayVertexAttribOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .normalized = params32->normalized,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArrayVertexAttribOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexBindingDivisorEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint bindingindex;
        GLuint divisor;
    } *params32 = args;
    struct glVertexArrayVertexBindingDivisorEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .bindingindex = params32->bindingindex,
        .divisor = params32->divisor,
    };
    NTSTATUS status;
    status = ext_glVertexArrayVertexBindingDivisorEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexBuffer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint bindingindex;
        GLuint buffer;
        PTR32 offset;
        GLsizei stride;
    } *params32 = args;
    struct glVertexArrayVertexBuffer_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .bindingindex = params32->bindingindex,
        .buffer = params32->buffer,
        .offset = (GLintptr)ULongToPtr(params32->offset),
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glVertexArrayVertexBuffer( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexBuffers( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint first;
        GLsizei count;
        PTR32 buffers;
        PTR32 offsets;
        PTR32 strides;
    } *params32 = args;
    struct glVertexArrayVertexBuffers_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .first = params32->first,
        .count = params32->count,
        .buffers = ULongToPtr(params32->buffers),
        .strides = ULongToPtr(params32->strides),
    };
    NTSTATUS status;
    params.offsets = copy_wow64_ptr32s( (UINT_PTR)params32->offsets, params32->count );
    status = ext_glVertexArrayVertexBuffers( &params );
    free( (void *)params.offsets );
    return status;
}

static NTSTATUS wow64_ext_glVertexArrayVertexOffsetEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint vaobj;
        GLuint buffer;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 offset;
    } *params32 = args;
    struct glVertexArrayVertexOffsetEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .vaobj = params32->vaobj,
        .buffer = params32->buffer,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .offset = (GLintptr)ULongToPtr(params32->offset),
    };
    NTSTATUS status;
    status = ext_glVertexArrayVertexOffsetEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
    } *params32 = args;
    struct glVertexAttrib1d_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1d( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
    } *params32 = args;
    struct glVertexAttrib1dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1dNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
    } *params32 = args;
    struct glVertexAttrib1dNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1dNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib1dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib1dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1dvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib1dvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1dvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1f( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
    } *params32 = args;
    struct glVertexAttrib1f_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1f( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
    } *params32 = args;
    struct glVertexAttrib1fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
    } *params32 = args;
    struct glVertexAttrib1fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib1fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib1fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1fvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib1fvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1fvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLhalfNV x;
    } *params32 = args;
    struct glVertexAttrib1hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib1hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1s( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
    } *params32 = args;
    struct glVertexAttrib1s_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1s( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1sARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
    } *params32 = args;
    struct glVertexAttrib1sARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1sARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1sNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
    } *params32 = args;
    struct glVertexAttrib1sNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1sNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1sv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib1sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1svARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib1svARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1svARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib1svNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib1svNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib1svNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glVertexAttrib2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2d( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glVertexAttrib2dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2dNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glVertexAttrib2dNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2dNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib2dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2dvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib2dvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2dvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2f( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
        GLfloat y;
    } *params32 = args;
    struct glVertexAttrib2f_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2f( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
        GLfloat y;
    } *params32 = args;
    struct glVertexAttrib2fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
        GLfloat y;
    } *params32 = args;
    struct glVertexAttrib2fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib2fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2fvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib2fvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2fvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLhalfNV x;
        GLhalfNV y;
    } *params32 = args;
    struct glVertexAttrib2hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib2hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2s( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
        GLshort y;
    } *params32 = args;
    struct glVertexAttrib2s_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2s( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2sARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
        GLshort y;
    } *params32 = args;
    struct glVertexAttrib2sARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2sARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2sNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
        GLshort y;
    } *params32 = args;
    struct glVertexAttrib2sNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2sNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2sv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib2sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2svARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib2svARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2svARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib2svNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib2svNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib2svNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glVertexAttrib3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3d( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glVertexAttrib3dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3dNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glVertexAttrib3dNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3dNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib3dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3dvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib3dvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3dvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3f( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glVertexAttrib3f_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3f( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glVertexAttrib3fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glVertexAttrib3fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib3fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3fvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib3fvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3fvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLhalfNV x;
        GLhalfNV y;
        GLhalfNV z;
    } *params32 = args;
    struct glVertexAttrib3hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib3hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3s( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
        GLshort y;
        GLshort z;
    } *params32 = args;
    struct glVertexAttrib3s_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3s( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3sARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
        GLshort y;
        GLshort z;
    } *params32 = args;
    struct glVertexAttrib3sARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3sARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3sNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
        GLshort y;
        GLshort z;
    } *params32 = args;
    struct glVertexAttrib3sNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3sNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3sv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib3sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3svARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib3svARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3svARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib3svNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib3svNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib3svNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4Nbv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4Nbv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4Nbv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4NbvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4NbvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4NbvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4Niv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4Niv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4Niv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4NivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4NivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4NivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4Nsv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4Nsv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4Nsv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4NsvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4NsvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4NsvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4Nub( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLubyte x;
        GLubyte y;
        GLubyte z;
        GLubyte w;
    } *params32 = args;
    struct glVertexAttrib4Nub_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4Nub( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4NubARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLubyte x;
        GLubyte y;
        GLubyte z;
        GLubyte w;
    } *params32 = args;
    struct glVertexAttrib4NubARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4NubARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4Nubv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4Nubv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4Nubv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4NubvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4NubvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4NubvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4Nuiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4Nuiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4Nuiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4NuivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4NuivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4NuivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4Nusv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4Nusv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4Nusv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4NusvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4NusvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4NusvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4bv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4bv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4bv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4bvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4bvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4bvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glVertexAttrib4d_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4d( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glVertexAttrib4dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4dNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glVertexAttrib4dNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4dNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4dvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4dvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4dvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4f( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glVertexAttrib4f_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4f( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glVertexAttrib4fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4fNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glVertexAttrib4fNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4fNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4fv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4fvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4fvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4fvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4hNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLhalfNV x;
        GLhalfNV y;
        GLhalfNV z;
        GLhalfNV w;
    } *params32 = args;
    struct glVertexAttrib4hNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4hNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4ivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4ivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4ivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4s( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
        GLshort y;
        GLshort z;
        GLshort w;
    } *params32 = args;
    struct glVertexAttrib4s_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4s( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4sARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
        GLshort y;
        GLshort z;
        GLshort w;
    } *params32 = args;
    struct glVertexAttrib4sARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4sARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4sNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLshort x;
        GLshort y;
        GLshort z;
        GLshort w;
    } *params32 = args;
    struct glVertexAttrib4sNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4sNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4sv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4svARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4svARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4svARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4svNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4svNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4svNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4ubNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLubyte x;
        GLubyte y;
        GLubyte z;
        GLubyte w;
    } *params32 = args;
    struct glVertexAttrib4ubNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4ubNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4ubv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4ubv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4ubv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4ubvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4ubvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4ubvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4ubvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4ubvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4ubvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4uivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4uivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4uivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4usv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4usv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4usv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttrib4usvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttrib4usvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttrib4usvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribArrayObjectATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint size;
        GLenum type;
        GLboolean normalized;
        GLsizei stride;
        GLuint buffer;
        GLuint offset;
    } *params32 = args;
    struct glVertexAttribArrayObjectATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .normalized = params32->normalized,
        .stride = params32->stride,
        .buffer = params32->buffer,
        .offset = params32->offset,
    };
    NTSTATUS status;
    status = ext_glVertexAttribArrayObjectATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribBinding( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint attribindex;
        GLuint bindingindex;
    } *params32 = args;
    struct glVertexAttribBinding_params params =
    {
        .teb = get_teb64(params32->teb),
        .attribindex = params32->attribindex,
        .bindingindex = params32->bindingindex,
    };
    NTSTATUS status;
    status = ext_glVertexAttribBinding( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribDivisor( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint divisor;
    } *params32 = args;
    struct glVertexAttribDivisor_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .divisor = params32->divisor,
    };
    NTSTATUS status;
    status = ext_glVertexAttribDivisor( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribDivisorARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint divisor;
    } *params32 = args;
    struct glVertexAttribDivisorARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .divisor = params32->divisor,
    };
    NTSTATUS status;
    status = ext_glVertexAttribDivisorARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribFormat( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint attribindex;
        GLint size;
        GLenum type;
        GLboolean normalized;
        GLuint relativeoffset;
    } *params32 = args;
    struct glVertexAttribFormat_params params =
    {
        .teb = get_teb64(params32->teb),
        .attribindex = params32->attribindex,
        .size = params32->size,
        .type = params32->type,
        .normalized = params32->normalized,
        .relativeoffset = params32->relativeoffset,
    };
    NTSTATUS status;
    status = ext_glVertexAttribFormat( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribFormatNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint size;
        GLenum type;
        GLboolean normalized;
        GLsizei stride;
    } *params32 = args;
    struct glVertexAttribFormatNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .normalized = params32->normalized,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glVertexAttribFormatNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI1i( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint x;
    } *params32 = args;
    struct glVertexAttribI1i_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI1i( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI1iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint x;
    } *params32 = args;
    struct glVertexAttribI1iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI1iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI1iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI1iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI1iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI1ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI1ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI1ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI1ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint x;
    } *params32 = args;
    struct glVertexAttribI1ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI1ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI1uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint x;
    } *params32 = args;
    struct glVertexAttribI1uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI1uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI1uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI1uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI1uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI1uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI1uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI1uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI2i( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint x;
        GLint y;
    } *params32 = args;
    struct glVertexAttribI2i_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI2i( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI2iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint x;
        GLint y;
    } *params32 = args;
    struct glVertexAttribI2iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI2iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI2iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI2iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI2iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI2ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI2ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI2ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI2ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint x;
        GLuint y;
    } *params32 = args;
    struct glVertexAttribI2ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI2ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI2uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint x;
        GLuint y;
    } *params32 = args;
    struct glVertexAttribI2uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI2uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI2uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI2uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI2uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI2uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI2uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI2uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI3i( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint x;
        GLint y;
        GLint z;
    } *params32 = args;
    struct glVertexAttribI3i_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI3i( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI3iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint x;
        GLint y;
        GLint z;
    } *params32 = args;
    struct glVertexAttribI3iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI3iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI3iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI3iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI3iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI3ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI3ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI3ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint x;
        GLuint y;
        GLuint z;
    } *params32 = args;
    struct glVertexAttribI3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI3ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI3uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint x;
        GLuint y;
        GLuint z;
    } *params32 = args;
    struct glVertexAttribI3uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI3uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI3uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI3uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI3uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI3uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4bv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4bv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4bv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4bvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4bvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4bvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4i( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint x;
        GLint y;
        GLint z;
        GLint w;
    } *params32 = args;
    struct glVertexAttribI4i_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4i( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4iEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint x;
        GLint y;
        GLint z;
        GLint w;
    } *params32 = args;
    struct glVertexAttribI4iEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4iEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4iv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4ivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4ivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4ivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4sv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4svEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4svEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4svEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4ubv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4ubv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4ubv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4ubvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4ubvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4ubvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint x;
        GLuint y;
        GLuint z;
        GLuint w;
    } *params32 = args;
    struct glVertexAttribI4ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4uiEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint x;
        GLuint y;
        GLuint z;
        GLuint w;
    } *params32 = args;
    struct glVertexAttribI4uiEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4uiEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4uivEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4uivEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4uivEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4usv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4usv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4usv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribI4usvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribI4usvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribI4usvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribIFormat( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint attribindex;
        GLint size;
        GLenum type;
        GLuint relativeoffset;
    } *params32 = args;
    struct glVertexAttribIFormat_params params =
    {
        .teb = get_teb64(params32->teb),
        .attribindex = params32->attribindex,
        .size = params32->size,
        .type = params32->type,
        .relativeoffset = params32->relativeoffset,
    };
    NTSTATUS status;
    status = ext_glVertexAttribIFormat( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribIFormatNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint size;
        GLenum type;
        GLsizei stride;
    } *params32 = args;
    struct glVertexAttribIFormatNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glVertexAttribIFormatNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribIPointer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexAttribIPointer_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glVertexAttribIPointer( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribIPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexAttribIPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glVertexAttribIPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL1d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
    } *params32 = args;
    struct glVertexAttribL1d_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL1d( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL1dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
    } *params32 = args;
    struct glVertexAttribL1dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL1dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL1dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL1dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL1dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL1dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL1dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL1dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL1i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint64EXT x;
    } *params32 = args;
    struct glVertexAttribL1i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL1i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL1i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL1i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL1i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL1ui64ARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint64EXT x;
    } *params32 = args;
    struct glVertexAttribL1ui64ARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL1ui64ARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL1ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint64EXT x;
    } *params32 = args;
    struct glVertexAttribL1ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL1ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL1ui64vARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL1ui64vARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL1ui64vARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL1ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL1ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL1ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glVertexAttribL2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL2d( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL2dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glVertexAttribL2dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL2dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL2dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL2dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL2dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL2dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL2i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint64EXT x;
        GLint64EXT y;
    } *params32 = args;
    struct glVertexAttribL2i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL2i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL2i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL2i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL2i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL2ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint64EXT x;
        GLuint64EXT y;
    } *params32 = args;
    struct glVertexAttribL2ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL2ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL2ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL2ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL2ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glVertexAttribL3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL3d( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL3dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glVertexAttribL3dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL3dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL3dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL3dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL3dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL3dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL3i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint64EXT x;
        GLint64EXT y;
        GLint64EXT z;
    } *params32 = args;
    struct glVertexAttribL3i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL3i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL3i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL3i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL3i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL3ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint64EXT x;
        GLuint64EXT y;
        GLuint64EXT z;
    } *params32 = args;
    struct glVertexAttribL3ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL3ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL3ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL3ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL3ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL4d( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glVertexAttribL4d_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL4d( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL4dEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glVertexAttribL4dEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL4dEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL4dv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL4dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL4dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL4dvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL4dvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL4dvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL4i64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint64EXT x;
        GLint64EXT y;
        GLint64EXT z;
        GLint64EXT w;
    } *params32 = args;
    struct glVertexAttribL4i64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL4i64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL4i64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL4i64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL4i64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL4ui64NV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLuint64EXT x;
        GLuint64EXT y;
        GLuint64EXT z;
        GLuint64EXT w;
    } *params32 = args;
    struct glVertexAttribL4ui64NV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexAttribL4ui64NV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribL4ui64vNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribL4ui64vNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribL4ui64vNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribLFormat( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint attribindex;
        GLint size;
        GLenum type;
        GLuint relativeoffset;
    } *params32 = args;
    struct glVertexAttribLFormat_params params =
    {
        .teb = get_teb64(params32->teb),
        .attribindex = params32->attribindex,
        .size = params32->size,
        .type = params32->type,
        .relativeoffset = params32->relativeoffset,
    };
    NTSTATUS status;
    status = ext_glVertexAttribLFormat( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribLFormatNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint size;
        GLenum type;
        GLsizei stride;
    } *params32 = args;
    struct glVertexAttribLFormatNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glVertexAttribLFormatNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribLPointer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexAttribLPointer_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glVertexAttribLPointer( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribLPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexAttribLPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glVertexAttribLPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribP1ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum type;
        GLboolean normalized;
        GLuint value;
    } *params32 = args;
    struct glVertexAttribP1ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .type = params32->type,
        .normalized = params32->normalized,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glVertexAttribP1ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribP1uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum type;
        GLboolean normalized;
        PTR32 value;
    } *params32 = args;
    struct glVertexAttribP1uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .type = params32->type,
        .normalized = params32->normalized,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glVertexAttribP1uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribP2ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum type;
        GLboolean normalized;
        GLuint value;
    } *params32 = args;
    struct glVertexAttribP2ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .type = params32->type,
        .normalized = params32->normalized,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glVertexAttribP2ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribP2uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum type;
        GLboolean normalized;
        PTR32 value;
    } *params32 = args;
    struct glVertexAttribP2uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .type = params32->type,
        .normalized = params32->normalized,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glVertexAttribP2uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribP3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum type;
        GLboolean normalized;
        GLuint value;
    } *params32 = args;
    struct glVertexAttribP3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .type = params32->type,
        .normalized = params32->normalized,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glVertexAttribP3ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribP3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum type;
        GLboolean normalized;
        PTR32 value;
    } *params32 = args;
    struct glVertexAttribP3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .type = params32->type,
        .normalized = params32->normalized,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glVertexAttribP3uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribP4ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum type;
        GLboolean normalized;
        GLuint value;
    } *params32 = args;
    struct glVertexAttribP4ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .type = params32->type,
        .normalized = params32->normalized,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glVertexAttribP4ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribP4uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum type;
        GLboolean normalized;
        PTR32 value;
    } *params32 = args;
    struct glVertexAttribP4uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .type = params32->type,
        .normalized = params32->normalized,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glVertexAttribP4uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribParameteriAMD( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glVertexAttribParameteriAMD_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glVertexAttribParameteriAMD( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribPointer( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint size;
        GLenum type;
        GLboolean normalized;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexAttribPointer_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .normalized = params32->normalized,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glVertexAttribPointer( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribPointerARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint size;
        GLenum type;
        GLboolean normalized;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexAttribPointerARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .size = params32->size,
        .type = params32->type,
        .normalized = params32->normalized,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glVertexAttribPointerARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribPointerNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLint fsize;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexAttribPointerNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .fsize = params32->fsize,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glVertexAttribPointerNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs1dvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs1dvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs1dvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs1fvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs1fvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs1fvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs1hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei n;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs1hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .n = params32->n,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs1hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs1svNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs1svNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs1svNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs2dvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs2dvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs2dvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs2fvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs2fvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs2fvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs2hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei n;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs2hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .n = params32->n,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs2hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs2svNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs2svNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs2svNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs3dvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs3dvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs3dvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs3fvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs3fvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs3fvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs3hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei n;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs3hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .n = params32->n,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs3hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs3svNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs3svNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs3svNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs4dvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs4dvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs4dvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs4fvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs4fvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs4fvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs4hvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei n;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs4hvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .n = params32->n,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs4hvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs4svNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs4svNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs4svNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexAttribs4ubvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glVertexAttribs4ubvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glVertexAttribs4ubvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexBindingDivisor( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint bindingindex;
        GLuint divisor;
    } *params32 = args;
    struct glVertexBindingDivisor_params params =
    {
        .teb = get_teb64(params32->teb),
        .bindingindex = params32->bindingindex,
        .divisor = params32->divisor,
    };
    NTSTATUS status;
    status = ext_glVertexBindingDivisor( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexBlendARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint count;
    } *params32 = args;
    struct glVertexBlendARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .count = params32->count,
    };
    NTSTATUS status;
    status = ext_glVertexBlendARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexBlendEnvfATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLfloat param;
    } *params32 = args;
    struct glVertexBlendEnvfATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glVertexBlendEnvfATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexBlendEnviATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum pname;
        GLint param;
    } *params32 = args;
    struct glVertexBlendEnviATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .pname = params32->pname,
        .param = params32->param,
    };
    NTSTATUS status;
    status = ext_glVertexBlendEnviATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexFormatNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
    } *params32 = args;
    struct glVertexFormatNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
    };
    NTSTATUS status;
    status = ext_glVertexFormatNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexP2ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint value;
    } *params32 = args;
    struct glVertexP2ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glVertexP2ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexP2uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 value;
    } *params32 = args;
    struct glVertexP2uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glVertexP2uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexP3ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint value;
    } *params32 = args;
    struct glVertexP3ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glVertexP3ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexP3uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 value;
    } *params32 = args;
    struct glVertexP3uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glVertexP3uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexP4ui( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        GLuint value;
    } *params32 = args;
    struct glVertexP4ui_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .value = params32->value,
    };
    NTSTATUS status;
    status = ext_glVertexP4ui( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexP4uiv( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum type;
        PTR32 value;
    } *params32 = args;
    struct glVertexP4uiv_params params =
    {
        .teb = get_teb64(params32->teb),
        .type = params32->type,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_glVertexP4uiv( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
        GLsizei count;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .count = params32->count,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glVertexPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexPointerListIBM( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLint stride;
        PTR32 pointer;
        GLint ptrstride;
    } *params32 = args;
    struct glVertexPointerListIBM_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .ptrstride = params32->ptrstride,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glVertexPointervINTEL( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexPointervINTEL_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_glVertexStream1dATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLdouble x;
    } *params32 = args;
    struct glVertexStream1dATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexStream1dATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream1dvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream1dvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream1dvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream1fATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLfloat x;
    } *params32 = args;
    struct glVertexStream1fATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexStream1fATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream1fvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream1fvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream1fvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream1iATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLint x;
    } *params32 = args;
    struct glVertexStream1iATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexStream1iATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream1ivATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream1ivATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream1ivATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream1sATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLshort x;
    } *params32 = args;
    struct glVertexStream1sATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
    };
    NTSTATUS status;
    status = ext_glVertexStream1sATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream1svATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream1svATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream1svATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream2dATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glVertexStream2dATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexStream2dATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream2dvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream2dvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream2dvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream2fATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLfloat x;
        GLfloat y;
    } *params32 = args;
    struct glVertexStream2fATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexStream2fATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream2fvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream2fvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream2fvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream2iATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLint x;
        GLint y;
    } *params32 = args;
    struct glVertexStream2iATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexStream2iATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream2ivATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream2ivATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream2ivATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream2sATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLshort x;
        GLshort y;
    } *params32 = args;
    struct glVertexStream2sATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glVertexStream2sATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream2svATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream2svATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream2svATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream3dATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glVertexStream3dATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexStream3dATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream3dvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream3dvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream3dvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream3fATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glVertexStream3fATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexStream3fATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream3fvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream3fvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream3fvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream3iATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLint x;
        GLint y;
        GLint z;
    } *params32 = args;
    struct glVertexStream3iATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexStream3iATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream3ivATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream3ivATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream3ivATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream3sATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLshort x;
        GLshort y;
        GLshort z;
    } *params32 = args;
    struct glVertexStream3sATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glVertexStream3sATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream3svATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream3svATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream3svATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream4dATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glVertexStream4dATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexStream4dATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream4dvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream4dvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream4dvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream4fATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glVertexStream4fATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexStream4fATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream4fvATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream4fvATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream4fvATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream4iATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLint x;
        GLint y;
        GLint z;
        GLint w;
    } *params32 = args;
    struct glVertexStream4iATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexStream4iATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream4ivATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream4ivATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream4ivATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream4sATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        GLshort x;
        GLshort y;
        GLshort z;
        GLshort w;
    } *params32 = args;
    struct glVertexStream4sATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glVertexStream4sATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexStream4svATI( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum stream;
        PTR32 coords;
    } *params32 = args;
    struct glVertexStream4svATI_params params =
    {
        .teb = get_teb64(params32->teb),
        .stream = params32->stream,
        .coords = ULongToPtr(params32->coords),
    };
    NTSTATUS status;
    status = ext_glVertexStream4svATI( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexWeightPointerEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glVertexWeightPointerEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glVertexWeightPointerEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexWeightfEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat weight;
    } *params32 = args;
    struct glVertexWeightfEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .weight = params32->weight,
    };
    NTSTATUS status;
    status = ext_glVertexWeightfEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexWeightfvEXT( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 weight;
    } *params32 = args;
    struct glVertexWeightfvEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .weight = ULongToPtr(params32->weight),
    };
    NTSTATUS status;
    status = ext_glVertexWeightfvEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexWeighthNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLhalfNV weight;
    } *params32 = args;
    struct glVertexWeighthNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .weight = params32->weight,
    };
    NTSTATUS status;
    status = ext_glVertexWeighthNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVertexWeighthvNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 weight;
    } *params32 = args;
    struct glVertexWeighthvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .weight = ULongToPtr(params32->weight),
    };
    NTSTATUS status;
    status = ext_glVertexWeighthvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVideoCaptureNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
        PTR32 sequence_num;
        PTR32 capture_time;
        GLenum ret;
    } *params32 = args;
    struct glVideoCaptureNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
        .sequence_num = ULongToPtr(params32->sequence_num),
        .capture_time = ULongToPtr(params32->capture_time),
    };
    NTSTATUS status;
    status = ext_glVideoCaptureNV( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_glVideoCaptureStreamParameterdvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
        GLuint stream;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glVideoCaptureStreamParameterdvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
        .stream = params32->stream,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glVideoCaptureStreamParameterdvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVideoCaptureStreamParameterfvNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
        GLuint stream;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glVideoCaptureStreamParameterfvNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
        .stream = params32->stream,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glVideoCaptureStreamParameterfvNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glVideoCaptureStreamParameterivNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint video_capture_slot;
        GLuint stream;
        GLenum pname;
        PTR32 params;
    } *params32 = args;
    struct glVideoCaptureStreamParameterivNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .video_capture_slot = params32->video_capture_slot,
        .stream = params32->stream,
        .pname = params32->pname,
        .params = ULongToPtr(params32->params),
    };
    NTSTATUS status;
    status = ext_glVideoCaptureStreamParameterivNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glViewportArrayv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint first;
        GLsizei count;
        PTR32 v;
    } *params32 = args;
    struct glViewportArrayv_params params =
    {
        .teb = get_teb64(params32->teb),
        .first = params32->first,
        .count = params32->count,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glViewportArrayv( &params );
    return status;
}

static NTSTATUS wow64_ext_glViewportIndexedf( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat x;
        GLfloat y;
        GLfloat w;
        GLfloat h;
    } *params32 = args;
    struct glViewportIndexedf_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .x = params32->x,
        .y = params32->y,
        .w = params32->w,
        .h = params32->h,
    };
    NTSTATUS status;
    status = ext_glViewportIndexedf( &params );
    return status;
}

static NTSTATUS wow64_ext_glViewportIndexedfv( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        PTR32 v;
    } *params32 = args;
    struct glViewportIndexedfv_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glViewportIndexedfv( &params );
    return status;
}

static NTSTATUS wow64_ext_glViewportPositionWScaleNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLfloat xcoeff;
        GLfloat ycoeff;
    } *params32 = args;
    struct glViewportPositionWScaleNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .xcoeff = params32->xcoeff,
        .ycoeff = params32->ycoeff,
    };
    NTSTATUS status;
    status = ext_glViewportPositionWScaleNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glViewportSwizzleNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint index;
        GLenum swizzlex;
        GLenum swizzley;
        GLenum swizzlez;
        GLenum swizzlew;
    } *params32 = args;
    struct glViewportSwizzleNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .index = params32->index,
        .swizzlex = params32->swizzlex,
        .swizzley = params32->swizzley,
        .swizzlez = params32->swizzlez,
        .swizzlew = params32->swizzlew,
    };
    NTSTATUS status;
    status = ext_glViewportSwizzleNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glWaitSemaphoreEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint semaphore;
        GLuint numBufferBarriers;
        PTR32 buffers;
        GLuint numTextureBarriers;
        PTR32 textures;
        PTR32 srcLayouts;
    } *params32 = args;
    struct glWaitSemaphoreEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .semaphore = params32->semaphore,
        .numBufferBarriers = params32->numBufferBarriers,
        .buffers = ULongToPtr(params32->buffers),
        .numTextureBarriers = params32->numTextureBarriers,
        .textures = ULongToPtr(params32->textures),
        .srcLayouts = ULongToPtr(params32->srcLayouts),
    };
    NTSTATUS status;
    status = ext_glWaitSemaphoreEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glWaitSemaphoreui64NVX( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint waitGpu;
        GLsizei fenceObjectCount;
        PTR32 semaphoreArray;
        PTR32 fenceValueArray;
    } *params32 = args;
    struct glWaitSemaphoreui64NVX_params params =
    {
        .teb = get_teb64(params32->teb),
        .waitGpu = params32->waitGpu,
        .fenceObjectCount = params32->fenceObjectCount,
        .semaphoreArray = ULongToPtr(params32->semaphoreArray),
        .fenceValueArray = ULongToPtr(params32->fenceValueArray),
    };
    NTSTATUS status;
    status = ext_glWaitSemaphoreui64NVX( &params );
    return status;
}

static NTSTATUS wow64_ext_glWaitVkSemaphoreNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint64 vkSemaphore;
    } *params32 = args;
    struct glWaitVkSemaphoreNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .vkSemaphore = params32->vkSemaphore,
    };
    NTSTATUS status;
    status = ext_glWaitVkSemaphoreNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glWeightPathsNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint resultPath;
        GLsizei numPaths;
        PTR32 paths;
        PTR32 weights;
    } *params32 = args;
    struct glWeightPathsNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .resultPath = params32->resultPath,
        .numPaths = params32->numPaths,
        .paths = ULongToPtr(params32->paths),
        .weights = ULongToPtr(params32->weights),
    };
    NTSTATUS status;
    status = ext_glWeightPathsNV( &params );
    return status;
}

static NTSTATUS wow64_ext_glWeightPointerARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        GLenum type;
        GLsizei stride;
        PTR32 pointer;
    } *params32 = args;
    struct glWeightPointerARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .type = params32->type,
        .stride = params32->stride,
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_glWeightPointerARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWeightbvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        PTR32 weights;
    } *params32 = args;
    struct glWeightbvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .weights = ULongToPtr(params32->weights),
    };
    NTSTATUS status;
    status = ext_glWeightbvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWeightdvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        PTR32 weights;
    } *params32 = args;
    struct glWeightdvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .weights = ULongToPtr(params32->weights),
    };
    NTSTATUS status;
    status = ext_glWeightdvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWeightfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        PTR32 weights;
    } *params32 = args;
    struct glWeightfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .weights = ULongToPtr(params32->weights),
    };
    NTSTATUS status;
    status = ext_glWeightfvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWeightivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        PTR32 weights;
    } *params32 = args;
    struct glWeightivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .weights = ULongToPtr(params32->weights),
    };
    NTSTATUS status;
    status = ext_glWeightivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWeightsvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        PTR32 weights;
    } *params32 = args;
    struct glWeightsvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .weights = ULongToPtr(params32->weights),
    };
    NTSTATUS status;
    status = ext_glWeightsvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWeightubvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        PTR32 weights;
    } *params32 = args;
    struct glWeightubvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .weights = ULongToPtr(params32->weights),
    };
    NTSTATUS status;
    status = ext_glWeightubvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWeightuivARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        PTR32 weights;
    } *params32 = args;
    struct glWeightuivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .weights = ULongToPtr(params32->weights),
    };
    NTSTATUS status;
    status = ext_glWeightuivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWeightusvARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint size;
        PTR32 weights;
    } *params32 = args;
    struct glWeightusvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .weights = ULongToPtr(params32->weights),
    };
    NTSTATUS status;
    status = ext_glWeightusvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glWindowPos2d_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2d( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glWindowPos2dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2dMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
    } *params32 = args;
    struct glWindowPos2dMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2dMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2dvMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2dvMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2dvMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
    } *params32 = args;
    struct glWindowPos2f_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2f( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
    } *params32 = args;
    struct glWindowPos2fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2fMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
    } *params32 = args;
    struct glWindowPos2fMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2fMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2fvMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2fvMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2fvMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
    } *params32 = args;
    struct glWindowPos2i_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2i( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2iARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
    } *params32 = args;
    struct glWindowPos2iARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2iARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2iMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
    } *params32 = args;
    struct glWindowPos2iMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2iMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2ivARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2ivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2ivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2ivMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2ivMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2ivMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
    } *params32 = args;
    struct glWindowPos2s_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2s( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2sARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
    } *params32 = args;
    struct glWindowPos2sARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2sARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2sMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
    } *params32 = args;
    struct glWindowPos2sMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
    };
    NTSTATUS status;
    status = ext_glWindowPos2sMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2svARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2svARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2svARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos2svMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos2svMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos2svMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3d( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glWindowPos3d_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3d( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3dARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glWindowPos3dARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3dARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3dMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
        GLdouble z;
    } *params32 = args;
    struct glWindowPos3dMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3dMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3dv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3dv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3dv( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3dvARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3dvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3dvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3dvMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3dvMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3dvMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3f( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glWindowPos3f_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3f( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3fARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glWindowPos3fARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3fARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3fMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
        GLfloat z;
    } *params32 = args;
    struct glWindowPos3fMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3fMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3fv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3fv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3fv( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3fvARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3fvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3fvARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3fvMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3fvMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3fvMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3i( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLint z;
    } *params32 = args;
    struct glWindowPos3i_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3i( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3iARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLint z;
    } *params32 = args;
    struct glWindowPos3iARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3iARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3iMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLint z;
    } *params32 = args;
    struct glWindowPos3iMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3iMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3iv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3iv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3iv( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3ivARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3ivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3ivARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3ivMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3ivMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3ivMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3s( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
        GLshort z;
    } *params32 = args;
    struct glWindowPos3s_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3s( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3sARB( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
        GLshort z;
    } *params32 = args;
    struct glWindowPos3sARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3sARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3sMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
        GLshort z;
    } *params32 = args;
    struct glWindowPos3sMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
    };
    NTSTATUS status;
    status = ext_glWindowPos3sMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3sv( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3sv_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3sv( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3svARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3svARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3svARB( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos3svMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos3svMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos3svMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos4dMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLdouble x;
        GLdouble y;
        GLdouble z;
        GLdouble w;
    } *params32 = args;
    struct glWindowPos4dMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glWindowPos4dMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos4dvMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos4dvMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos4dvMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos4fMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLfloat x;
        GLfloat y;
        GLfloat z;
        GLfloat w;
    } *params32 = args;
    struct glWindowPos4fMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glWindowPos4fMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos4fvMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos4fvMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos4fvMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos4iMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLint x;
        GLint y;
        GLint z;
        GLint w;
    } *params32 = args;
    struct glWindowPos4iMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glWindowPos4iMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos4ivMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos4ivMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos4ivMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos4sMESA( void *args )
{
    struct
    {
        PTR32 teb;
        GLshort x;
        GLshort y;
        GLshort z;
        GLshort w;
    } *params32 = args;
    struct glWindowPos4sMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .x = params32->x,
        .y = params32->y,
        .z = params32->z,
        .w = params32->w,
    };
    NTSTATUS status;
    status = ext_glWindowPos4sMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowPos4svMESA( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 v;
    } *params32 = args;
    struct glWindowPos4svMESA_params params =
    {
        .teb = get_teb64(params32->teb),
        .v = ULongToPtr(params32->v),
    };
    NTSTATUS status;
    status = ext_glWindowPos4svMESA( &params );
    return status;
}

static NTSTATUS wow64_ext_glWindowRectanglesEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum mode;
        GLsizei count;
        PTR32 box;
    } *params32 = args;
    struct glWindowRectanglesEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .mode = params32->mode,
        .count = params32->count,
        .box = ULongToPtr(params32->box),
    };
    NTSTATUS status;
    status = ext_glWindowRectanglesEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_glWriteMaskEXT( void *args )
{
    struct
    {
        PTR32 teb;
        GLuint res;
        GLuint in;
        GLenum outX;
        GLenum outY;
        GLenum outZ;
        GLenum outW;
    } *params32 = args;
    struct glWriteMaskEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .res = params32->res,
        .in = params32->in,
        .outX = params32->outX,
        .outY = params32->outY,
        .outZ = params32->outZ,
        .outW = params32->outW,
    };
    NTSTATUS status;
    status = ext_glWriteMaskEXT( &params );
    return status;
}

static NTSTATUS wow64_ext_wglAllocateMemoryNV( void *args )
{
    struct
    {
        PTR32 teb;
        GLsizei size;
        GLfloat readfreq;
        GLfloat writefreq;
        GLfloat priority;
        PTR32 ret;
    } *params32 = args;
    struct wglAllocateMemoryNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .size = params32->size,
        .readfreq = params32->readfreq,
        .writefreq = params32->writefreq,
        .priority = params32->priority,
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_wglBindTexImageARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hPbuffer;
        int iBuffer;
        BOOL ret;
    } *params32 = args;
    struct wglBindTexImageARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .hPbuffer = ULongToPtr(params32->hPbuffer),
        .iBuffer = params32->iBuffer,
    };
    NTSTATUS status;
    status = ext_wglBindTexImageARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglChoosePixelFormatARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hdc;
        PTR32 piAttribIList;
        PTR32 pfAttribFList;
        UINT nMaxFormats;
        PTR32 piFormats;
        PTR32 nNumFormats;
        BOOL ret;
    } *params32 = args;
    struct wglChoosePixelFormatARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .hdc = ULongToPtr(params32->hdc),
        .piAttribIList = ULongToPtr(params32->piAttribIList),
        .pfAttribFList = ULongToPtr(params32->pfAttribFList),
        .nMaxFormats = params32->nMaxFormats,
        .piFormats = ULongToPtr(params32->piFormats),
        .nNumFormats = ULongToPtr(params32->nNumFormats),
    };
    NTSTATUS status;
    status = ext_wglChoosePixelFormatARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglDestroyPbufferARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hPbuffer;
        BOOL ret;
    } *params32 = args;
    struct wglDestroyPbufferARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .hPbuffer = ULongToPtr(params32->hPbuffer),
    };
    NTSTATUS status;
    status = ext_wglDestroyPbufferARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglFreeMemoryNV( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 pointer;
    } *params32 = args;
    struct wglFreeMemoryNV_params params =
    {
        .teb = get_teb64(params32->teb),
        .pointer = ULongToPtr(params32->pointer),
    };
    NTSTATUS status;
    status = ext_wglFreeMemoryNV( &params );
    return status;
}

static NTSTATUS wow64_ext_wglGetCurrentReadDCARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 ret;
    } *params32 = args;
    struct wglGetCurrentReadDCARB_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    FIXME( "params32 %p, params %p stub!\n", params32, &params );
    return STATUS_NOT_IMPLEMENTED;
}

static NTSTATUS wow64_ext_wglGetPixelFormatAttribfvARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hdc;
        int iPixelFormat;
        int iLayerPlane;
        UINT nAttributes;
        PTR32 piAttributes;
        PTR32 pfValues;
        BOOL ret;
    } *params32 = args;
    struct wglGetPixelFormatAttribfvARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .hdc = ULongToPtr(params32->hdc),
        .iPixelFormat = params32->iPixelFormat,
        .iLayerPlane = params32->iLayerPlane,
        .nAttributes = params32->nAttributes,
        .piAttributes = ULongToPtr(params32->piAttributes),
        .pfValues = ULongToPtr(params32->pfValues),
    };
    NTSTATUS status;
    status = ext_wglGetPixelFormatAttribfvARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglGetPixelFormatAttribivARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hdc;
        int iPixelFormat;
        int iLayerPlane;
        UINT nAttributes;
        PTR32 piAttributes;
        PTR32 piValues;
        BOOL ret;
    } *params32 = args;
    struct wglGetPixelFormatAttribivARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .hdc = ULongToPtr(params32->hdc),
        .iPixelFormat = params32->iPixelFormat,
        .iLayerPlane = params32->iLayerPlane,
        .nAttributes = params32->nAttributes,
        .piAttributes = ULongToPtr(params32->piAttributes),
        .piValues = ULongToPtr(params32->piValues),
    };
    NTSTATUS status;
    status = ext_wglGetPixelFormatAttribivARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglGetSwapIntervalEXT( void *args )
{
    struct
    {
        PTR32 teb;
        int ret;
    } *params32 = args;
    struct wglGetSwapIntervalEXT_params params =
    {
        .teb = get_teb64(params32->teb),
    };
    NTSTATUS status;
    status = ext_wglGetSwapIntervalEXT( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglQueryCurrentRendererIntegerWINE( void *args )
{
    struct
    {
        PTR32 teb;
        GLenum attribute;
        PTR32 value;
        BOOL ret;
    } *params32 = args;
    struct wglQueryCurrentRendererIntegerWINE_params params =
    {
        .teb = get_teb64(params32->teb),
        .attribute = params32->attribute,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_wglQueryCurrentRendererIntegerWINE( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglQueryPbufferARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hPbuffer;
        int iAttribute;
        PTR32 piValue;
        BOOL ret;
    } *params32 = args;
    struct wglQueryPbufferARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .hPbuffer = ULongToPtr(params32->hPbuffer),
        .iAttribute = params32->iAttribute,
        .piValue = ULongToPtr(params32->piValue),
    };
    NTSTATUS status;
    status = ext_wglQueryPbufferARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglQueryRendererIntegerWINE( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 dc;
        GLint renderer;
        GLenum attribute;
        PTR32 value;
        BOOL ret;
    } *params32 = args;
    struct wglQueryRendererIntegerWINE_params params =
    {
        .teb = get_teb64(params32->teb),
        .dc = ULongToPtr(params32->dc),
        .renderer = params32->renderer,
        .attribute = params32->attribute,
        .value = ULongToPtr(params32->value),
    };
    NTSTATUS status;
    status = ext_wglQueryRendererIntegerWINE( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglReleasePbufferDCARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hPbuffer;
        PTR32 hDC;
        int ret;
    } *params32 = args;
    struct wglReleasePbufferDCARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .hPbuffer = ULongToPtr(params32->hPbuffer),
        .hDC = ULongToPtr(params32->hDC),
    };
    NTSTATUS status;
    status = ext_wglReleasePbufferDCARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglReleaseTexImageARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hPbuffer;
        int iBuffer;
        BOOL ret;
    } *params32 = args;
    struct wglReleaseTexImageARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .hPbuffer = ULongToPtr(params32->hPbuffer),
        .iBuffer = params32->iBuffer,
    };
    NTSTATUS status;
    status = ext_wglReleaseTexImageARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglSetPbufferAttribARB( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hPbuffer;
        PTR32 piAttribList;
        BOOL ret;
    } *params32 = args;
    struct wglSetPbufferAttribARB_params params =
    {
        .teb = get_teb64(params32->teb),
        .hPbuffer = ULongToPtr(params32->hPbuffer),
        .piAttribList = ULongToPtr(params32->piAttribList),
    };
    NTSTATUS status;
    status = ext_wglSetPbufferAttribARB( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglSetPixelFormatWINE( void *args )
{
    struct
    {
        PTR32 teb;
        PTR32 hdc;
        int format;
        BOOL ret;
    } *params32 = args;
    struct wglSetPixelFormatWINE_params params =
    {
        .teb = get_teb64(params32->teb),
        .hdc = ULongToPtr(params32->hdc),
        .format = params32->format,
    };
    NTSTATUS status;
    status = ext_wglSetPixelFormatWINE( &params );
    params32->ret = params.ret;
    return status;
}

static NTSTATUS wow64_ext_wglSwapIntervalEXT( void *args )
{
    struct
    {
        PTR32 teb;
        int interval;
        BOOL ret;
    } *params32 = args;
    struct wglSwapIntervalEXT_params params =
    {
        .teb = get_teb64(params32->teb),
        .interval = params32->interval,
    };
    NTSTATUS status;
    status = ext_wglSwapIntervalEXT( &params );
    params32->ret = params.ret;
    return status;
}

extern NTSTATUS wow64_wgl_wglCreateContext( void *args );
extern NTSTATUS wow64_wgl_wglDeleteContext( void *args );
extern NTSTATUS wow64_wgl_wglGetProcAddress( void *args );
extern NTSTATUS wow64_wgl_wglMakeCurrent( void *args );
extern NTSTATUS wow64_gl_glGetString( void *args );
extern NTSTATUS wow64_ext_glClientWaitSync( void *args );
extern NTSTATUS wow64_ext_glDeleteSync( void *args );
extern NTSTATUS wow64_ext_glFenceSync( void *args );
extern NTSTATUS wow64_ext_glGetBufferPointerv( void *args );
extern NTSTATUS wow64_ext_glGetBufferPointervARB( void *args );
extern NTSTATUS wow64_ext_glGetNamedBufferPointerv( void *args );
extern NTSTATUS wow64_ext_glGetNamedBufferPointervEXT( void *args );
extern NTSTATUS wow64_ext_glGetStringi( void *args );
extern NTSTATUS wow64_ext_glGetSynciv( void *args );
extern NTSTATUS wow64_ext_glIsSync( void *args );
extern NTSTATUS wow64_ext_glMapBuffer( void *args );
extern NTSTATUS wow64_ext_glMapBufferARB( void *args );
extern NTSTATUS wow64_ext_glMapBufferRange( void *args );
extern NTSTATUS wow64_ext_glMapNamedBuffer( void *args );
extern NTSTATUS wow64_ext_glMapNamedBufferEXT( void *args );
extern NTSTATUS wow64_ext_glMapNamedBufferRange( void *args );
extern NTSTATUS wow64_ext_glMapNamedBufferRangeEXT( void *args );
extern NTSTATUS wow64_ext_glPathGlyphIndexRangeNV( void *args );
extern NTSTATUS wow64_ext_glUnmapBuffer( void *args );
extern NTSTATUS wow64_ext_glUnmapBufferARB( void *args );
extern NTSTATUS wow64_ext_glUnmapNamedBuffer( void *args );
extern NTSTATUS wow64_ext_glUnmapNamedBufferEXT( void *args );
extern NTSTATUS wow64_ext_glWaitSync( void *args );
extern NTSTATUS wow64_ext_wglCreateContextAttribsARB( void *args );
extern NTSTATUS wow64_ext_wglCreatePbufferARB( void *args );
extern NTSTATUS wow64_ext_wglGetExtensionsStringARB( void *args );
extern NTSTATUS wow64_ext_wglGetExtensionsStringEXT( void *args );
extern NTSTATUS wow64_ext_wglGetPbufferDCARB( void *args );
extern NTSTATUS wow64_ext_wglMakeContextCurrentARB( void *args );
extern NTSTATUS wow64_ext_wglQueryCurrentRendererStringWINE( void *args );
extern NTSTATUS wow64_ext_wglQueryRendererStringWINE( void *args );

const unixlib_entry_t __wine_unix_call_wow64_funcs[] =
{
    process_attach,
    wow64_thread_attach,
    wow64_process_detach,
    wow64_get_pixel_formats,
    wow64_wgl_wglCopyContext,
    wow64_wgl_wglCreateContext,
    wow64_wgl_wglDeleteContext,
    wow64_wgl_wglGetPixelFormat,
    wow64_wgl_wglGetProcAddress,
    wow64_wgl_wglMakeCurrent,
    wow64_wgl_wglSetPixelFormat,
    wow64_wgl_wglShareLists,
    wow64_wgl_wglSwapBuffers,
    wow64_gl_glAccum,
    wow64_gl_glAlphaFunc,
    wow64_gl_glAreTexturesResident,
    wow64_gl_glArrayElement,
    wow64_gl_glBegin,
    wow64_gl_glBindTexture,
    wow64_gl_glBitmap,
    wow64_gl_glBlendFunc,
    wow64_gl_glCallList,
    wow64_gl_glCallLists,
    wow64_gl_glClear,
    wow64_gl_glClearAccum,
    wow64_gl_glClearColor,
    wow64_gl_glClearDepth,
    wow64_gl_glClearIndex,
    wow64_gl_glClearStencil,
    wow64_gl_glClipPlane,
    wow64_gl_glColor3b,
    wow64_gl_glColor3bv,
    wow64_gl_glColor3d,
    wow64_gl_glColor3dv,
    wow64_gl_glColor3f,
    wow64_gl_glColor3fv,
    wow64_gl_glColor3i,
    wow64_gl_glColor3iv,
    wow64_gl_glColor3s,
    wow64_gl_glColor3sv,
    wow64_gl_glColor3ub,
    wow64_gl_glColor3ubv,
    wow64_gl_glColor3ui,
    wow64_gl_glColor3uiv,
    wow64_gl_glColor3us,
    wow64_gl_glColor3usv,
    wow64_gl_glColor4b,
    wow64_gl_glColor4bv,
    wow64_gl_glColor4d,
    wow64_gl_glColor4dv,
    wow64_gl_glColor4f,
    wow64_gl_glColor4fv,
    wow64_gl_glColor4i,
    wow64_gl_glColor4iv,
    wow64_gl_glColor4s,
    wow64_gl_glColor4sv,
    wow64_gl_glColor4ub,
    wow64_gl_glColor4ubv,
    wow64_gl_glColor4ui,
    wow64_gl_glColor4uiv,
    wow64_gl_glColor4us,
    wow64_gl_glColor4usv,
    wow64_gl_glColorMask,
    wow64_gl_glColorMaterial,
    wow64_gl_glColorPointer,
    wow64_gl_glCopyPixels,
    wow64_gl_glCopyTexImage1D,
    wow64_gl_glCopyTexImage2D,
    wow64_gl_glCopyTexSubImage1D,
    wow64_gl_glCopyTexSubImage2D,
    wow64_gl_glCullFace,
    wow64_gl_glDeleteLists,
    wow64_gl_glDeleteTextures,
    wow64_gl_glDepthFunc,
    wow64_gl_glDepthMask,
    wow64_gl_glDepthRange,
    wow64_gl_glDisable,
    wow64_gl_glDisableClientState,
    wow64_gl_glDrawArrays,
    wow64_gl_glDrawBuffer,
    wow64_gl_glDrawElements,
    wow64_gl_glDrawPixels,
    wow64_gl_glEdgeFlag,
    wow64_gl_glEdgeFlagPointer,
    wow64_gl_glEdgeFlagv,
    wow64_gl_glEnable,
    wow64_gl_glEnableClientState,
    wow64_gl_glEnd,
    wow64_gl_glEndList,
    wow64_gl_glEvalCoord1d,
    wow64_gl_glEvalCoord1dv,
    wow64_gl_glEvalCoord1f,
    wow64_gl_glEvalCoord1fv,
    wow64_gl_glEvalCoord2d,
    wow64_gl_glEvalCoord2dv,
    wow64_gl_glEvalCoord2f,
    wow64_gl_glEvalCoord2fv,
    wow64_gl_glEvalMesh1,
    wow64_gl_glEvalMesh2,
    wow64_gl_glEvalPoint1,
    wow64_gl_glEvalPoint2,
    wow64_gl_glFeedbackBuffer,
    wow64_gl_glFinish,
    wow64_gl_glFlush,
    wow64_gl_glFogf,
    wow64_gl_glFogfv,
    wow64_gl_glFogi,
    wow64_gl_glFogiv,
    wow64_gl_glFrontFace,
    wow64_gl_glFrustum,
    wow64_gl_glGenLists,
    wow64_gl_glGenTextures,
    wow64_gl_glGetBooleanv,
    wow64_gl_glGetClipPlane,
    wow64_gl_glGetDoublev,
    wow64_gl_glGetError,
    wow64_gl_glGetFloatv,
    wow64_gl_glGetIntegerv,
    wow64_gl_glGetLightfv,
    wow64_gl_glGetLightiv,
    wow64_gl_glGetMapdv,
    wow64_gl_glGetMapfv,
    wow64_gl_glGetMapiv,
    wow64_gl_glGetMaterialfv,
    wow64_gl_glGetMaterialiv,
    wow64_gl_glGetPixelMapfv,
    wow64_gl_glGetPixelMapuiv,
    wow64_gl_glGetPixelMapusv,
    wow64_gl_glGetPointerv,
    wow64_gl_glGetPolygonStipple,
    wow64_gl_glGetString,
    wow64_gl_glGetTexEnvfv,
    wow64_gl_glGetTexEnviv,
    wow64_gl_glGetTexGendv,
    wow64_gl_glGetTexGenfv,
    wow64_gl_glGetTexGeniv,
    wow64_gl_glGetTexImage,
    wow64_gl_glGetTexLevelParameterfv,
    wow64_gl_glGetTexLevelParameteriv,
    wow64_gl_glGetTexParameterfv,
    wow64_gl_glGetTexParameteriv,
    wow64_gl_glHint,
    wow64_gl_glIndexMask,
    wow64_gl_glIndexPointer,
    wow64_gl_glIndexd,
    wow64_gl_glIndexdv,
    wow64_gl_glIndexf,
    wow64_gl_glIndexfv,
    wow64_gl_glIndexi,
    wow64_gl_glIndexiv,
    wow64_gl_glIndexs,
    wow64_gl_glIndexsv,
    wow64_gl_glIndexub,
    wow64_gl_glIndexubv,
    wow64_gl_glInitNames,
    wow64_gl_glInterleavedArrays,
    wow64_gl_glIsEnabled,
    wow64_gl_glIsList,
    wow64_gl_glIsTexture,
    wow64_gl_glLightModelf,
    wow64_gl_glLightModelfv,
    wow64_gl_glLightModeli,
    wow64_gl_glLightModeliv,
    wow64_gl_glLightf,
    wow64_gl_glLightfv,
    wow64_gl_glLighti,
    wow64_gl_glLightiv,
    wow64_gl_glLineStipple,
    wow64_gl_glLineWidth,
    wow64_gl_glListBase,
    wow64_gl_glLoadIdentity,
    wow64_gl_glLoadMatrixd,
    wow64_gl_glLoadMatrixf,
    wow64_gl_glLoadName,
    wow64_gl_glLogicOp,
    wow64_gl_glMap1d,
    wow64_gl_glMap1f,
    wow64_gl_glMap2d,
    wow64_gl_glMap2f,
    wow64_gl_glMapGrid1d,
    wow64_gl_glMapGrid1f,
    wow64_gl_glMapGrid2d,
    wow64_gl_glMapGrid2f,
    wow64_gl_glMaterialf,
    wow64_gl_glMaterialfv,
    wow64_gl_glMateriali,
    wow64_gl_glMaterialiv,
    wow64_gl_glMatrixMode,
    wow64_gl_glMultMatrixd,
    wow64_gl_glMultMatrixf,
    wow64_gl_glNewList,
    wow64_gl_glNormal3b,
    wow64_gl_glNormal3bv,
    wow64_gl_glNormal3d,
    wow64_gl_glNormal3dv,
    wow64_gl_glNormal3f,
    wow64_gl_glNormal3fv,
    wow64_gl_glNormal3i,
    wow64_gl_glNormal3iv,
    wow64_gl_glNormal3s,
    wow64_gl_glNormal3sv,
    wow64_gl_glNormalPointer,
    wow64_gl_glOrtho,
    wow64_gl_glPassThrough,
    wow64_gl_glPixelMapfv,
    wow64_gl_glPixelMapuiv,
    wow64_gl_glPixelMapusv,
    wow64_gl_glPixelStoref,
    wow64_gl_glPixelStorei,
    wow64_gl_glPixelTransferf,
    wow64_gl_glPixelTransferi,
    wow64_gl_glPixelZoom,
    wow64_gl_glPointSize,
    wow64_gl_glPolygonMode,
    wow64_gl_glPolygonOffset,
    wow64_gl_glPolygonStipple,
    wow64_gl_glPopAttrib,
    wow64_gl_glPopClientAttrib,
    wow64_gl_glPopMatrix,
    wow64_gl_glPopName,
    wow64_gl_glPrioritizeTextures,
    wow64_gl_glPushAttrib,
    wow64_gl_glPushClientAttrib,
    wow64_gl_glPushMatrix,
    wow64_gl_glPushName,
    wow64_gl_glRasterPos2d,
    wow64_gl_glRasterPos2dv,
    wow64_gl_glRasterPos2f,
    wow64_gl_glRasterPos2fv,
    wow64_gl_glRasterPos2i,
    wow64_gl_glRasterPos2iv,
    wow64_gl_glRasterPos2s,
    wow64_gl_glRasterPos2sv,
    wow64_gl_glRasterPos3d,
    wow64_gl_glRasterPos3dv,
    wow64_gl_glRasterPos3f,
    wow64_gl_glRasterPos3fv,
    wow64_gl_glRasterPos3i,
    wow64_gl_glRasterPos3iv,
    wow64_gl_glRasterPos3s,
    wow64_gl_glRasterPos3sv,
    wow64_gl_glRasterPos4d,
    wow64_gl_glRasterPos4dv,
    wow64_gl_glRasterPos4f,
    wow64_gl_glRasterPos4fv,
    wow64_gl_glRasterPos4i,
    wow64_gl_glRasterPos4iv,
    wow64_gl_glRasterPos4s,
    wow64_gl_glRasterPos4sv,
    wow64_gl_glReadBuffer,
    wow64_gl_glReadPixels,
    wow64_gl_glRectd,
    wow64_gl_glRectdv,
    wow64_gl_glRectf,
    wow64_gl_glRectfv,
    wow64_gl_glRecti,
    wow64_gl_glRectiv,
    wow64_gl_glRects,
    wow64_gl_glRectsv,
    wow64_gl_glRenderMode,
    wow64_gl_glRotated,
    wow64_gl_glRotatef,
    wow64_gl_glScaled,
    wow64_gl_glScalef,
    wow64_gl_glScissor,
    wow64_gl_glSelectBuffer,
    wow64_gl_glShadeModel,
    wow64_gl_glStencilFunc,
    wow64_gl_glStencilMask,
    wow64_gl_glStencilOp,
    wow64_gl_glTexCoord1d,
    wow64_gl_glTexCoord1dv,
    wow64_gl_glTexCoord1f,
    wow64_gl_glTexCoord1fv,
    wow64_gl_glTexCoord1i,
    wow64_gl_glTexCoord1iv,
    wow64_gl_glTexCoord1s,
    wow64_gl_glTexCoord1sv,
    wow64_gl_glTexCoord2d,
    wow64_gl_glTexCoord2dv,
    wow64_gl_glTexCoord2f,
    wow64_gl_glTexCoord2fv,
    wow64_gl_glTexCoord2i,
    wow64_gl_glTexCoord2iv,
    wow64_gl_glTexCoord2s,
    wow64_gl_glTexCoord2sv,
    wow64_gl_glTexCoord3d,
    wow64_gl_glTexCoord3dv,
    wow64_gl_glTexCoord3f,
    wow64_gl_glTexCoord3fv,
    wow64_gl_glTexCoord3i,
    wow64_gl_glTexCoord3iv,
    wow64_gl_glTexCoord3s,
    wow64_gl_glTexCoord3sv,
    wow64_gl_glTexCoord4d,
    wow64_gl_glTexCoord4dv,
    wow64_gl_glTexCoord4f,
    wow64_gl_glTexCoord4fv,
    wow64_gl_glTexCoord4i,
    wow64_gl_glTexCoord4iv,
    wow64_gl_glTexCoord4s,
    wow64_gl_glTexCoord4sv,
    wow64_gl_glTexCoordPointer,
    wow64_gl_glTexEnvf,
    wow64_gl_glTexEnvfv,
    wow64_gl_glTexEnvi,
    wow64_gl_glTexEnviv,
    wow64_gl_glTexGend,
    wow64_gl_glTexGendv,
    wow64_gl_glTexGenf,
    wow64_gl_glTexGenfv,
    wow64_gl_glTexGeni,
    wow64_gl_glTexGeniv,
    wow64_gl_glTexImage1D,
    wow64_gl_glTexImage2D,
    wow64_gl_glTexParameterf,
    wow64_gl_glTexParameterfv,
    wow64_gl_glTexParameteri,
    wow64_gl_glTexParameteriv,
    wow64_gl_glTexSubImage1D,
    wow64_gl_glTexSubImage2D,
    wow64_gl_glTranslated,
    wow64_gl_glTranslatef,
    wow64_gl_glVertex2d,
    wow64_gl_glVertex2dv,
    wow64_gl_glVertex2f,
    wow64_gl_glVertex2fv,
    wow64_gl_glVertex2i,
    wow64_gl_glVertex2iv,
    wow64_gl_glVertex2s,
    wow64_gl_glVertex2sv,
    wow64_gl_glVertex3d,
    wow64_gl_glVertex3dv,
    wow64_gl_glVertex3f,
    wow64_gl_glVertex3fv,
    wow64_gl_glVertex3i,
    wow64_gl_glVertex3iv,
    wow64_gl_glVertex3s,
    wow64_gl_glVertex3sv,
    wow64_gl_glVertex4d,
    wow64_gl_glVertex4dv,
    wow64_gl_glVertex4f,
    wow64_gl_glVertex4fv,
    wow64_gl_glVertex4i,
    wow64_gl_glVertex4iv,
    wow64_gl_glVertex4s,
    wow64_gl_glVertex4sv,
    wow64_gl_glVertexPointer,
    wow64_gl_glViewport,
    wow64_ext_glAccumxOES,
    wow64_ext_glAcquireKeyedMutexWin32EXT,
    wow64_ext_glActiveProgramEXT,
    wow64_ext_glActiveShaderProgram,
    wow64_ext_glActiveStencilFaceEXT,
    wow64_ext_glActiveTexture,
    wow64_ext_glActiveTextureARB,
    wow64_ext_glActiveVaryingNV,
    wow64_ext_glAlphaFragmentOp1ATI,
    wow64_ext_glAlphaFragmentOp2ATI,
    wow64_ext_glAlphaFragmentOp3ATI,
    wow64_ext_glAlphaFuncxOES,
    wow64_ext_glAlphaToCoverageDitherControlNV,
    wow64_ext_glApplyFramebufferAttachmentCMAAINTEL,
    wow64_ext_glApplyTextureEXT,
    wow64_ext_glAreProgramsResidentNV,
    wow64_ext_glAreTexturesResidentEXT,
    wow64_ext_glArrayElementEXT,
    wow64_ext_glArrayObjectATI,
    wow64_ext_glAsyncCopyBufferSubDataNVX,
    wow64_ext_glAsyncCopyImageSubDataNVX,
    wow64_ext_glAsyncMarkerSGIX,
    wow64_ext_glAttachObjectARB,
    wow64_ext_glAttachShader,
    wow64_ext_glBeginConditionalRender,
    wow64_ext_glBeginConditionalRenderNV,
    wow64_ext_glBeginConditionalRenderNVX,
    wow64_ext_glBeginFragmentShaderATI,
    wow64_ext_glBeginOcclusionQueryNV,
    wow64_ext_glBeginPerfMonitorAMD,
    wow64_ext_glBeginPerfQueryINTEL,
    wow64_ext_glBeginQuery,
    wow64_ext_glBeginQueryARB,
    wow64_ext_glBeginQueryIndexed,
    wow64_ext_glBeginTransformFeedback,
    wow64_ext_glBeginTransformFeedbackEXT,
    wow64_ext_glBeginTransformFeedbackNV,
    wow64_ext_glBeginVertexShaderEXT,
    wow64_ext_glBeginVideoCaptureNV,
    wow64_ext_glBindAttribLocation,
    wow64_ext_glBindAttribLocationARB,
    wow64_ext_glBindBuffer,
    wow64_ext_glBindBufferARB,
    wow64_ext_glBindBufferBase,
    wow64_ext_glBindBufferBaseEXT,
    wow64_ext_glBindBufferBaseNV,
    wow64_ext_glBindBufferOffsetEXT,
    wow64_ext_glBindBufferOffsetNV,
    wow64_ext_glBindBufferRange,
    wow64_ext_glBindBufferRangeEXT,
    wow64_ext_glBindBufferRangeNV,
    wow64_ext_glBindBuffersBase,
    wow64_ext_glBindBuffersRange,
    wow64_ext_glBindFragDataLocation,
    wow64_ext_glBindFragDataLocationEXT,
    wow64_ext_glBindFragDataLocationIndexed,
    wow64_ext_glBindFragmentShaderATI,
    wow64_ext_glBindFramebuffer,
    wow64_ext_glBindFramebufferEXT,
    wow64_ext_glBindImageTexture,
    wow64_ext_glBindImageTextureEXT,
    wow64_ext_glBindImageTextures,
    wow64_ext_glBindLightParameterEXT,
    wow64_ext_glBindMaterialParameterEXT,
    wow64_ext_glBindMultiTextureEXT,
    wow64_ext_glBindParameterEXT,
    wow64_ext_glBindProgramARB,
    wow64_ext_glBindProgramNV,
    wow64_ext_glBindProgramPipeline,
    wow64_ext_glBindRenderbuffer,
    wow64_ext_glBindRenderbufferEXT,
    wow64_ext_glBindSampler,
    wow64_ext_glBindSamplers,
    wow64_ext_glBindShadingRateImageNV,
    wow64_ext_glBindTexGenParameterEXT,
    wow64_ext_glBindTextureEXT,
    wow64_ext_glBindTextureUnit,
    wow64_ext_glBindTextureUnitParameterEXT,
    wow64_ext_glBindTextures,
    wow64_ext_glBindTransformFeedback,
    wow64_ext_glBindTransformFeedbackNV,
    wow64_ext_glBindVertexArray,
    wow64_ext_glBindVertexArrayAPPLE,
    wow64_ext_glBindVertexBuffer,
    wow64_ext_glBindVertexBuffers,
    wow64_ext_glBindVertexShaderEXT,
    wow64_ext_glBindVideoCaptureStreamBufferNV,
    wow64_ext_glBindVideoCaptureStreamTextureNV,
    wow64_ext_glBinormal3bEXT,
    wow64_ext_glBinormal3bvEXT,
    wow64_ext_glBinormal3dEXT,
    wow64_ext_glBinormal3dvEXT,
    wow64_ext_glBinormal3fEXT,
    wow64_ext_glBinormal3fvEXT,
    wow64_ext_glBinormal3iEXT,
    wow64_ext_glBinormal3ivEXT,
    wow64_ext_glBinormal3sEXT,
    wow64_ext_glBinormal3svEXT,
    wow64_ext_glBinormalPointerEXT,
    wow64_ext_glBitmapxOES,
    wow64_ext_glBlendBarrierKHR,
    wow64_ext_glBlendBarrierNV,
    wow64_ext_glBlendColor,
    wow64_ext_glBlendColorEXT,
    wow64_ext_glBlendColorxOES,
    wow64_ext_glBlendEquation,
    wow64_ext_glBlendEquationEXT,
    wow64_ext_glBlendEquationIndexedAMD,
    wow64_ext_glBlendEquationSeparate,
    wow64_ext_glBlendEquationSeparateEXT,
    wow64_ext_glBlendEquationSeparateIndexedAMD,
    wow64_ext_glBlendEquationSeparatei,
    wow64_ext_glBlendEquationSeparateiARB,
    wow64_ext_glBlendEquationi,
    wow64_ext_glBlendEquationiARB,
    wow64_ext_glBlendFuncIndexedAMD,
    wow64_ext_glBlendFuncSeparate,
    wow64_ext_glBlendFuncSeparateEXT,
    wow64_ext_glBlendFuncSeparateINGR,
    wow64_ext_glBlendFuncSeparateIndexedAMD,
    wow64_ext_glBlendFuncSeparatei,
    wow64_ext_glBlendFuncSeparateiARB,
    wow64_ext_glBlendFunci,
    wow64_ext_glBlendFunciARB,
    wow64_ext_glBlendParameteriNV,
    wow64_ext_glBlitFramebuffer,
    wow64_ext_glBlitFramebufferEXT,
    wow64_ext_glBlitNamedFramebuffer,
    wow64_ext_glBufferAddressRangeNV,
    wow64_ext_glBufferAttachMemoryNV,
    wow64_ext_glBufferData,
    wow64_ext_glBufferDataARB,
    wow64_ext_glBufferPageCommitmentARB,
    wow64_ext_glBufferParameteriAPPLE,
    wow64_ext_glBufferRegionEnabled,
    wow64_ext_glBufferStorage,
    wow64_ext_glBufferStorageExternalEXT,
    wow64_ext_glBufferStorageMemEXT,
    wow64_ext_glBufferSubData,
    wow64_ext_glBufferSubDataARB,
    wow64_ext_glCallCommandListNV,
    wow64_ext_glCheckFramebufferStatus,
    wow64_ext_glCheckFramebufferStatusEXT,
    wow64_ext_glCheckNamedFramebufferStatus,
    wow64_ext_glCheckNamedFramebufferStatusEXT,
    wow64_ext_glClampColor,
    wow64_ext_glClampColorARB,
    wow64_ext_glClearAccumxOES,
    wow64_ext_glClearBufferData,
    wow64_ext_glClearBufferSubData,
    wow64_ext_glClearBufferfi,
    wow64_ext_glClearBufferfv,
    wow64_ext_glClearBufferiv,
    wow64_ext_glClearBufferuiv,
    wow64_ext_glClearColorIiEXT,
    wow64_ext_glClearColorIuiEXT,
    wow64_ext_glClearColorxOES,
    wow64_ext_glClearDepthdNV,
    wow64_ext_glClearDepthf,
    wow64_ext_glClearDepthfOES,
    wow64_ext_glClearDepthxOES,
    wow64_ext_glClearNamedBufferData,
    wow64_ext_glClearNamedBufferDataEXT,
    wow64_ext_glClearNamedBufferSubData,
    wow64_ext_glClearNamedBufferSubDataEXT,
    wow64_ext_glClearNamedFramebufferfi,
    wow64_ext_glClearNamedFramebufferfv,
    wow64_ext_glClearNamedFramebufferiv,
    wow64_ext_glClearNamedFramebufferuiv,
    wow64_ext_glClearTexImage,
    wow64_ext_glClearTexSubImage,
    wow64_ext_glClientActiveTexture,
    wow64_ext_glClientActiveTextureARB,
    wow64_ext_glClientActiveVertexStreamATI,
    wow64_ext_glClientAttribDefaultEXT,
    wow64_ext_glClientWaitSemaphoreui64NVX,
    wow64_ext_glClientWaitSync,
    wow64_ext_glClipControl,
    wow64_ext_glClipPlanefOES,
    wow64_ext_glClipPlanexOES,
    wow64_ext_glColor3fVertex3fSUN,
    wow64_ext_glColor3fVertex3fvSUN,
    wow64_ext_glColor3hNV,
    wow64_ext_glColor3hvNV,
    wow64_ext_glColor3xOES,
    wow64_ext_glColor3xvOES,
    wow64_ext_glColor4fNormal3fVertex3fSUN,
    wow64_ext_glColor4fNormal3fVertex3fvSUN,
    wow64_ext_glColor4hNV,
    wow64_ext_glColor4hvNV,
    wow64_ext_glColor4ubVertex2fSUN,
    wow64_ext_glColor4ubVertex2fvSUN,
    wow64_ext_glColor4ubVertex3fSUN,
    wow64_ext_glColor4ubVertex3fvSUN,
    wow64_ext_glColor4xOES,
    wow64_ext_glColor4xvOES,
    wow64_ext_glColorFormatNV,
    wow64_ext_glColorFragmentOp1ATI,
    wow64_ext_glColorFragmentOp2ATI,
    wow64_ext_glColorFragmentOp3ATI,
    wow64_ext_glColorMaskIndexedEXT,
    wow64_ext_glColorMaski,
    wow64_ext_glColorP3ui,
    wow64_ext_glColorP3uiv,
    wow64_ext_glColorP4ui,
    wow64_ext_glColorP4uiv,
    wow64_ext_glColorPointerEXT,
    wow64_ext_glColorPointerListIBM,
    wow64_ext_glColorPointervINTEL,
    wow64_ext_glColorSubTable,
    wow64_ext_glColorSubTableEXT,
    wow64_ext_glColorTable,
    wow64_ext_glColorTableEXT,
    wow64_ext_glColorTableParameterfv,
    wow64_ext_glColorTableParameterfvSGI,
    wow64_ext_glColorTableParameteriv,
    wow64_ext_glColorTableParameterivSGI,
    wow64_ext_glColorTableSGI,
    wow64_ext_glCombinerInputNV,
    wow64_ext_glCombinerOutputNV,
    wow64_ext_glCombinerParameterfNV,
    wow64_ext_glCombinerParameterfvNV,
    wow64_ext_glCombinerParameteriNV,
    wow64_ext_glCombinerParameterivNV,
    wow64_ext_glCombinerStageParameterfvNV,
    wow64_ext_glCommandListSegmentsNV,
    wow64_ext_glCompileCommandListNV,
    wow64_ext_glCompileShader,
    wow64_ext_glCompileShaderARB,
    wow64_ext_glCompileShaderIncludeARB,
    wow64_ext_glCompressedMultiTexImage1DEXT,
    wow64_ext_glCompressedMultiTexImage2DEXT,
    wow64_ext_glCompressedMultiTexImage3DEXT,
    wow64_ext_glCompressedMultiTexSubImage1DEXT,
    wow64_ext_glCompressedMultiTexSubImage2DEXT,
    wow64_ext_glCompressedMultiTexSubImage3DEXT,
    wow64_ext_glCompressedTexImage1D,
    wow64_ext_glCompressedTexImage1DARB,
    wow64_ext_glCompressedTexImage2D,
    wow64_ext_glCompressedTexImage2DARB,
    wow64_ext_glCompressedTexImage3D,
    wow64_ext_glCompressedTexImage3DARB,
    wow64_ext_glCompressedTexSubImage1D,
    wow64_ext_glCompressedTexSubImage1DARB,
    wow64_ext_glCompressedTexSubImage2D,
    wow64_ext_glCompressedTexSubImage2DARB,
    wow64_ext_glCompressedTexSubImage3D,
    wow64_ext_glCompressedTexSubImage3DARB,
    wow64_ext_glCompressedTextureImage1DEXT,
    wow64_ext_glCompressedTextureImage2DEXT,
    wow64_ext_glCompressedTextureImage3DEXT,
    wow64_ext_glCompressedTextureSubImage1D,
    wow64_ext_glCompressedTextureSubImage1DEXT,
    wow64_ext_glCompressedTextureSubImage2D,
    wow64_ext_glCompressedTextureSubImage2DEXT,
    wow64_ext_glCompressedTextureSubImage3D,
    wow64_ext_glCompressedTextureSubImage3DEXT,
    wow64_ext_glConservativeRasterParameterfNV,
    wow64_ext_glConservativeRasterParameteriNV,
    wow64_ext_glConvolutionFilter1D,
    wow64_ext_glConvolutionFilter1DEXT,
    wow64_ext_glConvolutionFilter2D,
    wow64_ext_glConvolutionFilter2DEXT,
    wow64_ext_glConvolutionParameterf,
    wow64_ext_glConvolutionParameterfEXT,
    wow64_ext_glConvolutionParameterfv,
    wow64_ext_glConvolutionParameterfvEXT,
    wow64_ext_glConvolutionParameteri,
    wow64_ext_glConvolutionParameteriEXT,
    wow64_ext_glConvolutionParameteriv,
    wow64_ext_glConvolutionParameterivEXT,
    wow64_ext_glConvolutionParameterxOES,
    wow64_ext_glConvolutionParameterxvOES,
    wow64_ext_glCopyBufferSubData,
    wow64_ext_glCopyColorSubTable,
    wow64_ext_glCopyColorSubTableEXT,
    wow64_ext_glCopyColorTable,
    wow64_ext_glCopyColorTableSGI,
    wow64_ext_glCopyConvolutionFilter1D,
    wow64_ext_glCopyConvolutionFilter1DEXT,
    wow64_ext_glCopyConvolutionFilter2D,
    wow64_ext_glCopyConvolutionFilter2DEXT,
    wow64_ext_glCopyImageSubData,
    wow64_ext_glCopyImageSubDataNV,
    wow64_ext_glCopyMultiTexImage1DEXT,
    wow64_ext_glCopyMultiTexImage2DEXT,
    wow64_ext_glCopyMultiTexSubImage1DEXT,
    wow64_ext_glCopyMultiTexSubImage2DEXT,
    wow64_ext_glCopyMultiTexSubImage3DEXT,
    wow64_ext_glCopyNamedBufferSubData,
    wow64_ext_glCopyPathNV,
    wow64_ext_glCopyTexImage1DEXT,
    wow64_ext_glCopyTexImage2DEXT,
    wow64_ext_glCopyTexSubImage1DEXT,
    wow64_ext_glCopyTexSubImage2DEXT,
    wow64_ext_glCopyTexSubImage3D,
    wow64_ext_glCopyTexSubImage3DEXT,
    wow64_ext_glCopyTextureImage1DEXT,
    wow64_ext_glCopyTextureImage2DEXT,
    wow64_ext_glCopyTextureSubImage1D,
    wow64_ext_glCopyTextureSubImage1DEXT,
    wow64_ext_glCopyTextureSubImage2D,
    wow64_ext_glCopyTextureSubImage2DEXT,
    wow64_ext_glCopyTextureSubImage3D,
    wow64_ext_glCopyTextureSubImage3DEXT,
    wow64_ext_glCoverFillPathInstancedNV,
    wow64_ext_glCoverFillPathNV,
    wow64_ext_glCoverStrokePathInstancedNV,
    wow64_ext_glCoverStrokePathNV,
    wow64_ext_glCoverageModulationNV,
    wow64_ext_glCoverageModulationTableNV,
    wow64_ext_glCreateBuffers,
    wow64_ext_glCreateCommandListsNV,
    wow64_ext_glCreateFramebuffers,
    wow64_ext_glCreateMemoryObjectsEXT,
    wow64_ext_glCreatePerfQueryINTEL,
    wow64_ext_glCreateProgram,
    wow64_ext_glCreateProgramObjectARB,
    wow64_ext_glCreateProgramPipelines,
    wow64_ext_glCreateProgressFenceNVX,
    wow64_ext_glCreateQueries,
    wow64_ext_glCreateRenderbuffers,
    wow64_ext_glCreateSamplers,
    wow64_ext_glCreateShader,
    wow64_ext_glCreateShaderObjectARB,
    wow64_ext_glCreateShaderProgramEXT,
    wow64_ext_glCreateShaderProgramv,
    wow64_ext_glCreateStatesNV,
    wow64_ext_glCreateSyncFromCLeventARB,
    wow64_ext_glCreateTextures,
    wow64_ext_glCreateTransformFeedbacks,
    wow64_ext_glCreateVertexArrays,
    wow64_ext_glCullParameterdvEXT,
    wow64_ext_glCullParameterfvEXT,
    wow64_ext_glCurrentPaletteMatrixARB,
    wow64_ext_glDebugMessageCallback,
    wow64_ext_glDebugMessageCallbackAMD,
    wow64_ext_glDebugMessageCallbackARB,
    wow64_ext_glDebugMessageControl,
    wow64_ext_glDebugMessageControlARB,
    wow64_ext_glDebugMessageEnableAMD,
    wow64_ext_glDebugMessageInsert,
    wow64_ext_glDebugMessageInsertAMD,
    wow64_ext_glDebugMessageInsertARB,
    wow64_ext_glDeformSGIX,
    wow64_ext_glDeformationMap3dSGIX,
    wow64_ext_glDeformationMap3fSGIX,
    wow64_ext_glDeleteAsyncMarkersSGIX,
    wow64_ext_glDeleteBufferRegion,
    wow64_ext_glDeleteBuffers,
    wow64_ext_glDeleteBuffersARB,
    wow64_ext_glDeleteCommandListsNV,
    wow64_ext_glDeleteFencesAPPLE,
    wow64_ext_glDeleteFencesNV,
    wow64_ext_glDeleteFragmentShaderATI,
    wow64_ext_glDeleteFramebuffers,
    wow64_ext_glDeleteFramebuffersEXT,
    wow64_ext_glDeleteMemoryObjectsEXT,
    wow64_ext_glDeleteNamedStringARB,
    wow64_ext_glDeleteNamesAMD,
    wow64_ext_glDeleteObjectARB,
    wow64_ext_glDeleteObjectBufferATI,
    wow64_ext_glDeleteOcclusionQueriesNV,
    wow64_ext_glDeletePathsNV,
    wow64_ext_glDeletePerfMonitorsAMD,
    wow64_ext_glDeletePerfQueryINTEL,
    wow64_ext_glDeleteProgram,
    wow64_ext_glDeleteProgramPipelines,
    wow64_ext_glDeleteProgramsARB,
    wow64_ext_glDeleteProgramsNV,
    wow64_ext_glDeleteQueries,
    wow64_ext_glDeleteQueriesARB,
    wow64_ext_glDeleteQueryResourceTagNV,
    wow64_ext_glDeleteRenderbuffers,
    wow64_ext_glDeleteRenderbuffersEXT,
    wow64_ext_glDeleteSamplers,
    wow64_ext_glDeleteSemaphoresEXT,
    wow64_ext_glDeleteShader,
    wow64_ext_glDeleteStatesNV,
    wow64_ext_glDeleteSync,
    wow64_ext_glDeleteTexturesEXT,
    wow64_ext_glDeleteTransformFeedbacks,
    wow64_ext_glDeleteTransformFeedbacksNV,
    wow64_ext_glDeleteVertexArrays,
    wow64_ext_glDeleteVertexArraysAPPLE,
    wow64_ext_glDeleteVertexShaderEXT,
    wow64_ext_glDepthBoundsEXT,
    wow64_ext_glDepthBoundsdNV,
    wow64_ext_glDepthRangeArraydvNV,
    wow64_ext_glDepthRangeArrayv,
    wow64_ext_glDepthRangeIndexed,
    wow64_ext_glDepthRangeIndexeddNV,
    wow64_ext_glDepthRangedNV,
    wow64_ext_glDepthRangef,
    wow64_ext_glDepthRangefOES,
    wow64_ext_glDepthRangexOES,
    wow64_ext_glDetachObjectARB,
    wow64_ext_glDetachShader,
    wow64_ext_glDetailTexFuncSGIS,
    wow64_ext_glDisableClientStateIndexedEXT,
    wow64_ext_glDisableClientStateiEXT,
    wow64_ext_glDisableIndexedEXT,
    wow64_ext_glDisableVariantClientStateEXT,
    wow64_ext_glDisableVertexArrayAttrib,
    wow64_ext_glDisableVertexArrayAttribEXT,
    wow64_ext_glDisableVertexArrayEXT,
    wow64_ext_glDisableVertexAttribAPPLE,
    wow64_ext_glDisableVertexAttribArray,
    wow64_ext_glDisableVertexAttribArrayARB,
    wow64_ext_glDisablei,
    wow64_ext_glDispatchCompute,
    wow64_ext_glDispatchComputeGroupSizeARB,
    wow64_ext_glDispatchComputeIndirect,
    wow64_ext_glDrawArraysEXT,
    wow64_ext_glDrawArraysIndirect,
    wow64_ext_glDrawArraysInstanced,
    wow64_ext_glDrawArraysInstancedARB,
    wow64_ext_glDrawArraysInstancedBaseInstance,
    wow64_ext_glDrawArraysInstancedEXT,
    wow64_ext_glDrawBufferRegion,
    wow64_ext_glDrawBuffers,
    wow64_ext_glDrawBuffersARB,
    wow64_ext_glDrawBuffersATI,
    wow64_ext_glDrawCommandsAddressNV,
    wow64_ext_glDrawCommandsNV,
    wow64_ext_glDrawCommandsStatesAddressNV,
    wow64_ext_glDrawCommandsStatesNV,
    wow64_ext_glDrawElementArrayAPPLE,
    wow64_ext_glDrawElementArrayATI,
    wow64_ext_glDrawElementsBaseVertex,
    wow64_ext_glDrawElementsIndirect,
    wow64_ext_glDrawElementsInstanced,
    wow64_ext_glDrawElementsInstancedARB,
    wow64_ext_glDrawElementsInstancedBaseInstance,
    wow64_ext_glDrawElementsInstancedBaseVertex,
    wow64_ext_glDrawElementsInstancedBaseVertexBaseInstance,
    wow64_ext_glDrawElementsInstancedEXT,
    wow64_ext_glDrawMeshArraysSUN,
    wow64_ext_glDrawMeshTasksIndirectNV,
    wow64_ext_glDrawMeshTasksNV,
    wow64_ext_glDrawRangeElementArrayAPPLE,
    wow64_ext_glDrawRangeElementArrayATI,
    wow64_ext_glDrawRangeElements,
    wow64_ext_glDrawRangeElementsBaseVertex,
    wow64_ext_glDrawRangeElementsEXT,
    wow64_ext_glDrawTextureNV,
    wow64_ext_glDrawTransformFeedback,
    wow64_ext_glDrawTransformFeedbackInstanced,
    wow64_ext_glDrawTransformFeedbackNV,
    wow64_ext_glDrawTransformFeedbackStream,
    wow64_ext_glDrawTransformFeedbackStreamInstanced,
    wow64_ext_glDrawVkImageNV,
    wow64_ext_glEGLImageTargetTexStorageEXT,
    wow64_ext_glEGLImageTargetTextureStorageEXT,
    wow64_ext_glEdgeFlagFormatNV,
    wow64_ext_glEdgeFlagPointerEXT,
    wow64_ext_glEdgeFlagPointerListIBM,
    wow64_ext_glElementPointerAPPLE,
    wow64_ext_glElementPointerATI,
    wow64_ext_glEnableClientStateIndexedEXT,
    wow64_ext_glEnableClientStateiEXT,
    wow64_ext_glEnableIndexedEXT,
    wow64_ext_glEnableVariantClientStateEXT,
    wow64_ext_glEnableVertexArrayAttrib,
    wow64_ext_glEnableVertexArrayAttribEXT,
    wow64_ext_glEnableVertexArrayEXT,
    wow64_ext_glEnableVertexAttribAPPLE,
    wow64_ext_glEnableVertexAttribArray,
    wow64_ext_glEnableVertexAttribArrayARB,
    wow64_ext_glEnablei,
    wow64_ext_glEndConditionalRender,
    wow64_ext_glEndConditionalRenderNV,
    wow64_ext_glEndConditionalRenderNVX,
    wow64_ext_glEndFragmentShaderATI,
    wow64_ext_glEndOcclusionQueryNV,
    wow64_ext_glEndPerfMonitorAMD,
    wow64_ext_glEndPerfQueryINTEL,
    wow64_ext_glEndQuery,
    wow64_ext_glEndQueryARB,
    wow64_ext_glEndQueryIndexed,
    wow64_ext_glEndTransformFeedback,
    wow64_ext_glEndTransformFeedbackEXT,
    wow64_ext_glEndTransformFeedbackNV,
    wow64_ext_glEndVertexShaderEXT,
    wow64_ext_glEndVideoCaptureNV,
    wow64_ext_glEvalCoord1xOES,
    wow64_ext_glEvalCoord1xvOES,
    wow64_ext_glEvalCoord2xOES,
    wow64_ext_glEvalCoord2xvOES,
    wow64_ext_glEvalMapsNV,
    wow64_ext_glEvaluateDepthValuesARB,
    wow64_ext_glExecuteProgramNV,
    wow64_ext_glExtractComponentEXT,
    wow64_ext_glFeedbackBufferxOES,
    wow64_ext_glFenceSync,
    wow64_ext_glFinalCombinerInputNV,
    wow64_ext_glFinishAsyncSGIX,
    wow64_ext_glFinishFenceAPPLE,
    wow64_ext_glFinishFenceNV,
    wow64_ext_glFinishObjectAPPLE,
    wow64_ext_glFinishTextureSUNX,
    wow64_ext_glFlushMappedBufferRange,
    wow64_ext_glFlushMappedBufferRangeAPPLE,
    wow64_ext_glFlushMappedNamedBufferRange,
    wow64_ext_glFlushMappedNamedBufferRangeEXT,
    wow64_ext_glFlushPixelDataRangeNV,
    wow64_ext_glFlushRasterSGIX,
    wow64_ext_glFlushStaticDataIBM,
    wow64_ext_glFlushVertexArrayRangeAPPLE,
    wow64_ext_glFlushVertexArrayRangeNV,
    wow64_ext_glFogCoordFormatNV,
    wow64_ext_glFogCoordPointer,
    wow64_ext_glFogCoordPointerEXT,
    wow64_ext_glFogCoordPointerListIBM,
    wow64_ext_glFogCoordd,
    wow64_ext_glFogCoorddEXT,
    wow64_ext_glFogCoorddv,
    wow64_ext_glFogCoorddvEXT,
    wow64_ext_glFogCoordf,
    wow64_ext_glFogCoordfEXT,
    wow64_ext_glFogCoordfv,
    wow64_ext_glFogCoordfvEXT,
    wow64_ext_glFogCoordhNV,
    wow64_ext_glFogCoordhvNV,
    wow64_ext_glFogFuncSGIS,
    wow64_ext_glFogxOES,
    wow64_ext_glFogxvOES,
    wow64_ext_glFragmentColorMaterialSGIX,
    wow64_ext_glFragmentCoverageColorNV,
    wow64_ext_glFragmentLightModelfSGIX,
    wow64_ext_glFragmentLightModelfvSGIX,
    wow64_ext_glFragmentLightModeliSGIX,
    wow64_ext_glFragmentLightModelivSGIX,
    wow64_ext_glFragmentLightfSGIX,
    wow64_ext_glFragmentLightfvSGIX,
    wow64_ext_glFragmentLightiSGIX,
    wow64_ext_glFragmentLightivSGIX,
    wow64_ext_glFragmentMaterialfSGIX,
    wow64_ext_glFragmentMaterialfvSGIX,
    wow64_ext_glFragmentMaterialiSGIX,
    wow64_ext_glFragmentMaterialivSGIX,
    wow64_ext_glFrameTerminatorGREMEDY,
    wow64_ext_glFrameZoomSGIX,
    wow64_ext_glFramebufferDrawBufferEXT,
    wow64_ext_glFramebufferDrawBuffersEXT,
    wow64_ext_glFramebufferFetchBarrierEXT,
    wow64_ext_glFramebufferParameteri,
    wow64_ext_glFramebufferParameteriMESA,
    wow64_ext_glFramebufferReadBufferEXT,
    wow64_ext_glFramebufferRenderbuffer,
    wow64_ext_glFramebufferRenderbufferEXT,
    wow64_ext_glFramebufferSampleLocationsfvARB,
    wow64_ext_glFramebufferSampleLocationsfvNV,
    wow64_ext_glFramebufferSamplePositionsfvAMD,
    wow64_ext_glFramebufferTexture,
    wow64_ext_glFramebufferTexture1D,
    wow64_ext_glFramebufferTexture1DEXT,
    wow64_ext_glFramebufferTexture2D,
    wow64_ext_glFramebufferTexture2DEXT,
    wow64_ext_glFramebufferTexture3D,
    wow64_ext_glFramebufferTexture3DEXT,
    wow64_ext_glFramebufferTextureARB,
    wow64_ext_glFramebufferTextureEXT,
    wow64_ext_glFramebufferTextureFaceARB,
    wow64_ext_glFramebufferTextureFaceEXT,
    wow64_ext_glFramebufferTextureLayer,
    wow64_ext_glFramebufferTextureLayerARB,
    wow64_ext_glFramebufferTextureLayerEXT,
    wow64_ext_glFramebufferTextureMultiviewOVR,
    wow64_ext_glFreeObjectBufferATI,
    wow64_ext_glFrustumfOES,
    wow64_ext_glFrustumxOES,
    wow64_ext_glGenAsyncMarkersSGIX,
    wow64_ext_glGenBuffers,
    wow64_ext_glGenBuffersARB,
    wow64_ext_glGenFencesAPPLE,
    wow64_ext_glGenFencesNV,
    wow64_ext_glGenFragmentShadersATI,
    wow64_ext_glGenFramebuffers,
    wow64_ext_glGenFramebuffersEXT,
    wow64_ext_glGenNamesAMD,
    wow64_ext_glGenOcclusionQueriesNV,
    wow64_ext_glGenPathsNV,
    wow64_ext_glGenPerfMonitorsAMD,
    wow64_ext_glGenProgramPipelines,
    wow64_ext_glGenProgramsARB,
    wow64_ext_glGenProgramsNV,
    wow64_ext_glGenQueries,
    wow64_ext_glGenQueriesARB,
    wow64_ext_glGenQueryResourceTagNV,
    wow64_ext_glGenRenderbuffers,
    wow64_ext_glGenRenderbuffersEXT,
    wow64_ext_glGenSamplers,
    wow64_ext_glGenSemaphoresEXT,
    wow64_ext_glGenSymbolsEXT,
    wow64_ext_glGenTexturesEXT,
    wow64_ext_glGenTransformFeedbacks,
    wow64_ext_glGenTransformFeedbacksNV,
    wow64_ext_glGenVertexArrays,
    wow64_ext_glGenVertexArraysAPPLE,
    wow64_ext_glGenVertexShadersEXT,
    wow64_ext_glGenerateMipmap,
    wow64_ext_glGenerateMipmapEXT,
    wow64_ext_glGenerateMultiTexMipmapEXT,
    wow64_ext_glGenerateTextureMipmap,
    wow64_ext_glGenerateTextureMipmapEXT,
    wow64_ext_glGetActiveAtomicCounterBufferiv,
    wow64_ext_glGetActiveAttrib,
    wow64_ext_glGetActiveAttribARB,
    wow64_ext_glGetActiveSubroutineName,
    wow64_ext_glGetActiveSubroutineUniformName,
    wow64_ext_glGetActiveSubroutineUniformiv,
    wow64_ext_glGetActiveUniform,
    wow64_ext_glGetActiveUniformARB,
    wow64_ext_glGetActiveUniformBlockName,
    wow64_ext_glGetActiveUniformBlockiv,
    wow64_ext_glGetActiveUniformName,
    wow64_ext_glGetActiveUniformsiv,
    wow64_ext_glGetActiveVaryingNV,
    wow64_ext_glGetArrayObjectfvATI,
    wow64_ext_glGetArrayObjectivATI,
    wow64_ext_glGetAttachedObjectsARB,
    wow64_ext_glGetAttachedShaders,
    wow64_ext_glGetAttribLocation,
    wow64_ext_glGetAttribLocationARB,
    wow64_ext_glGetBooleanIndexedvEXT,
    wow64_ext_glGetBooleani_v,
    wow64_ext_glGetBufferParameteri64v,
    wow64_ext_glGetBufferParameteriv,
    wow64_ext_glGetBufferParameterivARB,
    wow64_ext_glGetBufferParameterui64vNV,
    wow64_ext_glGetBufferPointerv,
    wow64_ext_glGetBufferPointervARB,
    wow64_ext_glGetBufferSubData,
    wow64_ext_glGetBufferSubDataARB,
    wow64_ext_glGetClipPlanefOES,
    wow64_ext_glGetClipPlanexOES,
    wow64_ext_glGetColorTable,
    wow64_ext_glGetColorTableEXT,
    wow64_ext_glGetColorTableParameterfv,
    wow64_ext_glGetColorTableParameterfvEXT,
    wow64_ext_glGetColorTableParameterfvSGI,
    wow64_ext_glGetColorTableParameteriv,
    wow64_ext_glGetColorTableParameterivEXT,
    wow64_ext_glGetColorTableParameterivSGI,
    wow64_ext_glGetColorTableSGI,
    wow64_ext_glGetCombinerInputParameterfvNV,
    wow64_ext_glGetCombinerInputParameterivNV,
    wow64_ext_glGetCombinerOutputParameterfvNV,
    wow64_ext_glGetCombinerOutputParameterivNV,
    wow64_ext_glGetCombinerStageParameterfvNV,
    wow64_ext_glGetCommandHeaderNV,
    wow64_ext_glGetCompressedMultiTexImageEXT,
    wow64_ext_glGetCompressedTexImage,
    wow64_ext_glGetCompressedTexImageARB,
    wow64_ext_glGetCompressedTextureImage,
    wow64_ext_glGetCompressedTextureImageEXT,
    wow64_ext_glGetCompressedTextureSubImage,
    wow64_ext_glGetConvolutionFilter,
    wow64_ext_glGetConvolutionFilterEXT,
    wow64_ext_glGetConvolutionParameterfv,
    wow64_ext_glGetConvolutionParameterfvEXT,
    wow64_ext_glGetConvolutionParameteriv,
    wow64_ext_glGetConvolutionParameterivEXT,
    wow64_ext_glGetConvolutionParameterxvOES,
    wow64_ext_glGetCoverageModulationTableNV,
    wow64_ext_glGetDebugMessageLog,
    wow64_ext_glGetDebugMessageLogAMD,
    wow64_ext_glGetDebugMessageLogARB,
    wow64_ext_glGetDetailTexFuncSGIS,
    wow64_ext_glGetDoubleIndexedvEXT,
    wow64_ext_glGetDoublei_v,
    wow64_ext_glGetDoublei_vEXT,
    wow64_ext_glGetFenceivNV,
    wow64_ext_glGetFinalCombinerInputParameterfvNV,
    wow64_ext_glGetFinalCombinerInputParameterivNV,
    wow64_ext_glGetFirstPerfQueryIdINTEL,
    wow64_ext_glGetFixedvOES,
    wow64_ext_glGetFloatIndexedvEXT,
    wow64_ext_glGetFloati_v,
    wow64_ext_glGetFloati_vEXT,
    wow64_ext_glGetFogFuncSGIS,
    wow64_ext_glGetFragDataIndex,
    wow64_ext_glGetFragDataLocation,
    wow64_ext_glGetFragDataLocationEXT,
    wow64_ext_glGetFragmentLightfvSGIX,
    wow64_ext_glGetFragmentLightivSGIX,
    wow64_ext_glGetFragmentMaterialfvSGIX,
    wow64_ext_glGetFragmentMaterialivSGIX,
    wow64_ext_glGetFramebufferAttachmentParameteriv,
    wow64_ext_glGetFramebufferAttachmentParameterivEXT,
    wow64_ext_glGetFramebufferParameterfvAMD,
    wow64_ext_glGetFramebufferParameteriv,
    wow64_ext_glGetFramebufferParameterivEXT,
    wow64_ext_glGetFramebufferParameterivMESA,
    wow64_ext_glGetGraphicsResetStatus,
    wow64_ext_glGetGraphicsResetStatusARB,
    wow64_ext_glGetHandleARB,
    wow64_ext_glGetHistogram,
    wow64_ext_glGetHistogramEXT,
    wow64_ext_glGetHistogramParameterfv,
    wow64_ext_glGetHistogramParameterfvEXT,
    wow64_ext_glGetHistogramParameteriv,
    wow64_ext_glGetHistogramParameterivEXT,
    wow64_ext_glGetHistogramParameterxvOES,
    wow64_ext_glGetImageHandleARB,
    wow64_ext_glGetImageHandleNV,
    wow64_ext_glGetImageTransformParameterfvHP,
    wow64_ext_glGetImageTransformParameterivHP,
    wow64_ext_glGetInfoLogARB,
    wow64_ext_glGetInstrumentsSGIX,
    wow64_ext_glGetInteger64i_v,
    wow64_ext_glGetInteger64v,
    wow64_ext_glGetIntegerIndexedvEXT,
    wow64_ext_glGetIntegeri_v,
    wow64_ext_glGetIntegerui64i_vNV,
    wow64_ext_glGetIntegerui64vNV,
    wow64_ext_glGetInternalformatSampleivNV,
    wow64_ext_glGetInternalformati64v,
    wow64_ext_glGetInternalformativ,
    wow64_ext_glGetInvariantBooleanvEXT,
    wow64_ext_glGetInvariantFloatvEXT,
    wow64_ext_glGetInvariantIntegervEXT,
    wow64_ext_glGetLightxOES,
    wow64_ext_glGetListParameterfvSGIX,
    wow64_ext_glGetListParameterivSGIX,
    wow64_ext_glGetLocalConstantBooleanvEXT,
    wow64_ext_glGetLocalConstantFloatvEXT,
    wow64_ext_glGetLocalConstantIntegervEXT,
    wow64_ext_glGetMapAttribParameterfvNV,
    wow64_ext_glGetMapAttribParameterivNV,
    wow64_ext_glGetMapControlPointsNV,
    wow64_ext_glGetMapParameterfvNV,
    wow64_ext_glGetMapParameterivNV,
    wow64_ext_glGetMapxvOES,
    wow64_ext_glGetMaterialxOES,
    wow64_ext_glGetMemoryObjectDetachedResourcesuivNV,
    wow64_ext_glGetMemoryObjectParameterivEXT,
    wow64_ext_glGetMinmax,
    wow64_ext_glGetMinmaxEXT,
    wow64_ext_glGetMinmaxParameterfv,
    wow64_ext_glGetMinmaxParameterfvEXT,
    wow64_ext_glGetMinmaxParameteriv,
    wow64_ext_glGetMinmaxParameterivEXT,
    wow64_ext_glGetMultiTexEnvfvEXT,
    wow64_ext_glGetMultiTexEnvivEXT,
    wow64_ext_glGetMultiTexGendvEXT,
    wow64_ext_glGetMultiTexGenfvEXT,
    wow64_ext_glGetMultiTexGenivEXT,
    wow64_ext_glGetMultiTexImageEXT,
    wow64_ext_glGetMultiTexLevelParameterfvEXT,
    wow64_ext_glGetMultiTexLevelParameterivEXT,
    wow64_ext_glGetMultiTexParameterIivEXT,
    wow64_ext_glGetMultiTexParameterIuivEXT,
    wow64_ext_glGetMultiTexParameterfvEXT,
    wow64_ext_glGetMultiTexParameterivEXT,
    wow64_ext_glGetMultisamplefv,
    wow64_ext_glGetMultisamplefvNV,
    wow64_ext_glGetNamedBufferParameteri64v,
    wow64_ext_glGetNamedBufferParameteriv,
    wow64_ext_glGetNamedBufferParameterivEXT,
    wow64_ext_glGetNamedBufferParameterui64vNV,
    wow64_ext_glGetNamedBufferPointerv,
    wow64_ext_glGetNamedBufferPointervEXT,
    wow64_ext_glGetNamedBufferSubData,
    wow64_ext_glGetNamedBufferSubDataEXT,
    wow64_ext_glGetNamedFramebufferAttachmentParameteriv,
    wow64_ext_glGetNamedFramebufferAttachmentParameterivEXT,
    wow64_ext_glGetNamedFramebufferParameterfvAMD,
    wow64_ext_glGetNamedFramebufferParameteriv,
    wow64_ext_glGetNamedFramebufferParameterivEXT,
    wow64_ext_glGetNamedProgramLocalParameterIivEXT,
    wow64_ext_glGetNamedProgramLocalParameterIuivEXT,
    wow64_ext_glGetNamedProgramLocalParameterdvEXT,
    wow64_ext_glGetNamedProgramLocalParameterfvEXT,
    wow64_ext_glGetNamedProgramStringEXT,
    wow64_ext_glGetNamedProgramivEXT,
    wow64_ext_glGetNamedRenderbufferParameteriv,
    wow64_ext_glGetNamedRenderbufferParameterivEXT,
    wow64_ext_glGetNamedStringARB,
    wow64_ext_glGetNamedStringivARB,
    wow64_ext_glGetNextPerfQueryIdINTEL,
    wow64_ext_glGetObjectBufferfvATI,
    wow64_ext_glGetObjectBufferivATI,
    wow64_ext_glGetObjectLabel,
    wow64_ext_glGetObjectLabelEXT,
    wow64_ext_glGetObjectParameterfvARB,
    wow64_ext_glGetObjectParameterivAPPLE,
    wow64_ext_glGetObjectParameterivARB,
    wow64_ext_glGetObjectPtrLabel,
    wow64_ext_glGetOcclusionQueryivNV,
    wow64_ext_glGetOcclusionQueryuivNV,
    wow64_ext_glGetPathColorGenfvNV,
    wow64_ext_glGetPathColorGenivNV,
    wow64_ext_glGetPathCommandsNV,
    wow64_ext_glGetPathCoordsNV,
    wow64_ext_glGetPathDashArrayNV,
    wow64_ext_glGetPathLengthNV,
    wow64_ext_glGetPathMetricRangeNV,
    wow64_ext_glGetPathMetricsNV,
    wow64_ext_glGetPathParameterfvNV,
    wow64_ext_glGetPathParameterivNV,
    wow64_ext_glGetPathSpacingNV,
    wow64_ext_glGetPathTexGenfvNV,
    wow64_ext_glGetPathTexGenivNV,
    wow64_ext_glGetPerfCounterInfoINTEL,
    wow64_ext_glGetPerfMonitorCounterDataAMD,
    wow64_ext_glGetPerfMonitorCounterInfoAMD,
    wow64_ext_glGetPerfMonitorCounterStringAMD,
    wow64_ext_glGetPerfMonitorCountersAMD,
    wow64_ext_glGetPerfMonitorGroupStringAMD,
    wow64_ext_glGetPerfMonitorGroupsAMD,
    wow64_ext_glGetPerfQueryDataINTEL,
    wow64_ext_glGetPerfQueryIdByNameINTEL,
    wow64_ext_glGetPerfQueryInfoINTEL,
    wow64_ext_glGetPixelMapxv,
    wow64_ext_glGetPixelTexGenParameterfvSGIS,
    wow64_ext_glGetPixelTexGenParameterivSGIS,
    wow64_ext_glGetPixelTransformParameterfvEXT,
    wow64_ext_glGetPixelTransformParameterivEXT,
    wow64_ext_glGetPointerIndexedvEXT,
    wow64_ext_glGetPointeri_vEXT,
    wow64_ext_glGetPointervEXT,
    wow64_ext_glGetProgramBinary,
    wow64_ext_glGetProgramEnvParameterIivNV,
    wow64_ext_glGetProgramEnvParameterIuivNV,
    wow64_ext_glGetProgramEnvParameterdvARB,
    wow64_ext_glGetProgramEnvParameterfvARB,
    wow64_ext_glGetProgramInfoLog,
    wow64_ext_glGetProgramInterfaceiv,
    wow64_ext_glGetProgramLocalParameterIivNV,
    wow64_ext_glGetProgramLocalParameterIuivNV,
    wow64_ext_glGetProgramLocalParameterdvARB,
    wow64_ext_glGetProgramLocalParameterfvARB,
    wow64_ext_glGetProgramNamedParameterdvNV,
    wow64_ext_glGetProgramNamedParameterfvNV,
    wow64_ext_glGetProgramParameterdvNV,
    wow64_ext_glGetProgramParameterfvNV,
    wow64_ext_glGetProgramPipelineInfoLog,
    wow64_ext_glGetProgramPipelineiv,
    wow64_ext_glGetProgramResourceIndex,
    wow64_ext_glGetProgramResourceLocation,
    wow64_ext_glGetProgramResourceLocationIndex,
    wow64_ext_glGetProgramResourceName,
    wow64_ext_glGetProgramResourcefvNV,
    wow64_ext_glGetProgramResourceiv,
    wow64_ext_glGetProgramStageiv,
    wow64_ext_glGetProgramStringARB,
    wow64_ext_glGetProgramStringNV,
    wow64_ext_glGetProgramSubroutineParameteruivNV,
    wow64_ext_glGetProgramiv,
    wow64_ext_glGetProgramivARB,
    wow64_ext_glGetProgramivNV,
    wow64_ext_glGetQueryBufferObjecti64v,
    wow64_ext_glGetQueryBufferObjectiv,
    wow64_ext_glGetQueryBufferObjectui64v,
    wow64_ext_glGetQueryBufferObjectuiv,
    wow64_ext_glGetQueryIndexediv,
    wow64_ext_glGetQueryObjecti64v,
    wow64_ext_glGetQueryObjecti64vEXT,
    wow64_ext_glGetQueryObjectiv,
    wow64_ext_glGetQueryObjectivARB,
    wow64_ext_glGetQueryObjectui64v,
    wow64_ext_glGetQueryObjectui64vEXT,
    wow64_ext_glGetQueryObjectuiv,
    wow64_ext_glGetQueryObjectuivARB,
    wow64_ext_glGetQueryiv,
    wow64_ext_glGetQueryivARB,
    wow64_ext_glGetRenderbufferParameteriv,
    wow64_ext_glGetRenderbufferParameterivEXT,
    wow64_ext_glGetSamplerParameterIiv,
    wow64_ext_glGetSamplerParameterIuiv,
    wow64_ext_glGetSamplerParameterfv,
    wow64_ext_glGetSamplerParameteriv,
    wow64_ext_glGetSemaphoreParameterui64vEXT,
    wow64_ext_glGetSeparableFilter,
    wow64_ext_glGetSeparableFilterEXT,
    wow64_ext_glGetShaderInfoLog,
    wow64_ext_glGetShaderPrecisionFormat,
    wow64_ext_glGetShaderSource,
    wow64_ext_glGetShaderSourceARB,
    wow64_ext_glGetShaderiv,
    wow64_ext_glGetShadingRateImagePaletteNV,
    wow64_ext_glGetShadingRateSampleLocationivNV,
    wow64_ext_glGetSharpenTexFuncSGIS,
    wow64_ext_glGetStageIndexNV,
    wow64_ext_glGetStringi,
    wow64_ext_glGetSubroutineIndex,
    wow64_ext_glGetSubroutineUniformLocation,
    wow64_ext_glGetSynciv,
    wow64_ext_glGetTexBumpParameterfvATI,
    wow64_ext_glGetTexBumpParameterivATI,
    wow64_ext_glGetTexEnvxvOES,
    wow64_ext_glGetTexFilterFuncSGIS,
    wow64_ext_glGetTexGenxvOES,
    wow64_ext_glGetTexLevelParameterxvOES,
    wow64_ext_glGetTexParameterIiv,
    wow64_ext_glGetTexParameterIivEXT,
    wow64_ext_glGetTexParameterIuiv,
    wow64_ext_glGetTexParameterIuivEXT,
    wow64_ext_glGetTexParameterPointervAPPLE,
    wow64_ext_glGetTexParameterxvOES,
    wow64_ext_glGetTextureHandleARB,
    wow64_ext_glGetTextureHandleNV,
    wow64_ext_glGetTextureImage,
    wow64_ext_glGetTextureImageEXT,
    wow64_ext_glGetTextureLevelParameterfv,
    wow64_ext_glGetTextureLevelParameterfvEXT,
    wow64_ext_glGetTextureLevelParameteriv,
    wow64_ext_glGetTextureLevelParameterivEXT,
    wow64_ext_glGetTextureParameterIiv,
    wow64_ext_glGetTextureParameterIivEXT,
    wow64_ext_glGetTextureParameterIuiv,
    wow64_ext_glGetTextureParameterIuivEXT,
    wow64_ext_glGetTextureParameterfv,
    wow64_ext_glGetTextureParameterfvEXT,
    wow64_ext_glGetTextureParameteriv,
    wow64_ext_glGetTextureParameterivEXT,
    wow64_ext_glGetTextureSamplerHandleARB,
    wow64_ext_glGetTextureSamplerHandleNV,
    wow64_ext_glGetTextureSubImage,
    wow64_ext_glGetTrackMatrixivNV,
    wow64_ext_glGetTransformFeedbackVarying,
    wow64_ext_glGetTransformFeedbackVaryingEXT,
    wow64_ext_glGetTransformFeedbackVaryingNV,
    wow64_ext_glGetTransformFeedbacki64_v,
    wow64_ext_glGetTransformFeedbacki_v,
    wow64_ext_glGetTransformFeedbackiv,
    wow64_ext_glGetUniformBlockIndex,
    wow64_ext_glGetUniformBufferSizeEXT,
    wow64_ext_glGetUniformIndices,
    wow64_ext_glGetUniformLocation,
    wow64_ext_glGetUniformLocationARB,
    wow64_ext_glGetUniformOffsetEXT,
    wow64_ext_glGetUniformSubroutineuiv,
    wow64_ext_glGetUniformdv,
    wow64_ext_glGetUniformfv,
    wow64_ext_glGetUniformfvARB,
    wow64_ext_glGetUniformi64vARB,
    wow64_ext_glGetUniformi64vNV,
    wow64_ext_glGetUniformiv,
    wow64_ext_glGetUniformivARB,
    wow64_ext_glGetUniformui64vARB,
    wow64_ext_glGetUniformui64vNV,
    wow64_ext_glGetUniformuiv,
    wow64_ext_glGetUniformuivEXT,
    wow64_ext_glGetUnsignedBytei_vEXT,
    wow64_ext_glGetUnsignedBytevEXT,
    wow64_ext_glGetVariantArrayObjectfvATI,
    wow64_ext_glGetVariantArrayObjectivATI,
    wow64_ext_glGetVariantBooleanvEXT,
    wow64_ext_glGetVariantFloatvEXT,
    wow64_ext_glGetVariantIntegervEXT,
    wow64_ext_glGetVariantPointervEXT,
    wow64_ext_glGetVaryingLocationNV,
    wow64_ext_glGetVertexArrayIndexed64iv,
    wow64_ext_glGetVertexArrayIndexediv,
    wow64_ext_glGetVertexArrayIntegeri_vEXT,
    wow64_ext_glGetVertexArrayIntegervEXT,
    wow64_ext_glGetVertexArrayPointeri_vEXT,
    wow64_ext_glGetVertexArrayPointervEXT,
    wow64_ext_glGetVertexArrayiv,
    wow64_ext_glGetVertexAttribArrayObjectfvATI,
    wow64_ext_glGetVertexAttribArrayObjectivATI,
    wow64_ext_glGetVertexAttribIiv,
    wow64_ext_glGetVertexAttribIivEXT,
    wow64_ext_glGetVertexAttribIuiv,
    wow64_ext_glGetVertexAttribIuivEXT,
    wow64_ext_glGetVertexAttribLdv,
    wow64_ext_glGetVertexAttribLdvEXT,
    wow64_ext_glGetVertexAttribLi64vNV,
    wow64_ext_glGetVertexAttribLui64vARB,
    wow64_ext_glGetVertexAttribLui64vNV,
    wow64_ext_glGetVertexAttribPointerv,
    wow64_ext_glGetVertexAttribPointervARB,
    wow64_ext_glGetVertexAttribPointervNV,
    wow64_ext_glGetVertexAttribdv,
    wow64_ext_glGetVertexAttribdvARB,
    wow64_ext_glGetVertexAttribdvNV,
    wow64_ext_glGetVertexAttribfv,
    wow64_ext_glGetVertexAttribfvARB,
    wow64_ext_glGetVertexAttribfvNV,
    wow64_ext_glGetVertexAttribiv,
    wow64_ext_glGetVertexAttribivARB,
    wow64_ext_glGetVertexAttribivNV,
    wow64_ext_glGetVideoCaptureStreamdvNV,
    wow64_ext_glGetVideoCaptureStreamfvNV,
    wow64_ext_glGetVideoCaptureStreamivNV,
    wow64_ext_glGetVideoCaptureivNV,
    wow64_ext_glGetVideoi64vNV,
    wow64_ext_glGetVideoivNV,
    wow64_ext_glGetVideoui64vNV,
    wow64_ext_glGetVideouivNV,
    wow64_ext_glGetVkProcAddrNV,
    wow64_ext_glGetnColorTable,
    wow64_ext_glGetnColorTableARB,
    wow64_ext_glGetnCompressedTexImage,
    wow64_ext_glGetnCompressedTexImageARB,
    wow64_ext_glGetnConvolutionFilter,
    wow64_ext_glGetnConvolutionFilterARB,
    wow64_ext_glGetnHistogram,
    wow64_ext_glGetnHistogramARB,
    wow64_ext_glGetnMapdv,
    wow64_ext_glGetnMapdvARB,
    wow64_ext_glGetnMapfv,
    wow64_ext_glGetnMapfvARB,
    wow64_ext_glGetnMapiv,
    wow64_ext_glGetnMapivARB,
    wow64_ext_glGetnMinmax,
    wow64_ext_glGetnMinmaxARB,
    wow64_ext_glGetnPixelMapfv,
    wow64_ext_glGetnPixelMapfvARB,
    wow64_ext_glGetnPixelMapuiv,
    wow64_ext_glGetnPixelMapuivARB,
    wow64_ext_glGetnPixelMapusv,
    wow64_ext_glGetnPixelMapusvARB,
    wow64_ext_glGetnPolygonStipple,
    wow64_ext_glGetnPolygonStippleARB,
    wow64_ext_glGetnSeparableFilter,
    wow64_ext_glGetnSeparableFilterARB,
    wow64_ext_glGetnTexImage,
    wow64_ext_glGetnTexImageARB,
    wow64_ext_glGetnUniformdv,
    wow64_ext_glGetnUniformdvARB,
    wow64_ext_glGetnUniformfv,
    wow64_ext_glGetnUniformfvARB,
    wow64_ext_glGetnUniformi64vARB,
    wow64_ext_glGetnUniformiv,
    wow64_ext_glGetnUniformivARB,
    wow64_ext_glGetnUniformui64vARB,
    wow64_ext_glGetnUniformuiv,
    wow64_ext_glGetnUniformuivARB,
    wow64_ext_glGlobalAlphaFactorbSUN,
    wow64_ext_glGlobalAlphaFactordSUN,
    wow64_ext_glGlobalAlphaFactorfSUN,
    wow64_ext_glGlobalAlphaFactoriSUN,
    wow64_ext_glGlobalAlphaFactorsSUN,
    wow64_ext_glGlobalAlphaFactorubSUN,
    wow64_ext_glGlobalAlphaFactoruiSUN,
    wow64_ext_glGlobalAlphaFactorusSUN,
    wow64_ext_glHintPGI,
    wow64_ext_glHistogram,
    wow64_ext_glHistogramEXT,
    wow64_ext_glIglooInterfaceSGIX,
    wow64_ext_glImageTransformParameterfHP,
    wow64_ext_glImageTransformParameterfvHP,
    wow64_ext_glImageTransformParameteriHP,
    wow64_ext_glImageTransformParameterivHP,
    wow64_ext_glImportMemoryFdEXT,
    wow64_ext_glImportMemoryWin32HandleEXT,
    wow64_ext_glImportMemoryWin32NameEXT,
    wow64_ext_glImportSemaphoreFdEXT,
    wow64_ext_glImportSemaphoreWin32HandleEXT,
    wow64_ext_glImportSemaphoreWin32NameEXT,
    wow64_ext_glImportSyncEXT,
    wow64_ext_glIndexFormatNV,
    wow64_ext_glIndexFuncEXT,
    wow64_ext_glIndexMaterialEXT,
    wow64_ext_glIndexPointerEXT,
    wow64_ext_glIndexPointerListIBM,
    wow64_ext_glIndexxOES,
    wow64_ext_glIndexxvOES,
    wow64_ext_glInsertComponentEXT,
    wow64_ext_glInsertEventMarkerEXT,
    wow64_ext_glInstrumentsBufferSGIX,
    wow64_ext_glInterpolatePathsNV,
    wow64_ext_glInvalidateBufferData,
    wow64_ext_glInvalidateBufferSubData,
    wow64_ext_glInvalidateFramebuffer,
    wow64_ext_glInvalidateNamedFramebufferData,
    wow64_ext_glInvalidateNamedFramebufferSubData,
    wow64_ext_glInvalidateSubFramebuffer,
    wow64_ext_glInvalidateTexImage,
    wow64_ext_glInvalidateTexSubImage,
    wow64_ext_glIsAsyncMarkerSGIX,
    wow64_ext_glIsBuffer,
    wow64_ext_glIsBufferARB,
    wow64_ext_glIsBufferResidentNV,
    wow64_ext_glIsCommandListNV,
    wow64_ext_glIsEnabledIndexedEXT,
    wow64_ext_glIsEnabledi,
    wow64_ext_glIsFenceAPPLE,
    wow64_ext_glIsFenceNV,
    wow64_ext_glIsFramebuffer,
    wow64_ext_glIsFramebufferEXT,
    wow64_ext_glIsImageHandleResidentARB,
    wow64_ext_glIsImageHandleResidentNV,
    wow64_ext_glIsMemoryObjectEXT,
    wow64_ext_glIsNameAMD,
    wow64_ext_glIsNamedBufferResidentNV,
    wow64_ext_glIsNamedStringARB,
    wow64_ext_glIsObjectBufferATI,
    wow64_ext_glIsOcclusionQueryNV,
    wow64_ext_glIsPathNV,
    wow64_ext_glIsPointInFillPathNV,
    wow64_ext_glIsPointInStrokePathNV,
    wow64_ext_glIsProgram,
    wow64_ext_glIsProgramARB,
    wow64_ext_glIsProgramNV,
    wow64_ext_glIsProgramPipeline,
    wow64_ext_glIsQuery,
    wow64_ext_glIsQueryARB,
    wow64_ext_glIsRenderbuffer,
    wow64_ext_glIsRenderbufferEXT,
    wow64_ext_glIsSampler,
    wow64_ext_glIsSemaphoreEXT,
    wow64_ext_glIsShader,
    wow64_ext_glIsStateNV,
    wow64_ext_glIsSync,
    wow64_ext_glIsTextureEXT,
    wow64_ext_glIsTextureHandleResidentARB,
    wow64_ext_glIsTextureHandleResidentNV,
    wow64_ext_glIsTransformFeedback,
    wow64_ext_glIsTransformFeedbackNV,
    wow64_ext_glIsVariantEnabledEXT,
    wow64_ext_glIsVertexArray,
    wow64_ext_glIsVertexArrayAPPLE,
    wow64_ext_glIsVertexAttribEnabledAPPLE,
    wow64_ext_glLGPUCopyImageSubDataNVX,
    wow64_ext_glLGPUInterlockNVX,
    wow64_ext_glLGPUNamedBufferSubDataNVX,
    wow64_ext_glLabelObjectEXT,
    wow64_ext_glLightEnviSGIX,
    wow64_ext_glLightModelxOES,
    wow64_ext_glLightModelxvOES,
    wow64_ext_glLightxOES,
    wow64_ext_glLightxvOES,
    wow64_ext_glLineWidthxOES,
    wow64_ext_glLinkProgram,
    wow64_ext_glLinkProgramARB,
    wow64_ext_glListDrawCommandsStatesClientNV,
    wow64_ext_glListParameterfSGIX,
    wow64_ext_glListParameterfvSGIX,
    wow64_ext_glListParameteriSGIX,
    wow64_ext_glListParameterivSGIX,
    wow64_ext_glLoadIdentityDeformationMapSGIX,
    wow64_ext_glLoadMatrixxOES,
    wow64_ext_glLoadProgramNV,
    wow64_ext_glLoadTransposeMatrixd,
    wow64_ext_glLoadTransposeMatrixdARB,
    wow64_ext_glLoadTransposeMatrixf,
    wow64_ext_glLoadTransposeMatrixfARB,
    wow64_ext_glLoadTransposeMatrixxOES,
    wow64_ext_glLockArraysEXT,
    wow64_ext_glMTexCoord2fSGIS,
    wow64_ext_glMTexCoord2fvSGIS,
    wow64_ext_glMakeBufferNonResidentNV,
    wow64_ext_glMakeBufferResidentNV,
    wow64_ext_glMakeImageHandleNonResidentARB,
    wow64_ext_glMakeImageHandleNonResidentNV,
    wow64_ext_glMakeImageHandleResidentARB,
    wow64_ext_glMakeImageHandleResidentNV,
    wow64_ext_glMakeNamedBufferNonResidentNV,
    wow64_ext_glMakeNamedBufferResidentNV,
    wow64_ext_glMakeTextureHandleNonResidentARB,
    wow64_ext_glMakeTextureHandleNonResidentNV,
    wow64_ext_glMakeTextureHandleResidentARB,
    wow64_ext_glMakeTextureHandleResidentNV,
    wow64_ext_glMap1xOES,
    wow64_ext_glMap2xOES,
    wow64_ext_glMapBuffer,
    wow64_ext_glMapBufferARB,
    wow64_ext_glMapBufferRange,
    wow64_ext_glMapControlPointsNV,
    wow64_ext_glMapGrid1xOES,
    wow64_ext_glMapGrid2xOES,
    wow64_ext_glMapNamedBuffer,
    wow64_ext_glMapNamedBufferEXT,
    wow64_ext_glMapNamedBufferRange,
    wow64_ext_glMapNamedBufferRangeEXT,
    wow64_ext_glMapObjectBufferATI,
    wow64_ext_glMapParameterfvNV,
    wow64_ext_glMapParameterivNV,
    wow64_ext_glMapTexture2DINTEL,
    wow64_ext_glMapVertexAttrib1dAPPLE,
    wow64_ext_glMapVertexAttrib1fAPPLE,
    wow64_ext_glMapVertexAttrib2dAPPLE,
    wow64_ext_glMapVertexAttrib2fAPPLE,
    wow64_ext_glMaterialxOES,
    wow64_ext_glMaterialxvOES,
    wow64_ext_glMatrixFrustumEXT,
    wow64_ext_glMatrixIndexPointerARB,
    wow64_ext_glMatrixIndexubvARB,
    wow64_ext_glMatrixIndexuivARB,
    wow64_ext_glMatrixIndexusvARB,
    wow64_ext_glMatrixLoad3x2fNV,
    wow64_ext_glMatrixLoad3x3fNV,
    wow64_ext_glMatrixLoadIdentityEXT,
    wow64_ext_glMatrixLoadTranspose3x3fNV,
    wow64_ext_glMatrixLoadTransposedEXT,
    wow64_ext_glMatrixLoadTransposefEXT,
    wow64_ext_glMatrixLoaddEXT,
    wow64_ext_glMatrixLoadfEXT,
    wow64_ext_glMatrixMult3x2fNV,
    wow64_ext_glMatrixMult3x3fNV,
    wow64_ext_glMatrixMultTranspose3x3fNV,
    wow64_ext_glMatrixMultTransposedEXT,
    wow64_ext_glMatrixMultTransposefEXT,
    wow64_ext_glMatrixMultdEXT,
    wow64_ext_glMatrixMultfEXT,
    wow64_ext_glMatrixOrthoEXT,
    wow64_ext_glMatrixPopEXT,
    wow64_ext_glMatrixPushEXT,
    wow64_ext_glMatrixRotatedEXT,
    wow64_ext_glMatrixRotatefEXT,
    wow64_ext_glMatrixScaledEXT,
    wow64_ext_glMatrixScalefEXT,
    wow64_ext_glMatrixTranslatedEXT,
    wow64_ext_glMatrixTranslatefEXT,
    wow64_ext_glMaxShaderCompilerThreadsARB,
    wow64_ext_glMaxShaderCompilerThreadsKHR,
    wow64_ext_glMemoryBarrier,
    wow64_ext_glMemoryBarrierByRegion,
    wow64_ext_glMemoryBarrierEXT,
    wow64_ext_glMemoryObjectParameterivEXT,
    wow64_ext_glMinSampleShading,
    wow64_ext_glMinSampleShadingARB,
    wow64_ext_glMinmax,
    wow64_ext_glMinmaxEXT,
    wow64_ext_glMultMatrixxOES,
    wow64_ext_glMultTransposeMatrixd,
    wow64_ext_glMultTransposeMatrixdARB,
    wow64_ext_glMultTransposeMatrixf,
    wow64_ext_glMultTransposeMatrixfARB,
    wow64_ext_glMultTransposeMatrixxOES,
    wow64_ext_glMultiDrawArrays,
    wow64_ext_glMultiDrawArraysEXT,
    wow64_ext_glMultiDrawArraysIndirect,
    wow64_ext_glMultiDrawArraysIndirectAMD,
    wow64_ext_glMultiDrawArraysIndirectBindlessCountNV,
    wow64_ext_glMultiDrawArraysIndirectBindlessNV,
    wow64_ext_glMultiDrawArraysIndirectCount,
    wow64_ext_glMultiDrawArraysIndirectCountARB,
    wow64_ext_glMultiDrawElementArrayAPPLE,
    wow64_ext_glMultiDrawElements,
    wow64_ext_glMultiDrawElementsBaseVertex,
    wow64_ext_glMultiDrawElementsEXT,
    wow64_ext_glMultiDrawElementsIndirect,
    wow64_ext_glMultiDrawElementsIndirectAMD,
    wow64_ext_glMultiDrawElementsIndirectBindlessCountNV,
    wow64_ext_glMultiDrawElementsIndirectBindlessNV,
    wow64_ext_glMultiDrawElementsIndirectCount,
    wow64_ext_glMultiDrawElementsIndirectCountARB,
    wow64_ext_glMultiDrawMeshTasksIndirectCountNV,
    wow64_ext_glMultiDrawMeshTasksIndirectNV,
    wow64_ext_glMultiDrawRangeElementArrayAPPLE,
    wow64_ext_glMultiModeDrawArraysIBM,
    wow64_ext_glMultiModeDrawElementsIBM,
    wow64_ext_glMultiTexBufferEXT,
    wow64_ext_glMultiTexCoord1bOES,
    wow64_ext_glMultiTexCoord1bvOES,
    wow64_ext_glMultiTexCoord1d,
    wow64_ext_glMultiTexCoord1dARB,
    wow64_ext_glMultiTexCoord1dSGIS,
    wow64_ext_glMultiTexCoord1dv,
    wow64_ext_glMultiTexCoord1dvARB,
    wow64_ext_glMultiTexCoord1dvSGIS,
    wow64_ext_glMultiTexCoord1f,
    wow64_ext_glMultiTexCoord1fARB,
    wow64_ext_glMultiTexCoord1fSGIS,
    wow64_ext_glMultiTexCoord1fv,
    wow64_ext_glMultiTexCoord1fvARB,
    wow64_ext_glMultiTexCoord1fvSGIS,
    wow64_ext_glMultiTexCoord1hNV,
    wow64_ext_glMultiTexCoord1hvNV,
    wow64_ext_glMultiTexCoord1i,
    wow64_ext_glMultiTexCoord1iARB,
    wow64_ext_glMultiTexCoord1iSGIS,
    wow64_ext_glMultiTexCoord1iv,
    wow64_ext_glMultiTexCoord1ivARB,
    wow64_ext_glMultiTexCoord1ivSGIS,
    wow64_ext_glMultiTexCoord1s,
    wow64_ext_glMultiTexCoord1sARB,
    wow64_ext_glMultiTexCoord1sSGIS,
    wow64_ext_glMultiTexCoord1sv,
    wow64_ext_glMultiTexCoord1svARB,
    wow64_ext_glMultiTexCoord1svSGIS,
    wow64_ext_glMultiTexCoord1xOES,
    wow64_ext_glMultiTexCoord1xvOES,
    wow64_ext_glMultiTexCoord2bOES,
    wow64_ext_glMultiTexCoord2bvOES,
    wow64_ext_glMultiTexCoord2d,
    wow64_ext_glMultiTexCoord2dARB,
    wow64_ext_glMultiTexCoord2dSGIS,
    wow64_ext_glMultiTexCoord2dv,
    wow64_ext_glMultiTexCoord2dvARB,
    wow64_ext_glMultiTexCoord2dvSGIS,
    wow64_ext_glMultiTexCoord2f,
    wow64_ext_glMultiTexCoord2fARB,
    wow64_ext_glMultiTexCoord2fSGIS,
    wow64_ext_glMultiTexCoord2fv,
    wow64_ext_glMultiTexCoord2fvARB,
    wow64_ext_glMultiTexCoord2fvSGIS,
    wow64_ext_glMultiTexCoord2hNV,
    wow64_ext_glMultiTexCoord2hvNV,
    wow64_ext_glMultiTexCoord2i,
    wow64_ext_glMultiTexCoord2iARB,
    wow64_ext_glMultiTexCoord2iSGIS,
    wow64_ext_glMultiTexCoord2iv,
    wow64_ext_glMultiTexCoord2ivARB,
    wow64_ext_glMultiTexCoord2ivSGIS,
    wow64_ext_glMultiTexCoord2s,
    wow64_ext_glMultiTexCoord2sARB,
    wow64_ext_glMultiTexCoord2sSGIS,
    wow64_ext_glMultiTexCoord2sv,
    wow64_ext_glMultiTexCoord2svARB,
    wow64_ext_glMultiTexCoord2svSGIS,
    wow64_ext_glMultiTexCoord2xOES,
    wow64_ext_glMultiTexCoord2xvOES,
    wow64_ext_glMultiTexCoord3bOES,
    wow64_ext_glMultiTexCoord3bvOES,
    wow64_ext_glMultiTexCoord3d,
    wow64_ext_glMultiTexCoord3dARB,
    wow64_ext_glMultiTexCoord3dSGIS,
    wow64_ext_glMultiTexCoord3dv,
    wow64_ext_glMultiTexCoord3dvARB,
    wow64_ext_glMultiTexCoord3dvSGIS,
    wow64_ext_glMultiTexCoord3f,
    wow64_ext_glMultiTexCoord3fARB,
    wow64_ext_glMultiTexCoord3fSGIS,
    wow64_ext_glMultiTexCoord3fv,
    wow64_ext_glMultiTexCoord3fvARB,
    wow64_ext_glMultiTexCoord3fvSGIS,
    wow64_ext_glMultiTexCoord3hNV,
    wow64_ext_glMultiTexCoord3hvNV,
    wow64_ext_glMultiTexCoord3i,
    wow64_ext_glMultiTexCoord3iARB,
    wow64_ext_glMultiTexCoord3iSGIS,
    wow64_ext_glMultiTexCoord3iv,
    wow64_ext_glMultiTexCoord3ivARB,
    wow64_ext_glMultiTexCoord3ivSGIS,
    wow64_ext_glMultiTexCoord3s,
    wow64_ext_glMultiTexCoord3sARB,
    wow64_ext_glMultiTexCoord3sSGIS,
    wow64_ext_glMultiTexCoord3sv,
    wow64_ext_glMultiTexCoord3svARB,
    wow64_ext_glMultiTexCoord3svSGIS,
    wow64_ext_glMultiTexCoord3xOES,
    wow64_ext_glMultiTexCoord3xvOES,
    wow64_ext_glMultiTexCoord4bOES,
    wow64_ext_glMultiTexCoord4bvOES,
    wow64_ext_glMultiTexCoord4d,
    wow64_ext_glMultiTexCoord4dARB,
    wow64_ext_glMultiTexCoord4dSGIS,
    wow64_ext_glMultiTexCoord4dv,
    wow64_ext_glMultiTexCoord4dvARB,
    wow64_ext_glMultiTexCoord4dvSGIS,
    wow64_ext_glMultiTexCoord4f,
    wow64_ext_glMultiTexCoord4fARB,
    wow64_ext_glMultiTexCoord4fSGIS,
    wow64_ext_glMultiTexCoord4fv,
    wow64_ext_glMultiTexCoord4fvARB,
    wow64_ext_glMultiTexCoord4fvSGIS,
    wow64_ext_glMultiTexCoord4hNV,
    wow64_ext_glMultiTexCoord4hvNV,
    wow64_ext_glMultiTexCoord4i,
    wow64_ext_glMultiTexCoord4iARB,
    wow64_ext_glMultiTexCoord4iSGIS,
    wow64_ext_glMultiTexCoord4iv,
    wow64_ext_glMultiTexCoord4ivARB,
    wow64_ext_glMultiTexCoord4ivSGIS,
    wow64_ext_glMultiTexCoord4s,
    wow64_ext_glMultiTexCoord4sARB,
    wow64_ext_glMultiTexCoord4sSGIS,
    wow64_ext_glMultiTexCoord4sv,
    wow64_ext_glMultiTexCoord4svARB,
    wow64_ext_glMultiTexCoord4svSGIS,
    wow64_ext_glMultiTexCoord4xOES,
    wow64_ext_glMultiTexCoord4xvOES,
    wow64_ext_glMultiTexCoordP1ui,
    wow64_ext_glMultiTexCoordP1uiv,
    wow64_ext_glMultiTexCoordP2ui,
    wow64_ext_glMultiTexCoordP2uiv,
    wow64_ext_glMultiTexCoordP3ui,
    wow64_ext_glMultiTexCoordP3uiv,
    wow64_ext_glMultiTexCoordP4ui,
    wow64_ext_glMultiTexCoordP4uiv,
    wow64_ext_glMultiTexCoordPointerEXT,
    wow64_ext_glMultiTexCoordPointerSGIS,
    wow64_ext_glMultiTexEnvfEXT,
    wow64_ext_glMultiTexEnvfvEXT,
    wow64_ext_glMultiTexEnviEXT,
    wow64_ext_glMultiTexEnvivEXT,
    wow64_ext_glMultiTexGendEXT,
    wow64_ext_glMultiTexGendvEXT,
    wow64_ext_glMultiTexGenfEXT,
    wow64_ext_glMultiTexGenfvEXT,
    wow64_ext_glMultiTexGeniEXT,
    wow64_ext_glMultiTexGenivEXT,
    wow64_ext_glMultiTexImage1DEXT,
    wow64_ext_glMultiTexImage2DEXT,
    wow64_ext_glMultiTexImage3DEXT,
    wow64_ext_glMultiTexParameterIivEXT,
    wow64_ext_glMultiTexParameterIuivEXT,
    wow64_ext_glMultiTexParameterfEXT,
    wow64_ext_glMultiTexParameterfvEXT,
    wow64_ext_glMultiTexParameteriEXT,
    wow64_ext_glMultiTexParameterivEXT,
    wow64_ext_glMultiTexRenderbufferEXT,
    wow64_ext_glMultiTexSubImage1DEXT,
    wow64_ext_glMultiTexSubImage2DEXT,
    wow64_ext_glMultiTexSubImage3DEXT,
    wow64_ext_glMulticastBarrierNV,
    wow64_ext_glMulticastBlitFramebufferNV,
    wow64_ext_glMulticastBufferSubDataNV,
    wow64_ext_glMulticastCopyBufferSubDataNV,
    wow64_ext_glMulticastCopyImageSubDataNV,
    wow64_ext_glMulticastFramebufferSampleLocationsfvNV,
    wow64_ext_glMulticastGetQueryObjecti64vNV,
    wow64_ext_glMulticastGetQueryObjectivNV,
    wow64_ext_glMulticastGetQueryObjectui64vNV,
    wow64_ext_glMulticastGetQueryObjectuivNV,
    wow64_ext_glMulticastScissorArrayvNVX,
    wow64_ext_glMulticastViewportArrayvNVX,
    wow64_ext_glMulticastViewportPositionWScaleNVX,
    wow64_ext_glMulticastWaitSyncNV,
    wow64_ext_glNamedBufferAttachMemoryNV,
    wow64_ext_glNamedBufferData,
    wow64_ext_glNamedBufferDataEXT,
    wow64_ext_glNamedBufferPageCommitmentARB,
    wow64_ext_glNamedBufferPageCommitmentEXT,
    wow64_ext_glNamedBufferStorage,
    wow64_ext_glNamedBufferStorageEXT,
    wow64_ext_glNamedBufferStorageExternalEXT,
    wow64_ext_glNamedBufferStorageMemEXT,
    wow64_ext_glNamedBufferSubData,
    wow64_ext_glNamedBufferSubDataEXT,
    wow64_ext_glNamedCopyBufferSubDataEXT,
    wow64_ext_glNamedFramebufferDrawBuffer,
    wow64_ext_glNamedFramebufferDrawBuffers,
    wow64_ext_glNamedFramebufferParameteri,
    wow64_ext_glNamedFramebufferParameteriEXT,
    wow64_ext_glNamedFramebufferReadBuffer,
    wow64_ext_glNamedFramebufferRenderbuffer,
    wow64_ext_glNamedFramebufferRenderbufferEXT,
    wow64_ext_glNamedFramebufferSampleLocationsfvARB,
    wow64_ext_glNamedFramebufferSampleLocationsfvNV,
    wow64_ext_glNamedFramebufferSamplePositionsfvAMD,
    wow64_ext_glNamedFramebufferTexture,
    wow64_ext_glNamedFramebufferTexture1DEXT,
    wow64_ext_glNamedFramebufferTexture2DEXT,
    wow64_ext_glNamedFramebufferTexture3DEXT,
    wow64_ext_glNamedFramebufferTextureEXT,
    wow64_ext_glNamedFramebufferTextureFaceEXT,
    wow64_ext_glNamedFramebufferTextureLayer,
    wow64_ext_glNamedFramebufferTextureLayerEXT,
    wow64_ext_glNamedProgramLocalParameter4dEXT,
    wow64_ext_glNamedProgramLocalParameter4dvEXT,
    wow64_ext_glNamedProgramLocalParameter4fEXT,
    wow64_ext_glNamedProgramLocalParameter4fvEXT,
    wow64_ext_glNamedProgramLocalParameterI4iEXT,
    wow64_ext_glNamedProgramLocalParameterI4ivEXT,
    wow64_ext_glNamedProgramLocalParameterI4uiEXT,
    wow64_ext_glNamedProgramLocalParameterI4uivEXT,
    wow64_ext_glNamedProgramLocalParameters4fvEXT,
    wow64_ext_glNamedProgramLocalParametersI4ivEXT,
    wow64_ext_glNamedProgramLocalParametersI4uivEXT,
    wow64_ext_glNamedProgramStringEXT,
    wow64_ext_glNamedRenderbufferStorage,
    wow64_ext_glNamedRenderbufferStorageEXT,
    wow64_ext_glNamedRenderbufferStorageMultisample,
    wow64_ext_glNamedRenderbufferStorageMultisampleAdvancedAMD,
    wow64_ext_glNamedRenderbufferStorageMultisampleCoverageEXT,
    wow64_ext_glNamedRenderbufferStorageMultisampleEXT,
    wow64_ext_glNamedStringARB,
    wow64_ext_glNewBufferRegion,
    wow64_ext_glNewObjectBufferATI,
    wow64_ext_glNormal3fVertex3fSUN,
    wow64_ext_glNormal3fVertex3fvSUN,
    wow64_ext_glNormal3hNV,
    wow64_ext_glNormal3hvNV,
    wow64_ext_glNormal3xOES,
    wow64_ext_glNormal3xvOES,
    wow64_ext_glNormalFormatNV,
    wow64_ext_glNormalP3ui,
    wow64_ext_glNormalP3uiv,
    wow64_ext_glNormalPointerEXT,
    wow64_ext_glNormalPointerListIBM,
    wow64_ext_glNormalPointervINTEL,
    wow64_ext_glNormalStream3bATI,
    wow64_ext_glNormalStream3bvATI,
    wow64_ext_glNormalStream3dATI,
    wow64_ext_glNormalStream3dvATI,
    wow64_ext_glNormalStream3fATI,
    wow64_ext_glNormalStream3fvATI,
    wow64_ext_glNormalStream3iATI,
    wow64_ext_glNormalStream3ivATI,
    wow64_ext_glNormalStream3sATI,
    wow64_ext_glNormalStream3svATI,
    wow64_ext_glObjectLabel,
    wow64_ext_glObjectPtrLabel,
    wow64_ext_glObjectPurgeableAPPLE,
    wow64_ext_glObjectUnpurgeableAPPLE,
    wow64_ext_glOrthofOES,
    wow64_ext_glOrthoxOES,
    wow64_ext_glPNTrianglesfATI,
    wow64_ext_glPNTrianglesiATI,
    wow64_ext_glPassTexCoordATI,
    wow64_ext_glPassThroughxOES,
    wow64_ext_glPatchParameterfv,
    wow64_ext_glPatchParameteri,
    wow64_ext_glPathColorGenNV,
    wow64_ext_glPathCommandsNV,
    wow64_ext_glPathCoordsNV,
    wow64_ext_glPathCoverDepthFuncNV,
    wow64_ext_glPathDashArrayNV,
    wow64_ext_glPathFogGenNV,
    wow64_ext_glPathGlyphIndexArrayNV,
    wow64_ext_glPathGlyphIndexRangeNV,
    wow64_ext_glPathGlyphRangeNV,
    wow64_ext_glPathGlyphsNV,
    wow64_ext_glPathMemoryGlyphIndexArrayNV,
    wow64_ext_glPathParameterfNV,
    wow64_ext_glPathParameterfvNV,
    wow64_ext_glPathParameteriNV,
    wow64_ext_glPathParameterivNV,
    wow64_ext_glPathStencilDepthOffsetNV,
    wow64_ext_glPathStencilFuncNV,
    wow64_ext_glPathStringNV,
    wow64_ext_glPathSubCommandsNV,
    wow64_ext_glPathSubCoordsNV,
    wow64_ext_glPathTexGenNV,
    wow64_ext_glPauseTransformFeedback,
    wow64_ext_glPauseTransformFeedbackNV,
    wow64_ext_glPixelDataRangeNV,
    wow64_ext_glPixelMapx,
    wow64_ext_glPixelStorex,
    wow64_ext_glPixelTexGenParameterfSGIS,
    wow64_ext_glPixelTexGenParameterfvSGIS,
    wow64_ext_glPixelTexGenParameteriSGIS,
    wow64_ext_glPixelTexGenParameterivSGIS,
    wow64_ext_glPixelTexGenSGIX,
    wow64_ext_glPixelTransferxOES,
    wow64_ext_glPixelTransformParameterfEXT,
    wow64_ext_glPixelTransformParameterfvEXT,
    wow64_ext_glPixelTransformParameteriEXT,
    wow64_ext_glPixelTransformParameterivEXT,
    wow64_ext_glPixelZoomxOES,
    wow64_ext_glPointAlongPathNV,
    wow64_ext_glPointParameterf,
    wow64_ext_glPointParameterfARB,
    wow64_ext_glPointParameterfEXT,
    wow64_ext_glPointParameterfSGIS,
    wow64_ext_glPointParameterfv,
    wow64_ext_glPointParameterfvARB,
    wow64_ext_glPointParameterfvEXT,
    wow64_ext_glPointParameterfvSGIS,
    wow64_ext_glPointParameteri,
    wow64_ext_glPointParameteriNV,
    wow64_ext_glPointParameteriv,
    wow64_ext_glPointParameterivNV,
    wow64_ext_glPointParameterxvOES,
    wow64_ext_glPointSizexOES,
    wow64_ext_glPollAsyncSGIX,
    wow64_ext_glPollInstrumentsSGIX,
    wow64_ext_glPolygonOffsetClamp,
    wow64_ext_glPolygonOffsetClampEXT,
    wow64_ext_glPolygonOffsetEXT,
    wow64_ext_glPolygonOffsetxOES,
    wow64_ext_glPopDebugGroup,
    wow64_ext_glPopGroupMarkerEXT,
    wow64_ext_glPresentFrameDualFillNV,
    wow64_ext_glPresentFrameKeyedNV,
    wow64_ext_glPrimitiveBoundingBoxARB,
    wow64_ext_glPrimitiveRestartIndex,
    wow64_ext_glPrimitiveRestartIndexNV,
    wow64_ext_glPrimitiveRestartNV,
    wow64_ext_glPrioritizeTexturesEXT,
    wow64_ext_glPrioritizeTexturesxOES,
    wow64_ext_glProgramBinary,
    wow64_ext_glProgramBufferParametersIivNV,
    wow64_ext_glProgramBufferParametersIuivNV,
    wow64_ext_glProgramBufferParametersfvNV,
    wow64_ext_glProgramEnvParameter4dARB,
    wow64_ext_glProgramEnvParameter4dvARB,
    wow64_ext_glProgramEnvParameter4fARB,
    wow64_ext_glProgramEnvParameter4fvARB,
    wow64_ext_glProgramEnvParameterI4iNV,
    wow64_ext_glProgramEnvParameterI4ivNV,
    wow64_ext_glProgramEnvParameterI4uiNV,
    wow64_ext_glProgramEnvParameterI4uivNV,
    wow64_ext_glProgramEnvParameters4fvEXT,
    wow64_ext_glProgramEnvParametersI4ivNV,
    wow64_ext_glProgramEnvParametersI4uivNV,
    wow64_ext_glProgramLocalParameter4dARB,
    wow64_ext_glProgramLocalParameter4dvARB,
    wow64_ext_glProgramLocalParameter4fARB,
    wow64_ext_glProgramLocalParameter4fvARB,
    wow64_ext_glProgramLocalParameterI4iNV,
    wow64_ext_glProgramLocalParameterI4ivNV,
    wow64_ext_glProgramLocalParameterI4uiNV,
    wow64_ext_glProgramLocalParameterI4uivNV,
    wow64_ext_glProgramLocalParameters4fvEXT,
    wow64_ext_glProgramLocalParametersI4ivNV,
    wow64_ext_glProgramLocalParametersI4uivNV,
    wow64_ext_glProgramNamedParameter4dNV,
    wow64_ext_glProgramNamedParameter4dvNV,
    wow64_ext_glProgramNamedParameter4fNV,
    wow64_ext_glProgramNamedParameter4fvNV,
    wow64_ext_glProgramParameter4dNV,
    wow64_ext_glProgramParameter4dvNV,
    wow64_ext_glProgramParameter4fNV,
    wow64_ext_glProgramParameter4fvNV,
    wow64_ext_glProgramParameteri,
    wow64_ext_glProgramParameteriARB,
    wow64_ext_glProgramParameteriEXT,
    wow64_ext_glProgramParameters4dvNV,
    wow64_ext_glProgramParameters4fvNV,
    wow64_ext_glProgramPathFragmentInputGenNV,
    wow64_ext_glProgramStringARB,
    wow64_ext_glProgramSubroutineParametersuivNV,
    wow64_ext_glProgramUniform1d,
    wow64_ext_glProgramUniform1dEXT,
    wow64_ext_glProgramUniform1dv,
    wow64_ext_glProgramUniform1dvEXT,
    wow64_ext_glProgramUniform1f,
    wow64_ext_glProgramUniform1fEXT,
    wow64_ext_glProgramUniform1fv,
    wow64_ext_glProgramUniform1fvEXT,
    wow64_ext_glProgramUniform1i,
    wow64_ext_glProgramUniform1i64ARB,
    wow64_ext_glProgramUniform1i64NV,
    wow64_ext_glProgramUniform1i64vARB,
    wow64_ext_glProgramUniform1i64vNV,
    wow64_ext_glProgramUniform1iEXT,
    wow64_ext_glProgramUniform1iv,
    wow64_ext_glProgramUniform1ivEXT,
    wow64_ext_glProgramUniform1ui,
    wow64_ext_glProgramUniform1ui64ARB,
    wow64_ext_glProgramUniform1ui64NV,
    wow64_ext_glProgramUniform1ui64vARB,
    wow64_ext_glProgramUniform1ui64vNV,
    wow64_ext_glProgramUniform1uiEXT,
    wow64_ext_glProgramUniform1uiv,
    wow64_ext_glProgramUniform1uivEXT,
    wow64_ext_glProgramUniform2d,
    wow64_ext_glProgramUniform2dEXT,
    wow64_ext_glProgramUniform2dv,
    wow64_ext_glProgramUniform2dvEXT,
    wow64_ext_glProgramUniform2f,
    wow64_ext_glProgramUniform2fEXT,
    wow64_ext_glProgramUniform2fv,
    wow64_ext_glProgramUniform2fvEXT,
    wow64_ext_glProgramUniform2i,
    wow64_ext_glProgramUniform2i64ARB,
    wow64_ext_glProgramUniform2i64NV,
    wow64_ext_glProgramUniform2i64vARB,
    wow64_ext_glProgramUniform2i64vNV,
    wow64_ext_glProgramUniform2iEXT,
    wow64_ext_glProgramUniform2iv,
    wow64_ext_glProgramUniform2ivEXT,
    wow64_ext_glProgramUniform2ui,
    wow64_ext_glProgramUniform2ui64ARB,
    wow64_ext_glProgramUniform2ui64NV,
    wow64_ext_glProgramUniform2ui64vARB,
    wow64_ext_glProgramUniform2ui64vNV,
    wow64_ext_glProgramUniform2uiEXT,
    wow64_ext_glProgramUniform2uiv,
    wow64_ext_glProgramUniform2uivEXT,
    wow64_ext_glProgramUniform3d,
    wow64_ext_glProgramUniform3dEXT,
    wow64_ext_glProgramUniform3dv,
    wow64_ext_glProgramUniform3dvEXT,
    wow64_ext_glProgramUniform3f,
    wow64_ext_glProgramUniform3fEXT,
    wow64_ext_glProgramUniform3fv,
    wow64_ext_glProgramUniform3fvEXT,
    wow64_ext_glProgramUniform3i,
    wow64_ext_glProgramUniform3i64ARB,
    wow64_ext_glProgramUniform3i64NV,
    wow64_ext_glProgramUniform3i64vARB,
    wow64_ext_glProgramUniform3i64vNV,
    wow64_ext_glProgramUniform3iEXT,
    wow64_ext_glProgramUniform3iv,
    wow64_ext_glProgramUniform3ivEXT,
    wow64_ext_glProgramUniform3ui,
    wow64_ext_glProgramUniform3ui64ARB,
    wow64_ext_glProgramUniform3ui64NV,
    wow64_ext_glProgramUniform3ui64vARB,
    wow64_ext_glProgramUniform3ui64vNV,
    wow64_ext_glProgramUniform3uiEXT,
    wow64_ext_glProgramUniform3uiv,
    wow64_ext_glProgramUniform3uivEXT,
    wow64_ext_glProgramUniform4d,
    wow64_ext_glProgramUniform4dEXT,
    wow64_ext_glProgramUniform4dv,
    wow64_ext_glProgramUniform4dvEXT,
    wow64_ext_glProgramUniform4f,
    wow64_ext_glProgramUniform4fEXT,
    wow64_ext_glProgramUniform4fv,
    wow64_ext_glProgramUniform4fvEXT,
    wow64_ext_glProgramUniform4i,
    wow64_ext_glProgramUniform4i64ARB,
    wow64_ext_glProgramUniform4i64NV,
    wow64_ext_glProgramUniform4i64vARB,
    wow64_ext_glProgramUniform4i64vNV,
    wow64_ext_glProgramUniform4iEXT,
    wow64_ext_glProgramUniform4iv,
    wow64_ext_glProgramUniform4ivEXT,
    wow64_ext_glProgramUniform4ui,
    wow64_ext_glProgramUniform4ui64ARB,
    wow64_ext_glProgramUniform4ui64NV,
    wow64_ext_glProgramUniform4ui64vARB,
    wow64_ext_glProgramUniform4ui64vNV,
    wow64_ext_glProgramUniform4uiEXT,
    wow64_ext_glProgramUniform4uiv,
    wow64_ext_glProgramUniform4uivEXT,
    wow64_ext_glProgramUniformHandleui64ARB,
    wow64_ext_glProgramUniformHandleui64NV,
    wow64_ext_glProgramUniformHandleui64vARB,
    wow64_ext_glProgramUniformHandleui64vNV,
    wow64_ext_glProgramUniformMatrix2dv,
    wow64_ext_glProgramUniformMatrix2dvEXT,
    wow64_ext_glProgramUniformMatrix2fv,
    wow64_ext_glProgramUniformMatrix2fvEXT,
    wow64_ext_glProgramUniformMatrix2x3dv,
    wow64_ext_glProgramUniformMatrix2x3dvEXT,
    wow64_ext_glProgramUniformMatrix2x3fv,
    wow64_ext_glProgramUniformMatrix2x3fvEXT,
    wow64_ext_glProgramUniformMatrix2x4dv,
    wow64_ext_glProgramUniformMatrix2x4dvEXT,
    wow64_ext_glProgramUniformMatrix2x4fv,
    wow64_ext_glProgramUniformMatrix2x4fvEXT,
    wow64_ext_glProgramUniformMatrix3dv,
    wow64_ext_glProgramUniformMatrix3dvEXT,
    wow64_ext_glProgramUniformMatrix3fv,
    wow64_ext_glProgramUniformMatrix3fvEXT,
    wow64_ext_glProgramUniformMatrix3x2dv,
    wow64_ext_glProgramUniformMatrix3x2dvEXT,
    wow64_ext_glProgramUniformMatrix3x2fv,
    wow64_ext_glProgramUniformMatrix3x2fvEXT,
    wow64_ext_glProgramUniformMatrix3x4dv,
    wow64_ext_glProgramUniformMatrix3x4dvEXT,
    wow64_ext_glProgramUniformMatrix3x4fv,
    wow64_ext_glProgramUniformMatrix3x4fvEXT,
    wow64_ext_glProgramUniformMatrix4dv,
    wow64_ext_glProgramUniformMatrix4dvEXT,
    wow64_ext_glProgramUniformMatrix4fv,
    wow64_ext_glProgramUniformMatrix4fvEXT,
    wow64_ext_glProgramUniformMatrix4x2dv,
    wow64_ext_glProgramUniformMatrix4x2dvEXT,
    wow64_ext_glProgramUniformMatrix4x2fv,
    wow64_ext_glProgramUniformMatrix4x2fvEXT,
    wow64_ext_glProgramUniformMatrix4x3dv,
    wow64_ext_glProgramUniformMatrix4x3dvEXT,
    wow64_ext_glProgramUniformMatrix4x3fv,
    wow64_ext_glProgramUniformMatrix4x3fvEXT,
    wow64_ext_glProgramUniformui64NV,
    wow64_ext_glProgramUniformui64vNV,
    wow64_ext_glProgramVertexLimitNV,
    wow64_ext_glProvokingVertex,
    wow64_ext_glProvokingVertexEXT,
    wow64_ext_glPushClientAttribDefaultEXT,
    wow64_ext_glPushDebugGroup,
    wow64_ext_glPushGroupMarkerEXT,
    wow64_ext_glQueryCounter,
    wow64_ext_glQueryMatrixxOES,
    wow64_ext_glQueryObjectParameteruiAMD,
    wow64_ext_glQueryResourceNV,
    wow64_ext_glQueryResourceTagNV,
    wow64_ext_glRasterPos2xOES,
    wow64_ext_glRasterPos2xvOES,
    wow64_ext_glRasterPos3xOES,
    wow64_ext_glRasterPos3xvOES,
    wow64_ext_glRasterPos4xOES,
    wow64_ext_glRasterPos4xvOES,
    wow64_ext_glRasterSamplesEXT,
    wow64_ext_glReadBufferRegion,
    wow64_ext_glReadInstrumentsSGIX,
    wow64_ext_glReadnPixels,
    wow64_ext_glReadnPixelsARB,
    wow64_ext_glRectxOES,
    wow64_ext_glRectxvOES,
    wow64_ext_glReferencePlaneSGIX,
    wow64_ext_glReleaseKeyedMutexWin32EXT,
    wow64_ext_glReleaseShaderCompiler,
    wow64_ext_glRenderGpuMaskNV,
    wow64_ext_glRenderbufferStorage,
    wow64_ext_glRenderbufferStorageEXT,
    wow64_ext_glRenderbufferStorageMultisample,
    wow64_ext_glRenderbufferStorageMultisampleAdvancedAMD,
    wow64_ext_glRenderbufferStorageMultisampleCoverageNV,
    wow64_ext_glRenderbufferStorageMultisampleEXT,
    wow64_ext_glReplacementCodePointerSUN,
    wow64_ext_glReplacementCodeubSUN,
    wow64_ext_glReplacementCodeubvSUN,
    wow64_ext_glReplacementCodeuiColor3fVertex3fSUN,
    wow64_ext_glReplacementCodeuiColor3fVertex3fvSUN,
    wow64_ext_glReplacementCodeuiColor4fNormal3fVertex3fSUN,
    wow64_ext_glReplacementCodeuiColor4fNormal3fVertex3fvSUN,
    wow64_ext_glReplacementCodeuiColor4ubVertex3fSUN,
    wow64_ext_glReplacementCodeuiColor4ubVertex3fvSUN,
    wow64_ext_glReplacementCodeuiNormal3fVertex3fSUN,
    wow64_ext_glReplacementCodeuiNormal3fVertex3fvSUN,
    wow64_ext_glReplacementCodeuiSUN,
    wow64_ext_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN,
    wow64_ext_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN,
    wow64_ext_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN,
    wow64_ext_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN,
    wow64_ext_glReplacementCodeuiTexCoord2fVertex3fSUN,
    wow64_ext_glReplacementCodeuiTexCoord2fVertex3fvSUN,
    wow64_ext_glReplacementCodeuiVertex3fSUN,
    wow64_ext_glReplacementCodeuiVertex3fvSUN,
    wow64_ext_glReplacementCodeuivSUN,
    wow64_ext_glReplacementCodeusSUN,
    wow64_ext_glReplacementCodeusvSUN,
    wow64_ext_glRequestResidentProgramsNV,
    wow64_ext_glResetHistogram,
    wow64_ext_glResetHistogramEXT,
    wow64_ext_glResetMemoryObjectParameterNV,
    wow64_ext_glResetMinmax,
    wow64_ext_glResetMinmaxEXT,
    wow64_ext_glResizeBuffersMESA,
    wow64_ext_glResolveDepthValuesNV,
    wow64_ext_glResumeTransformFeedback,
    wow64_ext_glResumeTransformFeedbackNV,
    wow64_ext_glRotatexOES,
    wow64_ext_glSampleCoverage,
    wow64_ext_glSampleCoverageARB,
    wow64_ext_glSampleMapATI,
    wow64_ext_glSampleMaskEXT,
    wow64_ext_glSampleMaskIndexedNV,
    wow64_ext_glSampleMaskSGIS,
    wow64_ext_glSampleMaski,
    wow64_ext_glSamplePatternEXT,
    wow64_ext_glSamplePatternSGIS,
    wow64_ext_glSamplerParameterIiv,
    wow64_ext_glSamplerParameterIuiv,
    wow64_ext_glSamplerParameterf,
    wow64_ext_glSamplerParameterfv,
    wow64_ext_glSamplerParameteri,
    wow64_ext_glSamplerParameteriv,
    wow64_ext_glScalexOES,
    wow64_ext_glScissorArrayv,
    wow64_ext_glScissorExclusiveArrayvNV,
    wow64_ext_glScissorExclusiveNV,
    wow64_ext_glScissorIndexed,
    wow64_ext_glScissorIndexedv,
    wow64_ext_glSecondaryColor3b,
    wow64_ext_glSecondaryColor3bEXT,
    wow64_ext_glSecondaryColor3bv,
    wow64_ext_glSecondaryColor3bvEXT,
    wow64_ext_glSecondaryColor3d,
    wow64_ext_glSecondaryColor3dEXT,
    wow64_ext_glSecondaryColor3dv,
    wow64_ext_glSecondaryColor3dvEXT,
    wow64_ext_glSecondaryColor3f,
    wow64_ext_glSecondaryColor3fEXT,
    wow64_ext_glSecondaryColor3fv,
    wow64_ext_glSecondaryColor3fvEXT,
    wow64_ext_glSecondaryColor3hNV,
    wow64_ext_glSecondaryColor3hvNV,
    wow64_ext_glSecondaryColor3i,
    wow64_ext_glSecondaryColor3iEXT,
    wow64_ext_glSecondaryColor3iv,
    wow64_ext_glSecondaryColor3ivEXT,
    wow64_ext_glSecondaryColor3s,
    wow64_ext_glSecondaryColor3sEXT,
    wow64_ext_glSecondaryColor3sv,
    wow64_ext_glSecondaryColor3svEXT,
    wow64_ext_glSecondaryColor3ub,
    wow64_ext_glSecondaryColor3ubEXT,
    wow64_ext_glSecondaryColor3ubv,
    wow64_ext_glSecondaryColor3ubvEXT,
    wow64_ext_glSecondaryColor3ui,
    wow64_ext_glSecondaryColor3uiEXT,
    wow64_ext_glSecondaryColor3uiv,
    wow64_ext_glSecondaryColor3uivEXT,
    wow64_ext_glSecondaryColor3us,
    wow64_ext_glSecondaryColor3usEXT,
    wow64_ext_glSecondaryColor3usv,
    wow64_ext_glSecondaryColor3usvEXT,
    wow64_ext_glSecondaryColorFormatNV,
    wow64_ext_glSecondaryColorP3ui,
    wow64_ext_glSecondaryColorP3uiv,
    wow64_ext_glSecondaryColorPointer,
    wow64_ext_glSecondaryColorPointerEXT,
    wow64_ext_glSecondaryColorPointerListIBM,
    wow64_ext_glSelectPerfMonitorCountersAMD,
    wow64_ext_glSelectTextureCoordSetSGIS,
    wow64_ext_glSelectTextureSGIS,
    wow64_ext_glSemaphoreParameterui64vEXT,
    wow64_ext_glSeparableFilter2D,
    wow64_ext_glSeparableFilter2DEXT,
    wow64_ext_glSetFenceAPPLE,
    wow64_ext_glSetFenceNV,
    wow64_ext_glSetFragmentShaderConstantATI,
    wow64_ext_glSetInvariantEXT,
    wow64_ext_glSetLocalConstantEXT,
    wow64_ext_glSetMultisamplefvAMD,
    wow64_ext_glShaderBinary,
    wow64_ext_glShaderOp1EXT,
    wow64_ext_glShaderOp2EXT,
    wow64_ext_glShaderOp3EXT,
    wow64_ext_glShaderSource,
    wow64_ext_glShaderSourceARB,
    wow64_ext_glShaderStorageBlockBinding,
    wow64_ext_glShadingRateImageBarrierNV,
    wow64_ext_glShadingRateImagePaletteNV,
    wow64_ext_glShadingRateSampleOrderCustomNV,
    wow64_ext_glShadingRateSampleOrderNV,
    wow64_ext_glSharpenTexFuncSGIS,
    wow64_ext_glSignalSemaphoreEXT,
    wow64_ext_glSignalSemaphoreui64NVX,
    wow64_ext_glSignalVkFenceNV,
    wow64_ext_glSignalVkSemaphoreNV,
    wow64_ext_glSpecializeShader,
    wow64_ext_glSpecializeShaderARB,
    wow64_ext_glSpriteParameterfSGIX,
    wow64_ext_glSpriteParameterfvSGIX,
    wow64_ext_glSpriteParameteriSGIX,
    wow64_ext_glSpriteParameterivSGIX,
    wow64_ext_glStartInstrumentsSGIX,
    wow64_ext_glStateCaptureNV,
    wow64_ext_glStencilClearTagEXT,
    wow64_ext_glStencilFillPathInstancedNV,
    wow64_ext_glStencilFillPathNV,
    wow64_ext_glStencilFuncSeparate,
    wow64_ext_glStencilFuncSeparateATI,
    wow64_ext_glStencilMaskSeparate,
    wow64_ext_glStencilOpSeparate,
    wow64_ext_glStencilOpSeparateATI,
    wow64_ext_glStencilOpValueAMD,
    wow64_ext_glStencilStrokePathInstancedNV,
    wow64_ext_glStencilStrokePathNV,
    wow64_ext_glStencilThenCoverFillPathInstancedNV,
    wow64_ext_glStencilThenCoverFillPathNV,
    wow64_ext_glStencilThenCoverStrokePathInstancedNV,
    wow64_ext_glStencilThenCoverStrokePathNV,
    wow64_ext_glStopInstrumentsSGIX,
    wow64_ext_glStringMarkerGREMEDY,
    wow64_ext_glSubpixelPrecisionBiasNV,
    wow64_ext_glSwizzleEXT,
    wow64_ext_glSyncTextureINTEL,
    wow64_ext_glTagSampleBufferSGIX,
    wow64_ext_glTangent3bEXT,
    wow64_ext_glTangent3bvEXT,
    wow64_ext_glTangent3dEXT,
    wow64_ext_glTangent3dvEXT,
    wow64_ext_glTangent3fEXT,
    wow64_ext_glTangent3fvEXT,
    wow64_ext_glTangent3iEXT,
    wow64_ext_glTangent3ivEXT,
    wow64_ext_glTangent3sEXT,
    wow64_ext_glTangent3svEXT,
    wow64_ext_glTangentPointerEXT,
    wow64_ext_glTbufferMask3DFX,
    wow64_ext_glTessellationFactorAMD,
    wow64_ext_glTessellationModeAMD,
    wow64_ext_glTestFenceAPPLE,
    wow64_ext_glTestFenceNV,
    wow64_ext_glTestObjectAPPLE,
    wow64_ext_glTexAttachMemoryNV,
    wow64_ext_glTexBuffer,
    wow64_ext_glTexBufferARB,
    wow64_ext_glTexBufferEXT,
    wow64_ext_glTexBufferRange,
    wow64_ext_glTexBumpParameterfvATI,
    wow64_ext_glTexBumpParameterivATI,
    wow64_ext_glTexCoord1bOES,
    wow64_ext_glTexCoord1bvOES,
    wow64_ext_glTexCoord1hNV,
    wow64_ext_glTexCoord1hvNV,
    wow64_ext_glTexCoord1xOES,
    wow64_ext_glTexCoord1xvOES,
    wow64_ext_glTexCoord2bOES,
    wow64_ext_glTexCoord2bvOES,
    wow64_ext_glTexCoord2fColor3fVertex3fSUN,
    wow64_ext_glTexCoord2fColor3fVertex3fvSUN,
    wow64_ext_glTexCoord2fColor4fNormal3fVertex3fSUN,
    wow64_ext_glTexCoord2fColor4fNormal3fVertex3fvSUN,
    wow64_ext_glTexCoord2fColor4ubVertex3fSUN,
    wow64_ext_glTexCoord2fColor4ubVertex3fvSUN,
    wow64_ext_glTexCoord2fNormal3fVertex3fSUN,
    wow64_ext_glTexCoord2fNormal3fVertex3fvSUN,
    wow64_ext_glTexCoord2fVertex3fSUN,
    wow64_ext_glTexCoord2fVertex3fvSUN,
    wow64_ext_glTexCoord2hNV,
    wow64_ext_glTexCoord2hvNV,
    wow64_ext_glTexCoord2xOES,
    wow64_ext_glTexCoord2xvOES,
    wow64_ext_glTexCoord3bOES,
    wow64_ext_glTexCoord3bvOES,
    wow64_ext_glTexCoord3hNV,
    wow64_ext_glTexCoord3hvNV,
    wow64_ext_glTexCoord3xOES,
    wow64_ext_glTexCoord3xvOES,
    wow64_ext_glTexCoord4bOES,
    wow64_ext_glTexCoord4bvOES,
    wow64_ext_glTexCoord4fColor4fNormal3fVertex4fSUN,
    wow64_ext_glTexCoord4fColor4fNormal3fVertex4fvSUN,
    wow64_ext_glTexCoord4fVertex4fSUN,
    wow64_ext_glTexCoord4fVertex4fvSUN,
    wow64_ext_glTexCoord4hNV,
    wow64_ext_glTexCoord4hvNV,
    wow64_ext_glTexCoord4xOES,
    wow64_ext_glTexCoord4xvOES,
    wow64_ext_glTexCoordFormatNV,
    wow64_ext_glTexCoordP1ui,
    wow64_ext_glTexCoordP1uiv,
    wow64_ext_glTexCoordP2ui,
    wow64_ext_glTexCoordP2uiv,
    wow64_ext_glTexCoordP3ui,
    wow64_ext_glTexCoordP3uiv,
    wow64_ext_glTexCoordP4ui,
    wow64_ext_glTexCoordP4uiv,
    wow64_ext_glTexCoordPointerEXT,
    wow64_ext_glTexCoordPointerListIBM,
    wow64_ext_glTexCoordPointervINTEL,
    wow64_ext_glTexEnvxOES,
    wow64_ext_glTexEnvxvOES,
    wow64_ext_glTexFilterFuncSGIS,
    wow64_ext_glTexGenxOES,
    wow64_ext_glTexGenxvOES,
    wow64_ext_glTexImage2DMultisample,
    wow64_ext_glTexImage2DMultisampleCoverageNV,
    wow64_ext_glTexImage3D,
    wow64_ext_glTexImage3DEXT,
    wow64_ext_glTexImage3DMultisample,
    wow64_ext_glTexImage3DMultisampleCoverageNV,
    wow64_ext_glTexImage4DSGIS,
    wow64_ext_glTexPageCommitmentARB,
    wow64_ext_glTexParameterIiv,
    wow64_ext_glTexParameterIivEXT,
    wow64_ext_glTexParameterIuiv,
    wow64_ext_glTexParameterIuivEXT,
    wow64_ext_glTexParameterxOES,
    wow64_ext_glTexParameterxvOES,
    wow64_ext_glTexRenderbufferNV,
    wow64_ext_glTexStorage1D,
    wow64_ext_glTexStorage2D,
    wow64_ext_glTexStorage2DMultisample,
    wow64_ext_glTexStorage3D,
    wow64_ext_glTexStorage3DMultisample,
    wow64_ext_glTexStorageMem1DEXT,
    wow64_ext_glTexStorageMem2DEXT,
    wow64_ext_glTexStorageMem2DMultisampleEXT,
    wow64_ext_glTexStorageMem3DEXT,
    wow64_ext_glTexStorageMem3DMultisampleEXT,
    wow64_ext_glTexStorageSparseAMD,
    wow64_ext_glTexSubImage1DEXT,
    wow64_ext_glTexSubImage2DEXT,
    wow64_ext_glTexSubImage3D,
    wow64_ext_glTexSubImage3DEXT,
    wow64_ext_glTexSubImage4DSGIS,
    wow64_ext_glTextureAttachMemoryNV,
    wow64_ext_glTextureBarrier,
    wow64_ext_glTextureBarrierNV,
    wow64_ext_glTextureBuffer,
    wow64_ext_glTextureBufferEXT,
    wow64_ext_glTextureBufferRange,
    wow64_ext_glTextureBufferRangeEXT,
    wow64_ext_glTextureColorMaskSGIS,
    wow64_ext_glTextureImage1DEXT,
    wow64_ext_glTextureImage2DEXT,
    wow64_ext_glTextureImage2DMultisampleCoverageNV,
    wow64_ext_glTextureImage2DMultisampleNV,
    wow64_ext_glTextureImage3DEXT,
    wow64_ext_glTextureImage3DMultisampleCoverageNV,
    wow64_ext_glTextureImage3DMultisampleNV,
    wow64_ext_glTextureLightEXT,
    wow64_ext_glTextureMaterialEXT,
    wow64_ext_glTextureNormalEXT,
    wow64_ext_glTexturePageCommitmentEXT,
    wow64_ext_glTextureParameterIiv,
    wow64_ext_glTextureParameterIivEXT,
    wow64_ext_glTextureParameterIuiv,
    wow64_ext_glTextureParameterIuivEXT,
    wow64_ext_glTextureParameterf,
    wow64_ext_glTextureParameterfEXT,
    wow64_ext_glTextureParameterfv,
    wow64_ext_glTextureParameterfvEXT,
    wow64_ext_glTextureParameteri,
    wow64_ext_glTextureParameteriEXT,
    wow64_ext_glTextureParameteriv,
    wow64_ext_glTextureParameterivEXT,
    wow64_ext_glTextureRangeAPPLE,
    wow64_ext_glTextureRenderbufferEXT,
    wow64_ext_glTextureStorage1D,
    wow64_ext_glTextureStorage1DEXT,
    wow64_ext_glTextureStorage2D,
    wow64_ext_glTextureStorage2DEXT,
    wow64_ext_glTextureStorage2DMultisample,
    wow64_ext_glTextureStorage2DMultisampleEXT,
    wow64_ext_glTextureStorage3D,
    wow64_ext_glTextureStorage3DEXT,
    wow64_ext_glTextureStorage3DMultisample,
    wow64_ext_glTextureStorage3DMultisampleEXT,
    wow64_ext_glTextureStorageMem1DEXT,
    wow64_ext_glTextureStorageMem2DEXT,
    wow64_ext_glTextureStorageMem2DMultisampleEXT,
    wow64_ext_glTextureStorageMem3DEXT,
    wow64_ext_glTextureStorageMem3DMultisampleEXT,
    wow64_ext_glTextureStorageSparseAMD,
    wow64_ext_glTextureSubImage1D,
    wow64_ext_glTextureSubImage1DEXT,
    wow64_ext_glTextureSubImage2D,
    wow64_ext_glTextureSubImage2DEXT,
    wow64_ext_glTextureSubImage3D,
    wow64_ext_glTextureSubImage3DEXT,
    wow64_ext_glTextureView,
    wow64_ext_glTrackMatrixNV,
    wow64_ext_glTransformFeedbackAttribsNV,
    wow64_ext_glTransformFeedbackBufferBase,
    wow64_ext_glTransformFeedbackBufferRange,
    wow64_ext_glTransformFeedbackStreamAttribsNV,
    wow64_ext_glTransformFeedbackVaryings,
    wow64_ext_glTransformFeedbackVaryingsEXT,
    wow64_ext_glTransformFeedbackVaryingsNV,
    wow64_ext_glTransformPathNV,
    wow64_ext_glTranslatexOES,
    wow64_ext_glUniform1d,
    wow64_ext_glUniform1dv,
    wow64_ext_glUniform1f,
    wow64_ext_glUniform1fARB,
    wow64_ext_glUniform1fv,
    wow64_ext_glUniform1fvARB,
    wow64_ext_glUniform1i,
    wow64_ext_glUniform1i64ARB,
    wow64_ext_glUniform1i64NV,
    wow64_ext_glUniform1i64vARB,
    wow64_ext_glUniform1i64vNV,
    wow64_ext_glUniform1iARB,
    wow64_ext_glUniform1iv,
    wow64_ext_glUniform1ivARB,
    wow64_ext_glUniform1ui,
    wow64_ext_glUniform1ui64ARB,
    wow64_ext_glUniform1ui64NV,
    wow64_ext_glUniform1ui64vARB,
    wow64_ext_glUniform1ui64vNV,
    wow64_ext_glUniform1uiEXT,
    wow64_ext_glUniform1uiv,
    wow64_ext_glUniform1uivEXT,
    wow64_ext_glUniform2d,
    wow64_ext_glUniform2dv,
    wow64_ext_glUniform2f,
    wow64_ext_glUniform2fARB,
    wow64_ext_glUniform2fv,
    wow64_ext_glUniform2fvARB,
    wow64_ext_glUniform2i,
    wow64_ext_glUniform2i64ARB,
    wow64_ext_glUniform2i64NV,
    wow64_ext_glUniform2i64vARB,
    wow64_ext_glUniform2i64vNV,
    wow64_ext_glUniform2iARB,
    wow64_ext_glUniform2iv,
    wow64_ext_glUniform2ivARB,
    wow64_ext_glUniform2ui,
    wow64_ext_glUniform2ui64ARB,
    wow64_ext_glUniform2ui64NV,
    wow64_ext_glUniform2ui64vARB,
    wow64_ext_glUniform2ui64vNV,
    wow64_ext_glUniform2uiEXT,
    wow64_ext_glUniform2uiv,
    wow64_ext_glUniform2uivEXT,
    wow64_ext_glUniform3d,
    wow64_ext_glUniform3dv,
    wow64_ext_glUniform3f,
    wow64_ext_glUniform3fARB,
    wow64_ext_glUniform3fv,
    wow64_ext_glUniform3fvARB,
    wow64_ext_glUniform3i,
    wow64_ext_glUniform3i64ARB,
    wow64_ext_glUniform3i64NV,
    wow64_ext_glUniform3i64vARB,
    wow64_ext_glUniform3i64vNV,
    wow64_ext_glUniform3iARB,
    wow64_ext_glUniform3iv,
    wow64_ext_glUniform3ivARB,
    wow64_ext_glUniform3ui,
    wow64_ext_glUniform3ui64ARB,
    wow64_ext_glUniform3ui64NV,
    wow64_ext_glUniform3ui64vARB,
    wow64_ext_glUniform3ui64vNV,
    wow64_ext_glUniform3uiEXT,
    wow64_ext_glUniform3uiv,
    wow64_ext_glUniform3uivEXT,
    wow64_ext_glUniform4d,
    wow64_ext_glUniform4dv,
    wow64_ext_glUniform4f,
    wow64_ext_glUniform4fARB,
    wow64_ext_glUniform4fv,
    wow64_ext_glUniform4fvARB,
    wow64_ext_glUniform4i,
    wow64_ext_glUniform4i64ARB,
    wow64_ext_glUniform4i64NV,
    wow64_ext_glUniform4i64vARB,
    wow64_ext_glUniform4i64vNV,
    wow64_ext_glUniform4iARB,
    wow64_ext_glUniform4iv,
    wow64_ext_glUniform4ivARB,
    wow64_ext_glUniform4ui,
    wow64_ext_glUniform4ui64ARB,
    wow64_ext_glUniform4ui64NV,
    wow64_ext_glUniform4ui64vARB,
    wow64_ext_glUniform4ui64vNV,
    wow64_ext_glUniform4uiEXT,
    wow64_ext_glUniform4uiv,
    wow64_ext_glUniform4uivEXT,
    wow64_ext_glUniformBlockBinding,
    wow64_ext_glUniformBufferEXT,
    wow64_ext_glUniformHandleui64ARB,
    wow64_ext_glUniformHandleui64NV,
    wow64_ext_glUniformHandleui64vARB,
    wow64_ext_glUniformHandleui64vNV,
    wow64_ext_glUniformMatrix2dv,
    wow64_ext_glUniformMatrix2fv,
    wow64_ext_glUniformMatrix2fvARB,
    wow64_ext_glUniformMatrix2x3dv,
    wow64_ext_glUniformMatrix2x3fv,
    wow64_ext_glUniformMatrix2x4dv,
    wow64_ext_glUniformMatrix2x4fv,
    wow64_ext_glUniformMatrix3dv,
    wow64_ext_glUniformMatrix3fv,
    wow64_ext_glUniformMatrix3fvARB,
    wow64_ext_glUniformMatrix3x2dv,
    wow64_ext_glUniformMatrix3x2fv,
    wow64_ext_glUniformMatrix3x4dv,
    wow64_ext_glUniformMatrix3x4fv,
    wow64_ext_glUniformMatrix4dv,
    wow64_ext_glUniformMatrix4fv,
    wow64_ext_glUniformMatrix4fvARB,
    wow64_ext_glUniformMatrix4x2dv,
    wow64_ext_glUniformMatrix4x2fv,
    wow64_ext_glUniformMatrix4x3dv,
    wow64_ext_glUniformMatrix4x3fv,
    wow64_ext_glUniformSubroutinesuiv,
    wow64_ext_glUniformui64NV,
    wow64_ext_glUniformui64vNV,
    wow64_ext_glUnlockArraysEXT,
    wow64_ext_glUnmapBuffer,
    wow64_ext_glUnmapBufferARB,
    wow64_ext_glUnmapNamedBuffer,
    wow64_ext_glUnmapNamedBufferEXT,
    wow64_ext_glUnmapObjectBufferATI,
    wow64_ext_glUnmapTexture2DINTEL,
    wow64_ext_glUpdateObjectBufferATI,
    wow64_ext_glUploadGpuMaskNVX,
    wow64_ext_glUseProgram,
    wow64_ext_glUseProgramObjectARB,
    wow64_ext_glUseProgramStages,
    wow64_ext_glUseShaderProgramEXT,
    wow64_ext_glVDPAUFiniNV,
    wow64_ext_glVDPAUGetSurfaceivNV,
    wow64_ext_glVDPAUInitNV,
    wow64_ext_glVDPAUIsSurfaceNV,
    wow64_ext_glVDPAUMapSurfacesNV,
    wow64_ext_glVDPAURegisterOutputSurfaceNV,
    wow64_ext_glVDPAURegisterVideoSurfaceNV,
    wow64_ext_glVDPAURegisterVideoSurfaceWithPictureStructureNV,
    wow64_ext_glVDPAUSurfaceAccessNV,
    wow64_ext_glVDPAUUnmapSurfacesNV,
    wow64_ext_glVDPAUUnregisterSurfaceNV,
    wow64_ext_glValidateProgram,
    wow64_ext_glValidateProgramARB,
    wow64_ext_glValidateProgramPipeline,
    wow64_ext_glVariantArrayObjectATI,
    wow64_ext_glVariantPointerEXT,
    wow64_ext_glVariantbvEXT,
    wow64_ext_glVariantdvEXT,
    wow64_ext_glVariantfvEXT,
    wow64_ext_glVariantivEXT,
    wow64_ext_glVariantsvEXT,
    wow64_ext_glVariantubvEXT,
    wow64_ext_glVariantuivEXT,
    wow64_ext_glVariantusvEXT,
    wow64_ext_glVertex2bOES,
    wow64_ext_glVertex2bvOES,
    wow64_ext_glVertex2hNV,
    wow64_ext_glVertex2hvNV,
    wow64_ext_glVertex2xOES,
    wow64_ext_glVertex2xvOES,
    wow64_ext_glVertex3bOES,
    wow64_ext_glVertex3bvOES,
    wow64_ext_glVertex3hNV,
    wow64_ext_glVertex3hvNV,
    wow64_ext_glVertex3xOES,
    wow64_ext_glVertex3xvOES,
    wow64_ext_glVertex4bOES,
    wow64_ext_glVertex4bvOES,
    wow64_ext_glVertex4hNV,
    wow64_ext_glVertex4hvNV,
    wow64_ext_glVertex4xOES,
    wow64_ext_glVertex4xvOES,
    wow64_ext_glVertexArrayAttribBinding,
    wow64_ext_glVertexArrayAttribFormat,
    wow64_ext_glVertexArrayAttribIFormat,
    wow64_ext_glVertexArrayAttribLFormat,
    wow64_ext_glVertexArrayBindVertexBufferEXT,
    wow64_ext_glVertexArrayBindingDivisor,
    wow64_ext_glVertexArrayColorOffsetEXT,
    wow64_ext_glVertexArrayEdgeFlagOffsetEXT,
    wow64_ext_glVertexArrayElementBuffer,
    wow64_ext_glVertexArrayFogCoordOffsetEXT,
    wow64_ext_glVertexArrayIndexOffsetEXT,
    wow64_ext_glVertexArrayMultiTexCoordOffsetEXT,
    wow64_ext_glVertexArrayNormalOffsetEXT,
    wow64_ext_glVertexArrayParameteriAPPLE,
    wow64_ext_glVertexArrayRangeAPPLE,
    wow64_ext_glVertexArrayRangeNV,
    wow64_ext_glVertexArraySecondaryColorOffsetEXT,
    wow64_ext_glVertexArrayTexCoordOffsetEXT,
    wow64_ext_glVertexArrayVertexAttribBindingEXT,
    wow64_ext_glVertexArrayVertexAttribDivisorEXT,
    wow64_ext_glVertexArrayVertexAttribFormatEXT,
    wow64_ext_glVertexArrayVertexAttribIFormatEXT,
    wow64_ext_glVertexArrayVertexAttribIOffsetEXT,
    wow64_ext_glVertexArrayVertexAttribLFormatEXT,
    wow64_ext_glVertexArrayVertexAttribLOffsetEXT,
    wow64_ext_glVertexArrayVertexAttribOffsetEXT,
    wow64_ext_glVertexArrayVertexBindingDivisorEXT,
    wow64_ext_glVertexArrayVertexBuffer,
    wow64_ext_glVertexArrayVertexBuffers,
    wow64_ext_glVertexArrayVertexOffsetEXT,
    wow64_ext_glVertexAttrib1d,
    wow64_ext_glVertexAttrib1dARB,
    wow64_ext_glVertexAttrib1dNV,
    wow64_ext_glVertexAttrib1dv,
    wow64_ext_glVertexAttrib1dvARB,
    wow64_ext_glVertexAttrib1dvNV,
    wow64_ext_glVertexAttrib1f,
    wow64_ext_glVertexAttrib1fARB,
    wow64_ext_glVertexAttrib1fNV,
    wow64_ext_glVertexAttrib1fv,
    wow64_ext_glVertexAttrib1fvARB,
    wow64_ext_glVertexAttrib1fvNV,
    wow64_ext_glVertexAttrib1hNV,
    wow64_ext_glVertexAttrib1hvNV,
    wow64_ext_glVertexAttrib1s,
    wow64_ext_glVertexAttrib1sARB,
    wow64_ext_glVertexAttrib1sNV,
    wow64_ext_glVertexAttrib1sv,
    wow64_ext_glVertexAttrib1svARB,
    wow64_ext_glVertexAttrib1svNV,
    wow64_ext_glVertexAttrib2d,
    wow64_ext_glVertexAttrib2dARB,
    wow64_ext_glVertexAttrib2dNV,
    wow64_ext_glVertexAttrib2dv,
    wow64_ext_glVertexAttrib2dvARB,
    wow64_ext_glVertexAttrib2dvNV,
    wow64_ext_glVertexAttrib2f,
    wow64_ext_glVertexAttrib2fARB,
    wow64_ext_glVertexAttrib2fNV,
    wow64_ext_glVertexAttrib2fv,
    wow64_ext_glVertexAttrib2fvARB,
    wow64_ext_glVertexAttrib2fvNV,
    wow64_ext_glVertexAttrib2hNV,
    wow64_ext_glVertexAttrib2hvNV,
    wow64_ext_glVertexAttrib2s,
    wow64_ext_glVertexAttrib2sARB,
    wow64_ext_glVertexAttrib2sNV,
    wow64_ext_glVertexAttrib2sv,
    wow64_ext_glVertexAttrib2svARB,
    wow64_ext_glVertexAttrib2svNV,
    wow64_ext_glVertexAttrib3d,
    wow64_ext_glVertexAttrib3dARB,
    wow64_ext_glVertexAttrib3dNV,
    wow64_ext_glVertexAttrib3dv,
    wow64_ext_glVertexAttrib3dvARB,
    wow64_ext_glVertexAttrib3dvNV,
    wow64_ext_glVertexAttrib3f,
    wow64_ext_glVertexAttrib3fARB,
    wow64_ext_glVertexAttrib3fNV,
    wow64_ext_glVertexAttrib3fv,
    wow64_ext_glVertexAttrib3fvARB,
    wow64_ext_glVertexAttrib3fvNV,
    wow64_ext_glVertexAttrib3hNV,
    wow64_ext_glVertexAttrib3hvNV,
    wow64_ext_glVertexAttrib3s,
    wow64_ext_glVertexAttrib3sARB,
    wow64_ext_glVertexAttrib3sNV,
    wow64_ext_glVertexAttrib3sv,
    wow64_ext_glVertexAttrib3svARB,
    wow64_ext_glVertexAttrib3svNV,
    wow64_ext_glVertexAttrib4Nbv,
    wow64_ext_glVertexAttrib4NbvARB,
    wow64_ext_glVertexAttrib4Niv,
    wow64_ext_glVertexAttrib4NivARB,
    wow64_ext_glVertexAttrib4Nsv,
    wow64_ext_glVertexAttrib4NsvARB,
    wow64_ext_glVertexAttrib4Nub,
    wow64_ext_glVertexAttrib4NubARB,
    wow64_ext_glVertexAttrib4Nubv,
    wow64_ext_glVertexAttrib4NubvARB,
    wow64_ext_glVertexAttrib4Nuiv,
    wow64_ext_glVertexAttrib4NuivARB,
    wow64_ext_glVertexAttrib4Nusv,
    wow64_ext_glVertexAttrib4NusvARB,
    wow64_ext_glVertexAttrib4bv,
    wow64_ext_glVertexAttrib4bvARB,
    wow64_ext_glVertexAttrib4d,
    wow64_ext_glVertexAttrib4dARB,
    wow64_ext_glVertexAttrib4dNV,
    wow64_ext_glVertexAttrib4dv,
    wow64_ext_glVertexAttrib4dvARB,
    wow64_ext_glVertexAttrib4dvNV,
    wow64_ext_glVertexAttrib4f,
    wow64_ext_glVertexAttrib4fARB,
    wow64_ext_glVertexAttrib4fNV,
    wow64_ext_glVertexAttrib4fv,
    wow64_ext_glVertexAttrib4fvARB,
    wow64_ext_glVertexAttrib4fvNV,
    wow64_ext_glVertexAttrib4hNV,
    wow64_ext_glVertexAttrib4hvNV,
    wow64_ext_glVertexAttrib4iv,
    wow64_ext_glVertexAttrib4ivARB,
    wow64_ext_glVertexAttrib4s,
    wow64_ext_glVertexAttrib4sARB,
    wow64_ext_glVertexAttrib4sNV,
    wow64_ext_glVertexAttrib4sv,
    wow64_ext_glVertexAttrib4svARB,
    wow64_ext_glVertexAttrib4svNV,
    wow64_ext_glVertexAttrib4ubNV,
    wow64_ext_glVertexAttrib4ubv,
    wow64_ext_glVertexAttrib4ubvARB,
    wow64_ext_glVertexAttrib4ubvNV,
    wow64_ext_glVertexAttrib4uiv,
    wow64_ext_glVertexAttrib4uivARB,
    wow64_ext_glVertexAttrib4usv,
    wow64_ext_glVertexAttrib4usvARB,
    wow64_ext_glVertexAttribArrayObjectATI,
    wow64_ext_glVertexAttribBinding,
    wow64_ext_glVertexAttribDivisor,
    wow64_ext_glVertexAttribDivisorARB,
    wow64_ext_glVertexAttribFormat,
    wow64_ext_glVertexAttribFormatNV,
    wow64_ext_glVertexAttribI1i,
    wow64_ext_glVertexAttribI1iEXT,
    wow64_ext_glVertexAttribI1iv,
    wow64_ext_glVertexAttribI1ivEXT,
    wow64_ext_glVertexAttribI1ui,
    wow64_ext_glVertexAttribI1uiEXT,
    wow64_ext_glVertexAttribI1uiv,
    wow64_ext_glVertexAttribI1uivEXT,
    wow64_ext_glVertexAttribI2i,
    wow64_ext_glVertexAttribI2iEXT,
    wow64_ext_glVertexAttribI2iv,
    wow64_ext_glVertexAttribI2ivEXT,
    wow64_ext_glVertexAttribI2ui,
    wow64_ext_glVertexAttribI2uiEXT,
    wow64_ext_glVertexAttribI2uiv,
    wow64_ext_glVertexAttribI2uivEXT,
    wow64_ext_glVertexAttribI3i,
    wow64_ext_glVertexAttribI3iEXT,
    wow64_ext_glVertexAttribI3iv,
    wow64_ext_glVertexAttribI3ivEXT,
    wow64_ext_glVertexAttribI3ui,
    wow64_ext_glVertexAttribI3uiEXT,
    wow64_ext_glVertexAttribI3uiv,
    wow64_ext_glVertexAttribI3uivEXT,
    wow64_ext_glVertexAttribI4bv,
    wow64_ext_glVertexAttribI4bvEXT,
    wow64_ext_glVertexAttribI4i,
    wow64_ext_glVertexAttribI4iEXT,
    wow64_ext_glVertexAttribI4iv,
    wow64_ext_glVertexAttribI4ivEXT,
    wow64_ext_glVertexAttribI4sv,
    wow64_ext_glVertexAttribI4svEXT,
    wow64_ext_glVertexAttribI4ubv,
    wow64_ext_glVertexAttribI4ubvEXT,
    wow64_ext_glVertexAttribI4ui,
    wow64_ext_glVertexAttribI4uiEXT,
    wow64_ext_glVertexAttribI4uiv,
    wow64_ext_glVertexAttribI4uivEXT,
    wow64_ext_glVertexAttribI4usv,
    wow64_ext_glVertexAttribI4usvEXT,
    wow64_ext_glVertexAttribIFormat,
    wow64_ext_glVertexAttribIFormatNV,
    wow64_ext_glVertexAttribIPointer,
    wow64_ext_glVertexAttribIPointerEXT,
    wow64_ext_glVertexAttribL1d,
    wow64_ext_glVertexAttribL1dEXT,
    wow64_ext_glVertexAttribL1dv,
    wow64_ext_glVertexAttribL1dvEXT,
    wow64_ext_glVertexAttribL1i64NV,
    wow64_ext_glVertexAttribL1i64vNV,
    wow64_ext_glVertexAttribL1ui64ARB,
    wow64_ext_glVertexAttribL1ui64NV,
    wow64_ext_glVertexAttribL1ui64vARB,
    wow64_ext_glVertexAttribL1ui64vNV,
    wow64_ext_glVertexAttribL2d,
    wow64_ext_glVertexAttribL2dEXT,
    wow64_ext_glVertexAttribL2dv,
    wow64_ext_glVertexAttribL2dvEXT,
    wow64_ext_glVertexAttribL2i64NV,
    wow64_ext_glVertexAttribL2i64vNV,
    wow64_ext_glVertexAttribL2ui64NV,
    wow64_ext_glVertexAttribL2ui64vNV,
    wow64_ext_glVertexAttribL3d,
    wow64_ext_glVertexAttribL3dEXT,
    wow64_ext_glVertexAttribL3dv,
    wow64_ext_glVertexAttribL3dvEXT,
    wow64_ext_glVertexAttribL3i64NV,
    wow64_ext_glVertexAttribL3i64vNV,
    wow64_ext_glVertexAttribL3ui64NV,
    wow64_ext_glVertexAttribL3ui64vNV,
    wow64_ext_glVertexAttribL4d,
    wow64_ext_glVertexAttribL4dEXT,
    wow64_ext_glVertexAttribL4dv,
    wow64_ext_glVertexAttribL4dvEXT,
    wow64_ext_glVertexAttribL4i64NV,
    wow64_ext_glVertexAttribL4i64vNV,
    wow64_ext_glVertexAttribL4ui64NV,
    wow64_ext_glVertexAttribL4ui64vNV,
    wow64_ext_glVertexAttribLFormat,
    wow64_ext_glVertexAttribLFormatNV,
    wow64_ext_glVertexAttribLPointer,
    wow64_ext_glVertexAttribLPointerEXT,
    wow64_ext_glVertexAttribP1ui,
    wow64_ext_glVertexAttribP1uiv,
    wow64_ext_glVertexAttribP2ui,
    wow64_ext_glVertexAttribP2uiv,
    wow64_ext_glVertexAttribP3ui,
    wow64_ext_glVertexAttribP3uiv,
    wow64_ext_glVertexAttribP4ui,
    wow64_ext_glVertexAttribP4uiv,
    wow64_ext_glVertexAttribParameteriAMD,
    wow64_ext_glVertexAttribPointer,
    wow64_ext_glVertexAttribPointerARB,
    wow64_ext_glVertexAttribPointerNV,
    wow64_ext_glVertexAttribs1dvNV,
    wow64_ext_glVertexAttribs1fvNV,
    wow64_ext_glVertexAttribs1hvNV,
    wow64_ext_glVertexAttribs1svNV,
    wow64_ext_glVertexAttribs2dvNV,
    wow64_ext_glVertexAttribs2fvNV,
    wow64_ext_glVertexAttribs2hvNV,
    wow64_ext_glVertexAttribs2svNV,
    wow64_ext_glVertexAttribs3dvNV,
    wow64_ext_glVertexAttribs3fvNV,
    wow64_ext_glVertexAttribs3hvNV,
    wow64_ext_glVertexAttribs3svNV,
    wow64_ext_glVertexAttribs4dvNV,
    wow64_ext_glVertexAttribs4fvNV,
    wow64_ext_glVertexAttribs4hvNV,
    wow64_ext_glVertexAttribs4svNV,
    wow64_ext_glVertexAttribs4ubvNV,
    wow64_ext_glVertexBindingDivisor,
    wow64_ext_glVertexBlendARB,
    wow64_ext_glVertexBlendEnvfATI,
    wow64_ext_glVertexBlendEnviATI,
    wow64_ext_glVertexFormatNV,
    wow64_ext_glVertexP2ui,
    wow64_ext_glVertexP2uiv,
    wow64_ext_glVertexP3ui,
    wow64_ext_glVertexP3uiv,
    wow64_ext_glVertexP4ui,
    wow64_ext_glVertexP4uiv,
    wow64_ext_glVertexPointerEXT,
    wow64_ext_glVertexPointerListIBM,
    wow64_ext_glVertexPointervINTEL,
    wow64_ext_glVertexStream1dATI,
    wow64_ext_glVertexStream1dvATI,
    wow64_ext_glVertexStream1fATI,
    wow64_ext_glVertexStream1fvATI,
    wow64_ext_glVertexStream1iATI,
    wow64_ext_glVertexStream1ivATI,
    wow64_ext_glVertexStream1sATI,
    wow64_ext_glVertexStream1svATI,
    wow64_ext_glVertexStream2dATI,
    wow64_ext_glVertexStream2dvATI,
    wow64_ext_glVertexStream2fATI,
    wow64_ext_glVertexStream2fvATI,
    wow64_ext_glVertexStream2iATI,
    wow64_ext_glVertexStream2ivATI,
    wow64_ext_glVertexStream2sATI,
    wow64_ext_glVertexStream2svATI,
    wow64_ext_glVertexStream3dATI,
    wow64_ext_glVertexStream3dvATI,
    wow64_ext_glVertexStream3fATI,
    wow64_ext_glVertexStream3fvATI,
    wow64_ext_glVertexStream3iATI,
    wow64_ext_glVertexStream3ivATI,
    wow64_ext_glVertexStream3sATI,
    wow64_ext_glVertexStream3svATI,
    wow64_ext_glVertexStream4dATI,
    wow64_ext_glVertexStream4dvATI,
    wow64_ext_glVertexStream4fATI,
    wow64_ext_glVertexStream4fvATI,
    wow64_ext_glVertexStream4iATI,
    wow64_ext_glVertexStream4ivATI,
    wow64_ext_glVertexStream4sATI,
    wow64_ext_glVertexStream4svATI,
    wow64_ext_glVertexWeightPointerEXT,
    wow64_ext_glVertexWeightfEXT,
    wow64_ext_glVertexWeightfvEXT,
    wow64_ext_glVertexWeighthNV,
    wow64_ext_glVertexWeighthvNV,
    wow64_ext_glVideoCaptureNV,
    wow64_ext_glVideoCaptureStreamParameterdvNV,
    wow64_ext_glVideoCaptureStreamParameterfvNV,
    wow64_ext_glVideoCaptureStreamParameterivNV,
    wow64_ext_glViewportArrayv,
    wow64_ext_glViewportIndexedf,
    wow64_ext_glViewportIndexedfv,
    wow64_ext_glViewportPositionWScaleNV,
    wow64_ext_glViewportSwizzleNV,
    wow64_ext_glWaitSemaphoreEXT,
    wow64_ext_glWaitSemaphoreui64NVX,
    wow64_ext_glWaitSync,
    wow64_ext_glWaitVkSemaphoreNV,
    wow64_ext_glWeightPathsNV,
    wow64_ext_glWeightPointerARB,
    wow64_ext_glWeightbvARB,
    wow64_ext_glWeightdvARB,
    wow64_ext_glWeightfvARB,
    wow64_ext_glWeightivARB,
    wow64_ext_glWeightsvARB,
    wow64_ext_glWeightubvARB,
    wow64_ext_glWeightuivARB,
    wow64_ext_glWeightusvARB,
    wow64_ext_glWindowPos2d,
    wow64_ext_glWindowPos2dARB,
    wow64_ext_glWindowPos2dMESA,
    wow64_ext_glWindowPos2dv,
    wow64_ext_glWindowPos2dvARB,
    wow64_ext_glWindowPos2dvMESA,
    wow64_ext_glWindowPos2f,
    wow64_ext_glWindowPos2fARB,
    wow64_ext_glWindowPos2fMESA,
    wow64_ext_glWindowPos2fv,
    wow64_ext_glWindowPos2fvARB,
    wow64_ext_glWindowPos2fvMESA,
    wow64_ext_glWindowPos2i,
    wow64_ext_glWindowPos2iARB,
    wow64_ext_glWindowPos2iMESA,
    wow64_ext_glWindowPos2iv,
    wow64_ext_glWindowPos2ivARB,
    wow64_ext_glWindowPos2ivMESA,
    wow64_ext_glWindowPos2s,
    wow64_ext_glWindowPos2sARB,
    wow64_ext_glWindowPos2sMESA,
    wow64_ext_glWindowPos2sv,
    wow64_ext_glWindowPos2svARB,
    wow64_ext_glWindowPos2svMESA,
    wow64_ext_glWindowPos3d,
    wow64_ext_glWindowPos3dARB,
    wow64_ext_glWindowPos3dMESA,
    wow64_ext_glWindowPos3dv,
    wow64_ext_glWindowPos3dvARB,
    wow64_ext_glWindowPos3dvMESA,
    wow64_ext_glWindowPos3f,
    wow64_ext_glWindowPos3fARB,
    wow64_ext_glWindowPos3fMESA,
    wow64_ext_glWindowPos3fv,
    wow64_ext_glWindowPos3fvARB,
    wow64_ext_glWindowPos3fvMESA,
    wow64_ext_glWindowPos3i,
    wow64_ext_glWindowPos3iARB,
    wow64_ext_glWindowPos3iMESA,
    wow64_ext_glWindowPos3iv,
    wow64_ext_glWindowPos3ivARB,
    wow64_ext_glWindowPos3ivMESA,
    wow64_ext_glWindowPos3s,
    wow64_ext_glWindowPos3sARB,
    wow64_ext_glWindowPos3sMESA,
    wow64_ext_glWindowPos3sv,
    wow64_ext_glWindowPos3svARB,
    wow64_ext_glWindowPos3svMESA,
    wow64_ext_glWindowPos4dMESA,
    wow64_ext_glWindowPos4dvMESA,
    wow64_ext_glWindowPos4fMESA,
    wow64_ext_glWindowPos4fvMESA,
    wow64_ext_glWindowPos4iMESA,
    wow64_ext_glWindowPos4ivMESA,
    wow64_ext_glWindowPos4sMESA,
    wow64_ext_glWindowPos4svMESA,
    wow64_ext_glWindowRectanglesEXT,
    wow64_ext_glWriteMaskEXT,
    wow64_ext_wglAllocateMemoryNV,
    wow64_ext_wglBindTexImageARB,
    wow64_ext_wglChoosePixelFormatARB,
    wow64_ext_wglCreateContextAttribsARB,
    wow64_ext_wglCreatePbufferARB,
    wow64_ext_wglDestroyPbufferARB,
    wow64_ext_wglFreeMemoryNV,
    wow64_ext_wglGetCurrentReadDCARB,
    wow64_ext_wglGetExtensionsStringARB,
    wow64_ext_wglGetExtensionsStringEXT,
    wow64_ext_wglGetPbufferDCARB,
    wow64_ext_wglGetPixelFormatAttribfvARB,
    wow64_ext_wglGetPixelFormatAttribivARB,
    wow64_ext_wglGetSwapIntervalEXT,
    wow64_ext_wglMakeContextCurrentARB,
    wow64_ext_wglQueryCurrentRendererIntegerWINE,
    wow64_ext_wglQueryCurrentRendererStringWINE,
    wow64_ext_wglQueryPbufferARB,
    wow64_ext_wglQueryRendererIntegerWINE,
    wow64_ext_wglQueryRendererStringWINE,
    wow64_ext_wglReleasePbufferDCARB,
    wow64_ext_wglReleaseTexImageARB,
    wow64_ext_wglSetPbufferAttribARB,
    wow64_ext_wglSetPixelFormatWINE,
    wow64_ext_wglSwapIntervalEXT,
};

C_ASSERT(ARRAYSIZE(__wine_unix_call_wow64_funcs) == funcs_count);

#endif

static BOOL null_wglCopyContext( struct wgl_context * hglrcSrc, struct wgl_context * hglrcDst, UINT mask ) { return 0; }
static struct wgl_context * null_wglCreateContext( HDC hDc ) { return 0; }
static BOOL null_wglDeleteContext( struct wgl_context * oldContext ) { return 0; }
static int null_wglGetPixelFormat( HDC hdc ) { return 0; }
static PROC null_wglGetProcAddress( LPCSTR lpszProc ) { return 0; }
static BOOL null_wglMakeCurrent( HDC hDc, struct wgl_context * newContext ) { return 0; }
static BOOL null_wglSetPixelFormat( HDC hdc, int ipfd, const PIXELFORMATDESCRIPTOR *ppfd ) { return 0; }
static BOOL null_wglShareLists( struct wgl_context * hrcSrvShare, struct wgl_context * hrcSrvSource ) { return 0; }
static BOOL null_wglSwapBuffers( HDC hdc ) { return 0; }
static void null_glAccum( GLenum op, GLfloat value ) { }
static void null_glAlphaFunc( GLenum func, GLfloat ref ) { }
static GLboolean null_glAreTexturesResident( GLsizei n, const GLuint *textures, GLboolean *residences ) { return 0; }
static void null_glArrayElement( GLint i ) { }
static void null_glBegin( GLenum mode ) { }
static void null_glBindTexture( GLenum target, GLuint texture ) { }
static void null_glBitmap( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap ) { }
static void null_glBlendFunc( GLenum sfactor, GLenum dfactor ) { }
static void null_glCallList( GLuint list ) { }
static void null_glCallLists( GLsizei n, GLenum type, const void *lists ) { }
static void null_glClear( GLbitfield mask ) { }
static void null_glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) { }
static void null_glClearColor( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) { }
static void null_glClearDepth( GLdouble depth ) { }
static void null_glClearIndex( GLfloat c ) { }
static void null_glClearStencil( GLint s ) { }
static void null_glClipPlane( GLenum plane, const GLdouble *equation ) { }
static void null_glColor3b( GLbyte red, GLbyte green, GLbyte blue ) { }
static void null_glColor3bv( const GLbyte *v ) { }
static void null_glColor3d( GLdouble red, GLdouble green, GLdouble blue ) { }
static void null_glColor3dv( const GLdouble *v ) { }
static void null_glColor3f( GLfloat red, GLfloat green, GLfloat blue ) { }
static void null_glColor3fv( const GLfloat *v ) { }
static void null_glColor3i( GLint red, GLint green, GLint blue ) { }
static void null_glColor3iv( const GLint *v ) { }
static void null_glColor3s( GLshort red, GLshort green, GLshort blue ) { }
static void null_glColor3sv( const GLshort *v ) { }
static void null_glColor3ub( GLubyte red, GLubyte green, GLubyte blue ) { }
static void null_glColor3ubv( const GLubyte *v ) { }
static void null_glColor3ui( GLuint red, GLuint green, GLuint blue ) { }
static void null_glColor3uiv( const GLuint *v ) { }
static void null_glColor3us( GLushort red, GLushort green, GLushort blue ) { }
static void null_glColor3usv( const GLushort *v ) { }
static void null_glColor4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha ) { }
static void null_glColor4bv( const GLbyte *v ) { }
static void null_glColor4d( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha ) { }
static void null_glColor4dv( const GLdouble *v ) { }
static void null_glColor4f( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) { }
static void null_glColor4fv( const GLfloat *v ) { }
static void null_glColor4i( GLint red, GLint green, GLint blue, GLint alpha ) { }
static void null_glColor4iv( const GLint *v ) { }
static void null_glColor4s( GLshort red, GLshort green, GLshort blue, GLshort alpha ) { }
static void null_glColor4sv( const GLshort *v ) { }
static void null_glColor4ub( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) { }
static void null_glColor4ubv( const GLubyte *v ) { }
static void null_glColor4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha ) { }
static void null_glColor4uiv( const GLuint *v ) { }
static void null_glColor4us( GLushort red, GLushort green, GLushort blue, GLushort alpha ) { }
static void null_glColor4usv( const GLushort *v ) { }
static void null_glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) { }
static void null_glColorMaterial( GLenum face, GLenum mode ) { }
static void null_glColorPointer( GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glCopyPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type ) { }
static void null_glCopyTexImage1D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ) { }
static void null_glCopyTexImage2D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) { }
static void null_glCopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ) { }
static void null_glCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCullFace( GLenum mode ) { }
static void null_glDeleteLists( GLuint list, GLsizei range ) { }
static void null_glDeleteTextures( GLsizei n, const GLuint *textures ) { }
static void null_glDepthFunc( GLenum func ) { }
static void null_glDepthMask( GLboolean flag ) { }
static void null_glDepthRange( GLdouble n, GLdouble f ) { }
static void null_glDisable( GLenum cap ) { }
static void null_glDisableClientState( GLenum array ) { }
static void null_glDrawArrays( GLenum mode, GLint first, GLsizei count ) { }
static void null_glDrawBuffer( GLenum buf ) { }
static void null_glDrawElements( GLenum mode, GLsizei count, GLenum type, const void *indices ) { }
static void null_glDrawPixels( GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels ) { }
static void null_glEdgeFlag( GLboolean flag ) { }
static void null_glEdgeFlagPointer( GLsizei stride, const void *pointer ) { }
static void null_glEdgeFlagv( const GLboolean *flag ) { }
static void null_glEnable( GLenum cap ) { }
static void null_glEnableClientState( GLenum array ) { }
static void null_glEnd(void) { }
static void null_glEndList(void) { }
static void null_glEvalCoord1d( GLdouble u ) { }
static void null_glEvalCoord1dv( const GLdouble *u ) { }
static void null_glEvalCoord1f( GLfloat u ) { }
static void null_glEvalCoord1fv( const GLfloat *u ) { }
static void null_glEvalCoord2d( GLdouble u, GLdouble v ) { }
static void null_glEvalCoord2dv( const GLdouble *u ) { }
static void null_glEvalCoord2f( GLfloat u, GLfloat v ) { }
static void null_glEvalCoord2fv( const GLfloat *u ) { }
static void null_glEvalMesh1( GLenum mode, GLint i1, GLint i2 ) { }
static void null_glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 ) { }
static void null_glEvalPoint1( GLint i ) { }
static void null_glEvalPoint2( GLint i, GLint j ) { }
static void null_glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer ) { }
static void null_glFinish(void) { }
static void null_glFlush(void) { }
static void null_glFogf( GLenum pname, GLfloat param ) { }
static void null_glFogfv( GLenum pname, const GLfloat *params ) { }
static void null_glFogi( GLenum pname, GLint param ) { }
static void null_glFogiv( GLenum pname, const GLint *params ) { }
static void null_glFrontFace( GLenum mode ) { }
static void null_glFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar ) { }
static GLuint null_glGenLists( GLsizei range ) { return 0; }
static void null_glGenTextures( GLsizei n, GLuint *textures ) { }
static void null_glGetBooleanv( GLenum pname, GLboolean *data ) { }
static void null_glGetClipPlane( GLenum plane, GLdouble *equation ) { }
static void null_glGetDoublev( GLenum pname, GLdouble *data ) { }
static GLenum null_glGetError(void) { return GL_INVALID_OPERATION; }
static void null_glGetFloatv( GLenum pname, GLfloat *data ) { }
static void null_glGetIntegerv( GLenum pname, GLint *data ) { }
static void null_glGetLightfv( GLenum light, GLenum pname, GLfloat *params ) { }
static void null_glGetLightiv( GLenum light, GLenum pname, GLint *params ) { }
static void null_glGetMapdv( GLenum target, GLenum query, GLdouble *v ) { }
static void null_glGetMapfv( GLenum target, GLenum query, GLfloat *v ) { }
static void null_glGetMapiv( GLenum target, GLenum query, GLint *v ) { }
static void null_glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params ) { }
static void null_glGetMaterialiv( GLenum face, GLenum pname, GLint *params ) { }
static void null_glGetPixelMapfv( GLenum map, GLfloat *values ) { }
static void null_glGetPixelMapuiv( GLenum map, GLuint *values ) { }
static void null_glGetPixelMapusv( GLenum map, GLushort *values ) { }
static void null_glGetPointerv( GLenum pname, void **params ) { }
static void null_glGetPolygonStipple( GLubyte *mask ) { }
static const GLubyte * null_glGetString( GLenum name ) { return 0; }
static void null_glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetTexEnviv( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params ) { }
static void null_glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params ) { }
static void null_glGetTexGeniv( GLenum coord, GLenum pname, GLint *params ) { }
static void null_glGetTexImage( GLenum target, GLint level, GLenum format, GLenum type, void *pixels ) { }
static void null_glGetTexLevelParameterfv( GLenum target, GLint level, GLenum pname, GLfloat *params ) { }
static void null_glGetTexLevelParameteriv( GLenum target, GLint level, GLenum pname, GLint *params ) { }
static void null_glGetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetTexParameteriv( GLenum target, GLenum pname, GLint *params ) { }
static void null_glHint( GLenum target, GLenum mode ) { }
static void null_glIndexMask( GLuint mask ) { }
static void null_glIndexPointer( GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glIndexd( GLdouble c ) { }
static void null_glIndexdv( const GLdouble *c ) { }
static void null_glIndexf( GLfloat c ) { }
static void null_glIndexfv( const GLfloat *c ) { }
static void null_glIndexi( GLint c ) { }
static void null_glIndexiv( const GLint *c ) { }
static void null_glIndexs( GLshort c ) { }
static void null_glIndexsv( const GLshort *c ) { }
static void null_glIndexub( GLubyte c ) { }
static void null_glIndexubv( const GLubyte *c ) { }
static void null_glInitNames(void) { }
static void null_glInterleavedArrays( GLenum format, GLsizei stride, const void *pointer ) { }
static GLboolean null_glIsEnabled( GLenum cap ) { return 0; }
static GLboolean null_glIsList( GLuint list ) { return 0; }
static GLboolean null_glIsTexture( GLuint texture ) { return 0; }
static void null_glLightModelf( GLenum pname, GLfloat param ) { }
static void null_glLightModelfv( GLenum pname, const GLfloat *params ) { }
static void null_glLightModeli( GLenum pname, GLint param ) { }
static void null_glLightModeliv( GLenum pname, const GLint *params ) { }
static void null_glLightf( GLenum light, GLenum pname, GLfloat param ) { }
static void null_glLightfv( GLenum light, GLenum pname, const GLfloat *params ) { }
static void null_glLighti( GLenum light, GLenum pname, GLint param ) { }
static void null_glLightiv( GLenum light, GLenum pname, const GLint *params ) { }
static void null_glLineStipple( GLint factor, GLushort pattern ) { }
static void null_glLineWidth( GLfloat width ) { }
static void null_glListBase( GLuint base ) { }
static void null_glLoadIdentity(void) { }
static void null_glLoadMatrixd( const GLdouble *m ) { }
static void null_glLoadMatrixf( const GLfloat *m ) { }
static void null_glLoadName( GLuint name ) { }
static void null_glLogicOp( GLenum opcode ) { }
static void null_glMap1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points ) { }
static void null_glMap1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points ) { }
static void null_glMap2d( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points ) { }
static void null_glMap2f( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points ) { }
static void null_glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 ) { }
static void null_glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 ) { }
static void null_glMapGrid2d( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 ) { }
static void null_glMapGrid2f( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 ) { }
static void null_glMaterialf( GLenum face, GLenum pname, GLfloat param ) { }
static void null_glMaterialfv( GLenum face, GLenum pname, const GLfloat *params ) { }
static void null_glMateriali( GLenum face, GLenum pname, GLint param ) { }
static void null_glMaterialiv( GLenum face, GLenum pname, const GLint *params ) { }
static void null_glMatrixMode( GLenum mode ) { }
static void null_glMultMatrixd( const GLdouble *m ) { }
static void null_glMultMatrixf( const GLfloat *m ) { }
static void null_glNewList( GLuint list, GLenum mode ) { }
static void null_glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz ) { }
static void null_glNormal3bv( const GLbyte *v ) { }
static void null_glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz ) { }
static void null_glNormal3dv( const GLdouble *v ) { }
static void null_glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz ) { }
static void null_glNormal3fv( const GLfloat *v ) { }
static void null_glNormal3i( GLint nx, GLint ny, GLint nz ) { }
static void null_glNormal3iv( const GLint *v ) { }
static void null_glNormal3s( GLshort nx, GLshort ny, GLshort nz ) { }
static void null_glNormal3sv( const GLshort *v ) { }
static void null_glNormalPointer( GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar ) { }
static void null_glPassThrough( GLfloat token ) { }
static void null_glPixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values ) { }
static void null_glPixelMapuiv( GLenum map, GLsizei mapsize, const GLuint *values ) { }
static void null_glPixelMapusv( GLenum map, GLsizei mapsize, const GLushort *values ) { }
static void null_glPixelStoref( GLenum pname, GLfloat param ) { }
static void null_glPixelStorei( GLenum pname, GLint param ) { }
static void null_glPixelTransferf( GLenum pname, GLfloat param ) { }
static void null_glPixelTransferi( GLenum pname, GLint param ) { }
static void null_glPixelZoom( GLfloat xfactor, GLfloat yfactor ) { }
static void null_glPointSize( GLfloat size ) { }
static void null_glPolygonMode( GLenum face, GLenum mode ) { }
static void null_glPolygonOffset( GLfloat factor, GLfloat units ) { }
static void null_glPolygonStipple( const GLubyte *mask ) { }
static void null_glPopAttrib(void) { }
static void null_glPopClientAttrib(void) { }
static void null_glPopMatrix(void) { }
static void null_glPopName(void) { }
static void null_glPrioritizeTextures( GLsizei n, const GLuint *textures, const GLfloat *priorities ) { }
static void null_glPushAttrib( GLbitfield mask ) { }
static void null_glPushClientAttrib( GLbitfield mask ) { }
static void null_glPushMatrix(void) { }
static void null_glPushName( GLuint name ) { }
static void null_glRasterPos2d( GLdouble x, GLdouble y ) { }
static void null_glRasterPos2dv( const GLdouble *v ) { }
static void null_glRasterPos2f( GLfloat x, GLfloat y ) { }
static void null_glRasterPos2fv( const GLfloat *v ) { }
static void null_glRasterPos2i( GLint x, GLint y ) { }
static void null_glRasterPos2iv( const GLint *v ) { }
static void null_glRasterPos2s( GLshort x, GLshort y ) { }
static void null_glRasterPos2sv( const GLshort *v ) { }
static void null_glRasterPos3d( GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glRasterPos3dv( const GLdouble *v ) { }
static void null_glRasterPos3f( GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glRasterPos3fv( const GLfloat *v ) { }
static void null_glRasterPos3i( GLint x, GLint y, GLint z ) { }
static void null_glRasterPos3iv( const GLint *v ) { }
static void null_glRasterPos3s( GLshort x, GLshort y, GLshort z ) { }
static void null_glRasterPos3sv( const GLshort *v ) { }
static void null_glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glRasterPos4dv( const GLdouble *v ) { }
static void null_glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glRasterPos4fv( const GLfloat *v ) { }
static void null_glRasterPos4i( GLint x, GLint y, GLint z, GLint w ) { }
static void null_glRasterPos4iv( const GLint *v ) { }
static void null_glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w ) { }
static void null_glRasterPos4sv( const GLshort *v ) { }
static void null_glReadBuffer( GLenum src ) { }
static void null_glReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels ) { }
static void null_glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 ) { }
static void null_glRectdv( const GLdouble *v1, const GLdouble *v2 ) { }
static void null_glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 ) { }
static void null_glRectfv( const GLfloat *v1, const GLfloat *v2 ) { }
static void null_glRecti( GLint x1, GLint y1, GLint x2, GLint y2 ) { }
static void null_glRectiv( const GLint *v1, const GLint *v2 ) { }
static void null_glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 ) { }
static void null_glRectsv( const GLshort *v1, const GLshort *v2 ) { }
static GLint null_glRenderMode( GLenum mode ) { return 0; }
static void null_glRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glScaled( GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glScalef( GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glScissor( GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glSelectBuffer( GLsizei size, GLuint *buffer ) { }
static void null_glShadeModel( GLenum mode ) { }
static void null_glStencilFunc( GLenum func, GLint ref, GLuint mask ) { }
static void null_glStencilMask( GLuint mask ) { }
static void null_glStencilOp( GLenum fail, GLenum zfail, GLenum zpass ) { }
static void null_glTexCoord1d( GLdouble s ) { }
static void null_glTexCoord1dv( const GLdouble *v ) { }
static void null_glTexCoord1f( GLfloat s ) { }
static void null_glTexCoord1fv( const GLfloat *v ) { }
static void null_glTexCoord1i( GLint s ) { }
static void null_glTexCoord1iv( const GLint *v ) { }
static void null_glTexCoord1s( GLshort s ) { }
static void null_glTexCoord1sv( const GLshort *v ) { }
static void null_glTexCoord2d( GLdouble s, GLdouble t ) { }
static void null_glTexCoord2dv( const GLdouble *v ) { }
static void null_glTexCoord2f( GLfloat s, GLfloat t ) { }
static void null_glTexCoord2fv( const GLfloat *v ) { }
static void null_glTexCoord2i( GLint s, GLint t ) { }
static void null_glTexCoord2iv( const GLint *v ) { }
static void null_glTexCoord2s( GLshort s, GLshort t ) { }
static void null_glTexCoord2sv( const GLshort *v ) { }
static void null_glTexCoord3d( GLdouble s, GLdouble t, GLdouble r ) { }
static void null_glTexCoord3dv( const GLdouble *v ) { }
static void null_glTexCoord3f( GLfloat s, GLfloat t, GLfloat r ) { }
static void null_glTexCoord3fv( const GLfloat *v ) { }
static void null_glTexCoord3i( GLint s, GLint t, GLint r ) { }
static void null_glTexCoord3iv( const GLint *v ) { }
static void null_glTexCoord3s( GLshort s, GLshort t, GLshort r ) { }
static void null_glTexCoord3sv( const GLshort *v ) { }
static void null_glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q ) { }
static void null_glTexCoord4dv( const GLdouble *v ) { }
static void null_glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q ) { }
static void null_glTexCoord4fv( const GLfloat *v ) { }
static void null_glTexCoord4i( GLint s, GLint t, GLint r, GLint q ) { }
static void null_glTexCoord4iv( const GLint *v ) { }
static void null_glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q ) { }
static void null_glTexCoord4sv( const GLshort *v ) { }
static void null_glTexCoordPointer( GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glTexEnvf( GLenum target, GLenum pname, GLfloat param ) { }
static void null_glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glTexEnvi( GLenum target, GLenum pname, GLint param ) { }
static void null_glTexEnviv( GLenum target, GLenum pname, const GLint *params ) { }
static void null_glTexGend( GLenum coord, GLenum pname, GLdouble param ) { }
static void null_glTexGendv( GLenum coord, GLenum pname, const GLdouble *params ) { }
static void null_glTexGenf( GLenum coord, GLenum pname, GLfloat param ) { }
static void null_glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params ) { }
static void null_glTexGeni( GLenum coord, GLenum pname, GLint param ) { }
static void null_glTexGeniv( GLenum coord, GLenum pname, const GLint *params ) { }
static void null_glTexImage1D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTexImage2D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTexParameterf( GLenum target, GLenum pname, GLfloat param ) { }
static void null_glTexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glTexParameteri( GLenum target, GLenum pname, GLint param ) { }
static void null_glTexParameteriv( GLenum target, GLenum pname, const GLint *params ) { }
static void null_glTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTranslated( GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glTranslatef( GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glVertex2d( GLdouble x, GLdouble y ) { }
static void null_glVertex2dv( const GLdouble *v ) { }
static void null_glVertex2f( GLfloat x, GLfloat y ) { }
static void null_glVertex2fv( const GLfloat *v ) { }
static void null_glVertex2i( GLint x, GLint y ) { }
static void null_glVertex2iv( const GLint *v ) { }
static void null_glVertex2s( GLshort x, GLshort y ) { }
static void null_glVertex2sv( const GLshort *v ) { }
static void null_glVertex3d( GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glVertex3dv( const GLdouble *v ) { }
static void null_glVertex3f( GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glVertex3fv( const GLfloat *v ) { }
static void null_glVertex3i( GLint x, GLint y, GLint z ) { }
static void null_glVertex3iv( const GLint *v ) { }
static void null_glVertex3s( GLshort x, GLshort y, GLshort z ) { }
static void null_glVertex3sv( const GLshort *v ) { }
static void null_glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glVertex4dv( const GLdouble *v ) { }
static void null_glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glVertex4fv( const GLfloat *v ) { }
static void null_glVertex4i( GLint x, GLint y, GLint z, GLint w ) { }
static void null_glVertex4iv( const GLint *v ) { }
static void null_glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w ) { }
static void null_glVertex4sv( const GLshort *v ) { }
static void null_glVertexPointer( GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glViewport( GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glAccumxOES( GLenum op, GLfixed value ) { }
static GLboolean null_glAcquireKeyedMutexWin32EXT( GLuint memory, GLuint64 key, GLuint timeout ) { return 0; }
static void null_glActiveProgramEXT( GLuint program ) { }
static void null_glActiveShaderProgram( GLuint pipeline, GLuint program ) { }
static void null_glActiveStencilFaceEXT( GLenum face ) { }
static void null_glActiveTexture( GLenum texture ) { }
static void null_glActiveTextureARB( GLenum texture ) { }
static void null_glActiveVaryingNV( GLuint program, const GLchar *name ) { }
static void null_glAlphaFragmentOp1ATI( GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod ) { }
static void null_glAlphaFragmentOp2ATI( GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod ) { }
static void null_glAlphaFragmentOp3ATI( GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod ) { }
static void null_glAlphaFuncxOES( GLenum func, GLfixed ref ) { }
static void null_glAlphaToCoverageDitherControlNV( GLenum mode ) { }
static void null_glApplyFramebufferAttachmentCMAAINTEL(void) { }
static void null_glApplyTextureEXT( GLenum mode ) { }
static GLboolean null_glAreProgramsResidentNV( GLsizei n, const GLuint *programs, GLboolean *residences ) { return 0; }
static GLboolean null_glAreTexturesResidentEXT( GLsizei n, const GLuint *textures, GLboolean *residences ) { return 0; }
static void null_glArrayElementEXT( GLint i ) { }
static void null_glArrayObjectATI( GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset ) { }
static GLuint null_glAsyncCopyBufferSubDataNVX( GLsizei waitSemaphoreCount, const GLuint *waitSemaphoreArray, const GLuint64 *fenceValueArray, GLuint readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size, GLsizei signalSemaphoreCount, const GLuint *signalSemaphoreArray, const GLuint64 *signalValueArray ) { return 0; }
static GLuint null_glAsyncCopyImageSubDataNVX( GLsizei waitSemaphoreCount, const GLuint *waitSemaphoreArray, const GLuint64 *waitValueArray, GLuint srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth, GLsizei signalSemaphoreCount, const GLuint *signalSemaphoreArray, const GLuint64 *signalValueArray ) { return 0; }
static void null_glAsyncMarkerSGIX( GLuint marker ) { }
static void null_glAttachObjectARB( GLhandleARB containerObj, GLhandleARB obj ) { }
static void null_glAttachShader( GLuint program, GLuint shader ) { }
static void null_glBeginConditionalRender( GLuint id, GLenum mode ) { }
static void null_glBeginConditionalRenderNV( GLuint id, GLenum mode ) { }
static void null_glBeginConditionalRenderNVX( GLuint id ) { }
static void null_glBeginFragmentShaderATI(void) { }
static void null_glBeginOcclusionQueryNV( GLuint id ) { }
static void null_glBeginPerfMonitorAMD( GLuint monitor ) { }
static void null_glBeginPerfQueryINTEL( GLuint queryHandle ) { }
static void null_glBeginQuery( GLenum target, GLuint id ) { }
static void null_glBeginQueryARB( GLenum target, GLuint id ) { }
static void null_glBeginQueryIndexed( GLenum target, GLuint index, GLuint id ) { }
static void null_glBeginTransformFeedback( GLenum primitiveMode ) { }
static void null_glBeginTransformFeedbackEXT( GLenum primitiveMode ) { }
static void null_glBeginTransformFeedbackNV( GLenum primitiveMode ) { }
static void null_glBeginVertexShaderEXT(void) { }
static void null_glBeginVideoCaptureNV( GLuint video_capture_slot ) { }
static void null_glBindAttribLocation( GLuint program, GLuint index, const GLchar *name ) { }
static void null_glBindAttribLocationARB( GLhandleARB programObj, GLuint index, const GLcharARB *name ) { }
static void null_glBindBuffer( GLenum target, GLuint buffer ) { }
static void null_glBindBufferARB( GLenum target, GLuint buffer ) { }
static void null_glBindBufferBase( GLenum target, GLuint index, GLuint buffer ) { }
static void null_glBindBufferBaseEXT( GLenum target, GLuint index, GLuint buffer ) { }
static void null_glBindBufferBaseNV( GLenum target, GLuint index, GLuint buffer ) { }
static void null_glBindBufferOffsetEXT( GLenum target, GLuint index, GLuint buffer, GLintptr offset ) { }
static void null_glBindBufferOffsetNV( GLenum target, GLuint index, GLuint buffer, GLintptr offset ) { }
static void null_glBindBufferRange( GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size ) { }
static void null_glBindBufferRangeEXT( GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size ) { }
static void null_glBindBufferRangeNV( GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size ) { }
static void null_glBindBuffersBase( GLenum target, GLuint first, GLsizei count, const GLuint *buffers ) { }
static void null_glBindBuffersRange( GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes ) { }
static void null_glBindFragDataLocation( GLuint program, GLuint color, const GLchar *name ) { }
static void null_glBindFragDataLocationEXT( GLuint program, GLuint color, const GLchar *name ) { }
static void null_glBindFragDataLocationIndexed( GLuint program, GLuint colorNumber, GLuint index, const GLchar *name ) { }
static void null_glBindFragmentShaderATI( GLuint id ) { }
static void null_glBindFramebuffer( GLenum target, GLuint framebuffer ) { }
static void null_glBindFramebufferEXT( GLenum target, GLuint framebuffer ) { }
static void null_glBindImageTexture( GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format ) { }
static void null_glBindImageTextureEXT( GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format ) { }
static void null_glBindImageTextures( GLuint first, GLsizei count, const GLuint *textures ) { }
static GLuint null_glBindLightParameterEXT( GLenum light, GLenum value ) { return 0; }
static GLuint null_glBindMaterialParameterEXT( GLenum face, GLenum value ) { return 0; }
static void null_glBindMultiTextureEXT( GLenum texunit, GLenum target, GLuint texture ) { }
static GLuint null_glBindParameterEXT( GLenum value ) { return 0; }
static void null_glBindProgramARB( GLenum target, GLuint program ) { }
static void null_glBindProgramNV( GLenum target, GLuint id ) { }
static void null_glBindProgramPipeline( GLuint pipeline ) { }
static void null_glBindRenderbuffer( GLenum target, GLuint renderbuffer ) { }
static void null_glBindRenderbufferEXT( GLenum target, GLuint renderbuffer ) { }
static void null_glBindSampler( GLuint unit, GLuint sampler ) { }
static void null_glBindSamplers( GLuint first, GLsizei count, const GLuint *samplers ) { }
static void null_glBindShadingRateImageNV( GLuint texture ) { }
static GLuint null_glBindTexGenParameterEXT( GLenum unit, GLenum coord, GLenum value ) { return 0; }
static void null_glBindTextureEXT( GLenum target, GLuint texture ) { }
static void null_glBindTextureUnit( GLuint unit, GLuint texture ) { }
static GLuint null_glBindTextureUnitParameterEXT( GLenum unit, GLenum value ) { return 0; }
static void null_glBindTextures( GLuint first, GLsizei count, const GLuint *textures ) { }
static void null_glBindTransformFeedback( GLenum target, GLuint id ) { }
static void null_glBindTransformFeedbackNV( GLenum target, GLuint id ) { }
static void null_glBindVertexArray( GLuint array ) { }
static void null_glBindVertexArrayAPPLE( GLuint array ) { }
static void null_glBindVertexBuffer( GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride ) { }
static void null_glBindVertexBuffers( GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides ) { }
static void null_glBindVertexShaderEXT( GLuint id ) { }
static void null_glBindVideoCaptureStreamBufferNV( GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset ) { }
static void null_glBindVideoCaptureStreamTextureNV( GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture ) { }
static void null_glBinormal3bEXT( GLbyte bx, GLbyte by, GLbyte bz ) { }
static void null_glBinormal3bvEXT( const GLbyte *v ) { }
static void null_glBinormal3dEXT( GLdouble bx, GLdouble by, GLdouble bz ) { }
static void null_glBinormal3dvEXT( const GLdouble *v ) { }
static void null_glBinormal3fEXT( GLfloat bx, GLfloat by, GLfloat bz ) { }
static void null_glBinormal3fvEXT( const GLfloat *v ) { }
static void null_glBinormal3iEXT( GLint bx, GLint by, GLint bz ) { }
static void null_glBinormal3ivEXT( const GLint *v ) { }
static void null_glBinormal3sEXT( GLshort bx, GLshort by, GLshort bz ) { }
static void null_glBinormal3svEXT( const GLshort *v ) { }
static void null_glBinormalPointerEXT( GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glBitmapxOES( GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte *bitmap ) { }
static void null_glBlendBarrierKHR(void) { }
static void null_glBlendBarrierNV(void) { }
static void null_glBlendColor( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) { }
static void null_glBlendColorEXT( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) { }
static void null_glBlendColorxOES( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) { }
static void null_glBlendEquation( GLenum mode ) { }
static void null_glBlendEquationEXT( GLenum mode ) { }
static void null_glBlendEquationIndexedAMD( GLuint buf, GLenum mode ) { }
static void null_glBlendEquationSeparate( GLenum modeRGB, GLenum modeAlpha ) { }
static void null_glBlendEquationSeparateEXT( GLenum modeRGB, GLenum modeAlpha ) { }
static void null_glBlendEquationSeparateIndexedAMD( GLuint buf, GLenum modeRGB, GLenum modeAlpha ) { }
static void null_glBlendEquationSeparatei( GLuint buf, GLenum modeRGB, GLenum modeAlpha ) { }
static void null_glBlendEquationSeparateiARB( GLuint buf, GLenum modeRGB, GLenum modeAlpha ) { }
static void null_glBlendEquationi( GLuint buf, GLenum mode ) { }
static void null_glBlendEquationiARB( GLuint buf, GLenum mode ) { }
static void null_glBlendFuncIndexedAMD( GLuint buf, GLenum src, GLenum dst ) { }
static void null_glBlendFuncSeparate( GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha ) { }
static void null_glBlendFuncSeparateEXT( GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha ) { }
static void null_glBlendFuncSeparateINGR( GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha ) { }
static void null_glBlendFuncSeparateIndexedAMD( GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) { }
static void null_glBlendFuncSeparatei( GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) { }
static void null_glBlendFuncSeparateiARB( GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) { }
static void null_glBlendFunci( GLuint buf, GLenum src, GLenum dst ) { }
static void null_glBlendFunciARB( GLuint buf, GLenum src, GLenum dst ) { }
static void null_glBlendParameteriNV( GLenum pname, GLint value ) { }
static void null_glBlitFramebuffer( GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter ) { }
static void null_glBlitFramebufferEXT( GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter ) { }
static void null_glBlitNamedFramebuffer( GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter ) { }
static void null_glBufferAddressRangeNV( GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length ) { }
static void null_glBufferAttachMemoryNV( GLenum target, GLuint memory, GLuint64 offset ) { }
static void null_glBufferData( GLenum target, GLsizeiptr size, const void *data, GLenum usage ) { }
static void null_glBufferDataARB( GLenum target, GLsizeiptrARB size, const void *data, GLenum usage ) { }
static void null_glBufferPageCommitmentARB( GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit ) { }
static void null_glBufferParameteriAPPLE( GLenum target, GLenum pname, GLint param ) { }
static GLuint null_glBufferRegionEnabled(void) { return 0; }
static void null_glBufferStorage( GLenum target, GLsizeiptr size, const void *data, GLbitfield flags ) { }
static void null_glBufferStorageExternalEXT( GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags ) { }
static void null_glBufferStorageMemEXT( GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset ) { }
static void null_glBufferSubData( GLenum target, GLintptr offset, GLsizeiptr size, const void *data ) { }
static void null_glBufferSubDataARB( GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data ) { }
static void null_glCallCommandListNV( GLuint list ) { }
static GLenum null_glCheckFramebufferStatus( GLenum target ) { return 0; }
static GLenum null_glCheckFramebufferStatusEXT( GLenum target ) { return 0; }
static GLenum null_glCheckNamedFramebufferStatus( GLuint framebuffer, GLenum target ) { return 0; }
static GLenum null_glCheckNamedFramebufferStatusEXT( GLuint framebuffer, GLenum target ) { return 0; }
static void null_glClampColor( GLenum target, GLenum clamp ) { }
static void null_glClampColorARB( GLenum target, GLenum clamp ) { }
static void null_glClearAccumxOES( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) { }
static void null_glClearBufferData( GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data ) { }
static void null_glClearBufferSubData( GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data ) { }
static void null_glClearBufferfi( GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil ) { }
static void null_glClearBufferfv( GLenum buffer, GLint drawbuffer, const GLfloat *value ) { }
static void null_glClearBufferiv( GLenum buffer, GLint drawbuffer, const GLint *value ) { }
static void null_glClearBufferuiv( GLenum buffer, GLint drawbuffer, const GLuint *value ) { }
static void null_glClearColorIiEXT( GLint red, GLint green, GLint blue, GLint alpha ) { }
static void null_glClearColorIuiEXT( GLuint red, GLuint green, GLuint blue, GLuint alpha ) { }
static void null_glClearColorxOES( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) { }
static void null_glClearDepthdNV( GLdouble depth ) { }
static void null_glClearDepthf( GLfloat d ) { }
static void null_glClearDepthfOES( GLclampf depth ) { }
static void null_glClearDepthxOES( GLfixed depth ) { }
static void null_glClearNamedBufferData( GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data ) { }
static void null_glClearNamedBufferDataEXT( GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data ) { }
static void null_glClearNamedBufferSubData( GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data ) { }
static void null_glClearNamedBufferSubDataEXT( GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data ) { }
static void null_glClearNamedFramebufferfi( GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil ) { }
static void null_glClearNamedFramebufferfv( GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value ) { }
static void null_glClearNamedFramebufferiv( GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value ) { }
static void null_glClearNamedFramebufferuiv( GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value ) { }
static void null_glClearTexImage( GLuint texture, GLint level, GLenum format, GLenum type, const void *data ) { }
static void null_glClearTexSubImage( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data ) { }
static void null_glClientActiveTexture( GLenum texture ) { }
static void null_glClientActiveTextureARB( GLenum texture ) { }
static void null_glClientActiveVertexStreamATI( GLenum stream ) { }
static void null_glClientAttribDefaultEXT( GLbitfield mask ) { }
static void null_glClientWaitSemaphoreui64NVX( GLsizei fenceObjectCount, const GLuint *semaphoreArray, const GLuint64 *fenceValueArray ) { }
static GLenum null_glClientWaitSync( GLsync sync, GLbitfield flags, GLuint64 timeout ) { return 0; }
static void null_glClipControl( GLenum origin, GLenum depth ) { }
static void null_glClipPlanefOES( GLenum plane, const GLfloat *equation ) { }
static void null_glClipPlanexOES( GLenum plane, const GLfixed *equation ) { }
static void null_glColor3fVertex3fSUN( GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glColor3fVertex3fvSUN( const GLfloat *c, const GLfloat *v ) { }
static void null_glColor3hNV( GLhalfNV red, GLhalfNV green, GLhalfNV blue ) { }
static void null_glColor3hvNV( const GLhalfNV *v ) { }
static void null_glColor3xOES( GLfixed red, GLfixed green, GLfixed blue ) { }
static void null_glColor3xvOES( const GLfixed *components ) { }
static void null_glColor4fNormal3fVertex3fSUN( GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glColor4fNormal3fVertex3fvSUN( const GLfloat *c, const GLfloat *n, const GLfloat *v ) { }
static void null_glColor4hNV( GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha ) { }
static void null_glColor4hvNV( const GLhalfNV *v ) { }
static void null_glColor4ubVertex2fSUN( GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y ) { }
static void null_glColor4ubVertex2fvSUN( const GLubyte *c, const GLfloat *v ) { }
static void null_glColor4ubVertex3fSUN( GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glColor4ubVertex3fvSUN( const GLubyte *c, const GLfloat *v ) { }
static void null_glColor4xOES( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) { }
static void null_glColor4xvOES( const GLfixed *components ) { }
static void null_glColorFormatNV( GLint size, GLenum type, GLsizei stride ) { }
static void null_glColorFragmentOp1ATI( GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod ) { }
static void null_glColorFragmentOp2ATI( GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod ) { }
static void null_glColorFragmentOp3ATI( GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod ) { }
static void null_glColorMaskIndexedEXT( GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a ) { }
static void null_glColorMaski( GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a ) { }
static void null_glColorP3ui( GLenum type, GLuint color ) { }
static void null_glColorP3uiv( GLenum type, const GLuint *color ) { }
static void null_glColorP4ui( GLenum type, GLuint color ) { }
static void null_glColorP4uiv( GLenum type, const GLuint *color ) { }
static void null_glColorPointerEXT( GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer ) { }
static void null_glColorPointerListIBM( GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride ) { }
static void null_glColorPointervINTEL( GLint size, GLenum type, const void **pointer ) { }
static void null_glColorSubTable( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data ) { }
static void null_glColorSubTableEXT( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data ) { }
static void null_glColorTable( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table ) { }
static void null_glColorTableEXT( GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void *table ) { }
static void null_glColorTableParameterfv( GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glColorTableParameterfvSGI( GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glColorTableParameteriv( GLenum target, GLenum pname, const GLint *params ) { }
static void null_glColorTableParameterivSGI( GLenum target, GLenum pname, const GLint *params ) { }
static void null_glColorTableSGI( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table ) { }
static void null_glCombinerInputNV( GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage ) { }
static void null_glCombinerOutputNV( GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum ) { }
static void null_glCombinerParameterfNV( GLenum pname, GLfloat param ) { }
static void null_glCombinerParameterfvNV( GLenum pname, const GLfloat *params ) { }
static void null_glCombinerParameteriNV( GLenum pname, GLint param ) { }
static void null_glCombinerParameterivNV( GLenum pname, const GLint *params ) { }
static void null_glCombinerStageParameterfvNV( GLenum stage, GLenum pname, const GLfloat *params ) { }
static void null_glCommandListSegmentsNV( GLuint list, GLuint segments ) { }
static void null_glCompileCommandListNV( GLuint list ) { }
static void null_glCompileShader( GLuint shader ) { }
static void null_glCompileShaderARB( GLhandleARB shaderObj ) { }
static void null_glCompileShaderIncludeARB( GLuint shader, GLsizei count, const GLchar *const*path, const GLint *length ) { }
static void null_glCompressedMultiTexImage1DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits ) { }
static void null_glCompressedMultiTexImage2DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits ) { }
static void null_glCompressedMultiTexImage3DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits ) { }
static void null_glCompressedMultiTexSubImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits ) { }
static void null_glCompressedMultiTexSubImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits ) { }
static void null_glCompressedMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits ) { }
static void null_glCompressedTexImage1D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTexImage1DARB( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTexImage2DARB( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTexImage3D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTexImage3DARB( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTexSubImage1DARB( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTexSubImage2DARB( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTexSubImage3DARB( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTextureImage1DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits ) { }
static void null_glCompressedTextureImage2DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits ) { }
static void null_glCompressedTextureImage3DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits ) { }
static void null_glCompressedTextureSubImage1D( GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTextureSubImage1DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits ) { }
static void null_glCompressedTextureSubImage2D( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTextureSubImage2DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits ) { }
static void null_glCompressedTextureSubImage3D( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data ) { }
static void null_glCompressedTextureSubImage3DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits ) { }
static void null_glConservativeRasterParameterfNV( GLenum pname, GLfloat value ) { }
static void null_glConservativeRasterParameteriNV( GLenum pname, GLint param ) { }
static void null_glConvolutionFilter1D( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image ) { }
static void null_glConvolutionFilter1DEXT( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image ) { }
static void null_glConvolutionFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image ) { }
static void null_glConvolutionFilter2DEXT( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image ) { }
static void null_glConvolutionParameterf( GLenum target, GLenum pname, GLfloat params ) { }
static void null_glConvolutionParameterfEXT( GLenum target, GLenum pname, GLfloat params ) { }
static void null_glConvolutionParameterfv( GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glConvolutionParameterfvEXT( GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glConvolutionParameteri( GLenum target, GLenum pname, GLint params ) { }
static void null_glConvolutionParameteriEXT( GLenum target, GLenum pname, GLint params ) { }
static void null_glConvolutionParameteriv( GLenum target, GLenum pname, const GLint *params ) { }
static void null_glConvolutionParameterivEXT( GLenum target, GLenum pname, const GLint *params ) { }
static void null_glConvolutionParameterxOES( GLenum target, GLenum pname, GLfixed param ) { }
static void null_glConvolutionParameterxvOES( GLenum target, GLenum pname, const GLfixed *params ) { }
static void null_glCopyBufferSubData( GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size ) { }
static void null_glCopyColorSubTable( GLenum target, GLsizei start, GLint x, GLint y, GLsizei width ) { }
static void null_glCopyColorSubTableEXT( GLenum target, GLsizei start, GLint x, GLint y, GLsizei width ) { }
static void null_glCopyColorTable( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ) { }
static void null_glCopyColorTableSGI( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ) { }
static void null_glCopyConvolutionFilter1D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ) { }
static void null_glCopyConvolutionFilter1DEXT( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ) { }
static void null_glCopyConvolutionFilter2D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCopyConvolutionFilter2DEXT( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCopyImageSubData( GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth ) { }
static void null_glCopyImageSubDataNV( GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth ) { }
static void null_glCopyMultiTexImage1DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ) { }
static void null_glCopyMultiTexImage2DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) { }
static void null_glCopyMultiTexSubImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ) { }
static void null_glCopyMultiTexSubImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCopyMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCopyNamedBufferSubData( GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size ) { }
static void null_glCopyPathNV( GLuint resultPath, GLuint srcPath ) { }
static void null_glCopyTexImage1DEXT( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ) { }
static void null_glCopyTexImage2DEXT( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) { }
static void null_glCopyTexSubImage1DEXT( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ) { }
static void null_glCopyTexSubImage2DEXT( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCopyTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCopyTexSubImage3DEXT( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCopyTextureImage1DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ) { }
static void null_glCopyTextureImage2DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) { }
static void null_glCopyTextureSubImage1D( GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ) { }
static void null_glCopyTextureSubImage1DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ) { }
static void null_glCopyTextureSubImage2D( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCopyTextureSubImage2DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCopyTextureSubImage3D( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCopyTextureSubImage3DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glCoverFillPathInstancedNV( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues ) { }
static void null_glCoverFillPathNV( GLuint path, GLenum coverMode ) { }
static void null_glCoverStrokePathInstancedNV( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues ) { }
static void null_glCoverStrokePathNV( GLuint path, GLenum coverMode ) { }
static void null_glCoverageModulationNV( GLenum components ) { }
static void null_glCoverageModulationTableNV( GLsizei n, const GLfloat *v ) { }
static void null_glCreateBuffers( GLsizei n, GLuint *buffers ) { }
static void null_glCreateCommandListsNV( GLsizei n, GLuint *lists ) { }
static void null_glCreateFramebuffers( GLsizei n, GLuint *framebuffers ) { }
static void null_glCreateMemoryObjectsEXT( GLsizei n, GLuint *memoryObjects ) { }
static void null_glCreatePerfQueryINTEL( GLuint queryId, GLuint *queryHandle ) { }
static GLuint null_glCreateProgram(void) { return 0; }
static GLhandleARB null_glCreateProgramObjectARB(void) { return 0; }
static void null_glCreateProgramPipelines( GLsizei n, GLuint *pipelines ) { }
static GLuint null_glCreateProgressFenceNVX(void) { return 0; }
static void null_glCreateQueries( GLenum target, GLsizei n, GLuint *ids ) { }
static void null_glCreateRenderbuffers( GLsizei n, GLuint *renderbuffers ) { }
static void null_glCreateSamplers( GLsizei n, GLuint *samplers ) { }
static GLuint null_glCreateShader( GLenum type ) { return 0; }
static GLhandleARB null_glCreateShaderObjectARB( GLenum shaderType ) { return 0; }
static GLuint null_glCreateShaderProgramEXT( GLenum type, const GLchar *string ) { return 0; }
static GLuint null_glCreateShaderProgramv( GLenum type, GLsizei count, const GLchar *const*strings ) { return 0; }
static void null_glCreateStatesNV( GLsizei n, GLuint *states ) { }
static GLsync null_glCreateSyncFromCLeventARB( struct _cl_context *context, struct _cl_event *event, GLbitfield flags ) { return 0; }
static void null_glCreateTextures( GLenum target, GLsizei n, GLuint *textures ) { }
static void null_glCreateTransformFeedbacks( GLsizei n, GLuint *ids ) { }
static void null_glCreateVertexArrays( GLsizei n, GLuint *arrays ) { }
static void null_glCullParameterdvEXT( GLenum pname, GLdouble *params ) { }
static void null_glCullParameterfvEXT( GLenum pname, GLfloat *params ) { }
static void null_glCurrentPaletteMatrixARB( GLint index ) { }
static void null_glDebugMessageCallback( GLDEBUGPROC callback, const void *userParam ) { }
static void null_glDebugMessageCallbackAMD( GLDEBUGPROCAMD callback, void *userParam ) { }
static void null_glDebugMessageCallbackARB( GLDEBUGPROCARB callback, const void *userParam ) { }
static void null_glDebugMessageControl( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) { }
static void null_glDebugMessageControlARB( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) { }
static void null_glDebugMessageEnableAMD( GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) { }
static void null_glDebugMessageInsert( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf ) { }
static void null_glDebugMessageInsertAMD( GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf ) { }
static void null_glDebugMessageInsertARB( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf ) { }
static void null_glDeformSGIX( GLbitfield mask ) { }
static void null_glDeformationMap3dSGIX( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points ) { }
static void null_glDeformationMap3fSGIX( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points ) { }
static void null_glDeleteAsyncMarkersSGIX( GLuint marker, GLsizei range ) { }
static void null_glDeleteBufferRegion( GLenum region ) { }
static void null_glDeleteBuffers( GLsizei n, const GLuint *buffers ) { }
static void null_glDeleteBuffersARB( GLsizei n, const GLuint *buffers ) { }
static void null_glDeleteCommandListsNV( GLsizei n, const GLuint *lists ) { }
static void null_glDeleteFencesAPPLE( GLsizei n, const GLuint *fences ) { }
static void null_glDeleteFencesNV( GLsizei n, const GLuint *fences ) { }
static void null_glDeleteFragmentShaderATI( GLuint id ) { }
static void null_glDeleteFramebuffers( GLsizei n, const GLuint *framebuffers ) { }
static void null_glDeleteFramebuffersEXT( GLsizei n, const GLuint *framebuffers ) { }
static void null_glDeleteMemoryObjectsEXT( GLsizei n, const GLuint *memoryObjects ) { }
static void null_glDeleteNamedStringARB( GLint namelen, const GLchar *name ) { }
static void null_glDeleteNamesAMD( GLenum identifier, GLuint num, const GLuint *names ) { }
static void null_glDeleteObjectARB( GLhandleARB obj ) { }
static void null_glDeleteObjectBufferATI( GLuint buffer ) { }
static void null_glDeleteOcclusionQueriesNV( GLsizei n, const GLuint *ids ) { }
static void null_glDeletePathsNV( GLuint path, GLsizei range ) { }
static void null_glDeletePerfMonitorsAMD( GLsizei n, GLuint *monitors ) { }
static void null_glDeletePerfQueryINTEL( GLuint queryHandle ) { }
static void null_glDeleteProgram( GLuint program ) { }
static void null_glDeleteProgramPipelines( GLsizei n, const GLuint *pipelines ) { }
static void null_glDeleteProgramsARB( GLsizei n, const GLuint *programs ) { }
static void null_glDeleteProgramsNV( GLsizei n, const GLuint *programs ) { }
static void null_glDeleteQueries( GLsizei n, const GLuint *ids ) { }
static void null_glDeleteQueriesARB( GLsizei n, const GLuint *ids ) { }
static void null_glDeleteQueryResourceTagNV( GLsizei n, const GLint *tagIds ) { }
static void null_glDeleteRenderbuffers( GLsizei n, const GLuint *renderbuffers ) { }
static void null_glDeleteRenderbuffersEXT( GLsizei n, const GLuint *renderbuffers ) { }
static void null_glDeleteSamplers( GLsizei count, const GLuint *samplers ) { }
static void null_glDeleteSemaphoresEXT( GLsizei n, const GLuint *semaphores ) { }
static void null_glDeleteShader( GLuint shader ) { }
static void null_glDeleteStatesNV( GLsizei n, const GLuint *states ) { }
static void null_glDeleteSync( GLsync sync ) { }
static void null_glDeleteTexturesEXT( GLsizei n, const GLuint *textures ) { }
static void null_glDeleteTransformFeedbacks( GLsizei n, const GLuint *ids ) { }
static void null_glDeleteTransformFeedbacksNV( GLsizei n, const GLuint *ids ) { }
static void null_glDeleteVertexArrays( GLsizei n, const GLuint *arrays ) { }
static void null_glDeleteVertexArraysAPPLE( GLsizei n, const GLuint *arrays ) { }
static void null_glDeleteVertexShaderEXT( GLuint id ) { }
static void null_glDepthBoundsEXT( GLclampd zmin, GLclampd zmax ) { }
static void null_glDepthBoundsdNV( GLdouble zmin, GLdouble zmax ) { }
static void null_glDepthRangeArraydvNV( GLuint first, GLsizei count, const GLdouble *v ) { }
static void null_glDepthRangeArrayv( GLuint first, GLsizei count, const GLdouble *v ) { }
static void null_glDepthRangeIndexed( GLuint index, GLdouble n, GLdouble f ) { }
static void null_glDepthRangeIndexeddNV( GLuint index, GLdouble n, GLdouble f ) { }
static void null_glDepthRangedNV( GLdouble zNear, GLdouble zFar ) { }
static void null_glDepthRangef( GLfloat n, GLfloat f ) { }
static void null_glDepthRangefOES( GLclampf n, GLclampf f ) { }
static void null_glDepthRangexOES( GLfixed n, GLfixed f ) { }
static void null_glDetachObjectARB( GLhandleARB containerObj, GLhandleARB attachedObj ) { }
static void null_glDetachShader( GLuint program, GLuint shader ) { }
static void null_glDetailTexFuncSGIS( GLenum target, GLsizei n, const GLfloat *points ) { }
static void null_glDisableClientStateIndexedEXT( GLenum array, GLuint index ) { }
static void null_glDisableClientStateiEXT( GLenum array, GLuint index ) { }
static void null_glDisableIndexedEXT( GLenum target, GLuint index ) { }
static void null_glDisableVariantClientStateEXT( GLuint id ) { }
static void null_glDisableVertexArrayAttrib( GLuint vaobj, GLuint index ) { }
static void null_glDisableVertexArrayAttribEXT( GLuint vaobj, GLuint index ) { }
static void null_glDisableVertexArrayEXT( GLuint vaobj, GLenum array ) { }
static void null_glDisableVertexAttribAPPLE( GLuint index, GLenum pname ) { }
static void null_glDisableVertexAttribArray( GLuint index ) { }
static void null_glDisableVertexAttribArrayARB( GLuint index ) { }
static void null_glDisablei( GLenum target, GLuint index ) { }
static void null_glDispatchCompute( GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z ) { }
static void null_glDispatchComputeGroupSizeARB( GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z ) { }
static void null_glDispatchComputeIndirect( GLintptr indirect ) { }
static void null_glDrawArraysEXT( GLenum mode, GLint first, GLsizei count ) { }
static void null_glDrawArraysIndirect( GLenum mode, const void *indirect ) { }
static void null_glDrawArraysInstanced( GLenum mode, GLint first, GLsizei count, GLsizei instancecount ) { }
static void null_glDrawArraysInstancedARB( GLenum mode, GLint first, GLsizei count, GLsizei primcount ) { }
static void null_glDrawArraysInstancedBaseInstance( GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance ) { }
static void null_glDrawArraysInstancedEXT( GLenum mode, GLint start, GLsizei count, GLsizei primcount ) { }
static void null_glDrawBufferRegion( GLenum region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest ) { }
static void null_glDrawBuffers( GLsizei n, const GLenum *bufs ) { }
static void null_glDrawBuffersARB( GLsizei n, const GLenum *bufs ) { }
static void null_glDrawBuffersATI( GLsizei n, const GLenum *bufs ) { }
static void null_glDrawCommandsAddressNV( GLenum primitiveMode, const GLuint64 *indirects, const GLsizei *sizes, GLuint count ) { }
static void null_glDrawCommandsNV( GLenum primitiveMode, GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, GLuint count ) { }
static void null_glDrawCommandsStatesAddressNV( const GLuint64 *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count ) { }
static void null_glDrawCommandsStatesNV( GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count ) { }
static void null_glDrawElementArrayAPPLE( GLenum mode, GLint first, GLsizei count ) { }
static void null_glDrawElementArrayATI( GLenum mode, GLsizei count ) { }
static void null_glDrawElementsBaseVertex( GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex ) { }
static void null_glDrawElementsIndirect( GLenum mode, GLenum type, const void *indirect ) { }
static void null_glDrawElementsInstanced( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount ) { }
static void null_glDrawElementsInstancedARB( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount ) { }
static void null_glDrawElementsInstancedBaseInstance( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance ) { }
static void null_glDrawElementsInstancedBaseVertex( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex ) { }
static void null_glDrawElementsInstancedBaseVertexBaseInstance( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance ) { }
static void null_glDrawElementsInstancedEXT( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount ) { }
static void null_glDrawMeshArraysSUN( GLenum mode, GLint first, GLsizei count, GLsizei width ) { }
static void null_glDrawMeshTasksIndirectNV( GLintptr indirect ) { }
static void null_glDrawMeshTasksNV( GLuint first, GLuint count ) { }
static void null_glDrawRangeElementArrayAPPLE( GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count ) { }
static void null_glDrawRangeElementArrayATI( GLenum mode, GLuint start, GLuint end, GLsizei count ) { }
static void null_glDrawRangeElements( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices ) { }
static void null_glDrawRangeElementsBaseVertex( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex ) { }
static void null_glDrawRangeElementsEXT( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices ) { }
static void null_glDrawTextureNV( GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1 ) { }
static void null_glDrawTransformFeedback( GLenum mode, GLuint id ) { }
static void null_glDrawTransformFeedbackInstanced( GLenum mode, GLuint id, GLsizei instancecount ) { }
static void null_glDrawTransformFeedbackNV( GLenum mode, GLuint id ) { }
static void null_glDrawTransformFeedbackStream( GLenum mode, GLuint id, GLuint stream ) { }
static void null_glDrawTransformFeedbackStreamInstanced( GLenum mode, GLuint id, GLuint stream, GLsizei instancecount ) { }
static void null_glDrawVkImageNV( GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1 ) { }
static void null_glEGLImageTargetTexStorageEXT( GLenum target, GLeglImageOES image, const GLint* attrib_list ) { }
static void null_glEGLImageTargetTextureStorageEXT( GLuint texture, GLeglImageOES image, const GLint* attrib_list ) { }
static void null_glEdgeFlagFormatNV( GLsizei stride ) { }
static void null_glEdgeFlagPointerEXT( GLsizei stride, GLsizei count, const GLboolean *pointer ) { }
static void null_glEdgeFlagPointerListIBM( GLint stride, const GLboolean **pointer, GLint ptrstride ) { }
static void null_glElementPointerAPPLE( GLenum type, const void *pointer ) { }
static void null_glElementPointerATI( GLenum type, const void *pointer ) { }
static void null_glEnableClientStateIndexedEXT( GLenum array, GLuint index ) { }
static void null_glEnableClientStateiEXT( GLenum array, GLuint index ) { }
static void null_glEnableIndexedEXT( GLenum target, GLuint index ) { }
static void null_glEnableVariantClientStateEXT( GLuint id ) { }
static void null_glEnableVertexArrayAttrib( GLuint vaobj, GLuint index ) { }
static void null_glEnableVertexArrayAttribEXT( GLuint vaobj, GLuint index ) { }
static void null_glEnableVertexArrayEXT( GLuint vaobj, GLenum array ) { }
static void null_glEnableVertexAttribAPPLE( GLuint index, GLenum pname ) { }
static void null_glEnableVertexAttribArray( GLuint index ) { }
static void null_glEnableVertexAttribArrayARB( GLuint index ) { }
static void null_glEnablei( GLenum target, GLuint index ) { }
static void null_glEndConditionalRender(void) { }
static void null_glEndConditionalRenderNV(void) { }
static void null_glEndConditionalRenderNVX(void) { }
static void null_glEndFragmentShaderATI(void) { }
static void null_glEndOcclusionQueryNV(void) { }
static void null_glEndPerfMonitorAMD( GLuint monitor ) { }
static void null_glEndPerfQueryINTEL( GLuint queryHandle ) { }
static void null_glEndQuery( GLenum target ) { }
static void null_glEndQueryARB( GLenum target ) { }
static void null_glEndQueryIndexed( GLenum target, GLuint index ) { }
static void null_glEndTransformFeedback(void) { }
static void null_glEndTransformFeedbackEXT(void) { }
static void null_glEndTransformFeedbackNV(void) { }
static void null_glEndVertexShaderEXT(void) { }
static void null_glEndVideoCaptureNV( GLuint video_capture_slot ) { }
static void null_glEvalCoord1xOES( GLfixed u ) { }
static void null_glEvalCoord1xvOES( const GLfixed *coords ) { }
static void null_glEvalCoord2xOES( GLfixed u, GLfixed v ) { }
static void null_glEvalCoord2xvOES( const GLfixed *coords ) { }
static void null_glEvalMapsNV( GLenum target, GLenum mode ) { }
static void null_glEvaluateDepthValuesARB(void) { }
static void null_glExecuteProgramNV( GLenum target, GLuint id, const GLfloat *params ) { }
static void null_glExtractComponentEXT( GLuint res, GLuint src, GLuint num ) { }
static void null_glFeedbackBufferxOES( GLsizei n, GLenum type, const GLfixed *buffer ) { }
static GLsync null_glFenceSync( GLenum condition, GLbitfield flags ) { return 0; }
static void null_glFinalCombinerInputNV( GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage ) { }
static GLint null_glFinishAsyncSGIX( GLuint *markerp ) { return 0; }
static void null_glFinishFenceAPPLE( GLuint fence ) { }
static void null_glFinishFenceNV( GLuint fence ) { }
static void null_glFinishObjectAPPLE( GLenum object, GLint name ) { }
static void null_glFinishTextureSUNX(void) { }
static void null_glFlushMappedBufferRange( GLenum target, GLintptr offset, GLsizeiptr length ) { }
static void null_glFlushMappedBufferRangeAPPLE( GLenum target, GLintptr offset, GLsizeiptr size ) { }
static void null_glFlushMappedNamedBufferRange( GLuint buffer, GLintptr offset, GLsizeiptr length ) { }
static void null_glFlushMappedNamedBufferRangeEXT( GLuint buffer, GLintptr offset, GLsizeiptr length ) { }
static void null_glFlushPixelDataRangeNV( GLenum target ) { }
static void null_glFlushRasterSGIX(void) { }
static void null_glFlushStaticDataIBM( GLenum target ) { }
static void null_glFlushVertexArrayRangeAPPLE( GLsizei length, void *pointer ) { }
static void null_glFlushVertexArrayRangeNV(void) { }
static void null_glFogCoordFormatNV( GLenum type, GLsizei stride ) { }
static void null_glFogCoordPointer( GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glFogCoordPointerEXT( GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glFogCoordPointerListIBM( GLenum type, GLint stride, const void **pointer, GLint ptrstride ) { }
static void null_glFogCoordd( GLdouble coord ) { }
static void null_glFogCoorddEXT( GLdouble coord ) { }
static void null_glFogCoorddv( const GLdouble *coord ) { }
static void null_glFogCoorddvEXT( const GLdouble *coord ) { }
static void null_glFogCoordf( GLfloat coord ) { }
static void null_glFogCoordfEXT( GLfloat coord ) { }
static void null_glFogCoordfv( const GLfloat *coord ) { }
static void null_glFogCoordfvEXT( const GLfloat *coord ) { }
static void null_glFogCoordhNV( GLhalfNV fog ) { }
static void null_glFogCoordhvNV( const GLhalfNV *fog ) { }
static void null_glFogFuncSGIS( GLsizei n, const GLfloat *points ) { }
static void null_glFogxOES( GLenum pname, GLfixed param ) { }
static void null_glFogxvOES( GLenum pname, const GLfixed *param ) { }
static void null_glFragmentColorMaterialSGIX( GLenum face, GLenum mode ) { }
static void null_glFragmentCoverageColorNV( GLuint color ) { }
static void null_glFragmentLightModelfSGIX( GLenum pname, GLfloat param ) { }
static void null_glFragmentLightModelfvSGIX( GLenum pname, const GLfloat *params ) { }
static void null_glFragmentLightModeliSGIX( GLenum pname, GLint param ) { }
static void null_glFragmentLightModelivSGIX( GLenum pname, const GLint *params ) { }
static void null_glFragmentLightfSGIX( GLenum light, GLenum pname, GLfloat param ) { }
static void null_glFragmentLightfvSGIX( GLenum light, GLenum pname, const GLfloat *params ) { }
static void null_glFragmentLightiSGIX( GLenum light, GLenum pname, GLint param ) { }
static void null_glFragmentLightivSGIX( GLenum light, GLenum pname, const GLint *params ) { }
static void null_glFragmentMaterialfSGIX( GLenum face, GLenum pname, GLfloat param ) { }
static void null_glFragmentMaterialfvSGIX( GLenum face, GLenum pname, const GLfloat *params ) { }
static void null_glFragmentMaterialiSGIX( GLenum face, GLenum pname, GLint param ) { }
static void null_glFragmentMaterialivSGIX( GLenum face, GLenum pname, const GLint *params ) { }
static void null_glFrameTerminatorGREMEDY(void) { }
static void null_glFrameZoomSGIX( GLint factor ) { }
static void null_glFramebufferDrawBufferEXT( GLuint framebuffer, GLenum mode ) { }
static void null_glFramebufferDrawBuffersEXT( GLuint framebuffer, GLsizei n, const GLenum *bufs ) { }
static void null_glFramebufferFetchBarrierEXT(void) { }
static void null_glFramebufferParameteri( GLenum target, GLenum pname, GLint param ) { }
static void null_glFramebufferParameteriMESA( GLenum target, GLenum pname, GLint param ) { }
static void null_glFramebufferReadBufferEXT( GLuint framebuffer, GLenum mode ) { }
static void null_glFramebufferRenderbuffer( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) { }
static void null_glFramebufferRenderbufferEXT( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) { }
static void null_glFramebufferSampleLocationsfvARB( GLenum target, GLuint start, GLsizei count, const GLfloat *v ) { }
static void null_glFramebufferSampleLocationsfvNV( GLenum target, GLuint start, GLsizei count, const GLfloat *v ) { }
static void null_glFramebufferSamplePositionsfvAMD( GLenum target, GLuint numsamples, GLuint pixelindex, const GLfloat *values ) { }
static void null_glFramebufferTexture( GLenum target, GLenum attachment, GLuint texture, GLint level ) { }
static void null_glFramebufferTexture1D( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) { }
static void null_glFramebufferTexture1DEXT( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) { }
static void null_glFramebufferTexture2D( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) { }
static void null_glFramebufferTexture2DEXT( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) { }
static void null_glFramebufferTexture3D( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset ) { }
static void null_glFramebufferTexture3DEXT( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset ) { }
static void null_glFramebufferTextureARB( GLenum target, GLenum attachment, GLuint texture, GLint level ) { }
static void null_glFramebufferTextureEXT( GLenum target, GLenum attachment, GLuint texture, GLint level ) { }
static void null_glFramebufferTextureFaceARB( GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face ) { }
static void null_glFramebufferTextureFaceEXT( GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face ) { }
static void null_glFramebufferTextureLayer( GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer ) { }
static void null_glFramebufferTextureLayerARB( GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer ) { }
static void null_glFramebufferTextureLayerEXT( GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer ) { }
static void null_glFramebufferTextureMultiviewOVR( GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews ) { }
static void null_glFreeObjectBufferATI( GLuint buffer ) { }
static void null_glFrustumfOES( GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f ) { }
static void null_glFrustumxOES( GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f ) { }
static GLuint null_glGenAsyncMarkersSGIX( GLsizei range ) { return 0; }
static void null_glGenBuffers( GLsizei n, GLuint *buffers ) { }
static void null_glGenBuffersARB( GLsizei n, GLuint *buffers ) { }
static void null_glGenFencesAPPLE( GLsizei n, GLuint *fences ) { }
static void null_glGenFencesNV( GLsizei n, GLuint *fences ) { }
static GLuint null_glGenFragmentShadersATI( GLuint range ) { return 0; }
static void null_glGenFramebuffers( GLsizei n, GLuint *framebuffers ) { }
static void null_glGenFramebuffersEXT( GLsizei n, GLuint *framebuffers ) { }
static void null_glGenNamesAMD( GLenum identifier, GLuint num, GLuint *names ) { }
static void null_glGenOcclusionQueriesNV( GLsizei n, GLuint *ids ) { }
static GLuint null_glGenPathsNV( GLsizei range ) { return 0; }
static void null_glGenPerfMonitorsAMD( GLsizei n, GLuint *monitors ) { }
static void null_glGenProgramPipelines( GLsizei n, GLuint *pipelines ) { }
static void null_glGenProgramsARB( GLsizei n, GLuint *programs ) { }
static void null_glGenProgramsNV( GLsizei n, GLuint *programs ) { }
static void null_glGenQueries( GLsizei n, GLuint *ids ) { }
static void null_glGenQueriesARB( GLsizei n, GLuint *ids ) { }
static void null_glGenQueryResourceTagNV( GLsizei n, GLint *tagIds ) { }
static void null_glGenRenderbuffers( GLsizei n, GLuint *renderbuffers ) { }
static void null_glGenRenderbuffersEXT( GLsizei n, GLuint *renderbuffers ) { }
static void null_glGenSamplers( GLsizei count, GLuint *samplers ) { }
static void null_glGenSemaphoresEXT( GLsizei n, GLuint *semaphores ) { }
static GLuint null_glGenSymbolsEXT( GLenum datatype, GLenum storagetype, GLenum range, GLuint components ) { return 0; }
static void null_glGenTexturesEXT( GLsizei n, GLuint *textures ) { }
static void null_glGenTransformFeedbacks( GLsizei n, GLuint *ids ) { }
static void null_glGenTransformFeedbacksNV( GLsizei n, GLuint *ids ) { }
static void null_glGenVertexArrays( GLsizei n, GLuint *arrays ) { }
static void null_glGenVertexArraysAPPLE( GLsizei n, GLuint *arrays ) { }
static GLuint null_glGenVertexShadersEXT( GLuint range ) { return 0; }
static void null_glGenerateMipmap( GLenum target ) { }
static void null_glGenerateMipmapEXT( GLenum target ) { }
static void null_glGenerateMultiTexMipmapEXT( GLenum texunit, GLenum target ) { }
static void null_glGenerateTextureMipmap( GLuint texture ) { }
static void null_glGenerateTextureMipmapEXT( GLuint texture, GLenum target ) { }
static void null_glGetActiveAtomicCounterBufferiv( GLuint program, GLuint bufferIndex, GLenum pname, GLint *params ) { }
static void null_glGetActiveAttrib( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name ) { }
static void null_glGetActiveAttribARB( GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name ) { }
static void null_glGetActiveSubroutineName( GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name ) { }
static void null_glGetActiveSubroutineUniformName( GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name ) { }
static void null_glGetActiveSubroutineUniformiv( GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values ) { }
static void null_glGetActiveUniform( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name ) { }
static void null_glGetActiveUniformARB( GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name ) { }
static void null_glGetActiveUniformBlockName( GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName ) { }
static void null_glGetActiveUniformBlockiv( GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params ) { }
static void null_glGetActiveUniformName( GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName ) { }
static void null_glGetActiveUniformsiv( GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params ) { }
static void null_glGetActiveVaryingNV( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name ) { }
static void null_glGetArrayObjectfvATI( GLenum array, GLenum pname, GLfloat *params ) { }
static void null_glGetArrayObjectivATI( GLenum array, GLenum pname, GLint *params ) { }
static void null_glGetAttachedObjectsARB( GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj ) { }
static void null_glGetAttachedShaders( GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders ) { }
static GLint null_glGetAttribLocation( GLuint program, const GLchar *name ) { return 0; }
static GLint null_glGetAttribLocationARB( GLhandleARB programObj, const GLcharARB *name ) { return 0; }
static void null_glGetBooleanIndexedvEXT( GLenum target, GLuint index, GLboolean *data ) { }
static void null_glGetBooleani_v( GLenum target, GLuint index, GLboolean *data ) { }
static void null_glGetBufferParameteri64v( GLenum target, GLenum pname, GLint64 *params ) { }
static void null_glGetBufferParameteriv( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetBufferParameterivARB( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetBufferParameterui64vNV( GLenum target, GLenum pname, GLuint64EXT *params ) { }
static void null_glGetBufferPointerv( GLenum target, GLenum pname, void **params ) { }
static void null_glGetBufferPointervARB( GLenum target, GLenum pname, void **params ) { }
static void null_glGetBufferSubData( GLenum target, GLintptr offset, GLsizeiptr size, void *data ) { }
static void null_glGetBufferSubDataARB( GLenum target, GLintptrARB offset, GLsizeiptrARB size, void *data ) { }
static void null_glGetClipPlanefOES( GLenum plane, GLfloat *equation ) { }
static void null_glGetClipPlanexOES( GLenum plane, GLfixed *equation ) { }
static void null_glGetColorTable( GLenum target, GLenum format, GLenum type, void *table ) { }
static void null_glGetColorTableEXT( GLenum target, GLenum format, GLenum type, void *data ) { }
static void null_glGetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetColorTableParameterfvEXT( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetColorTableParameterfvSGI( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetColorTableParameteriv( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetColorTableParameterivEXT( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetColorTableParameterivSGI( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetColorTableSGI( GLenum target, GLenum format, GLenum type, void *table ) { }
static void null_glGetCombinerInputParameterfvNV( GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params ) { }
static void null_glGetCombinerInputParameterivNV( GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params ) { }
static void null_glGetCombinerOutputParameterfvNV( GLenum stage, GLenum portion, GLenum pname, GLfloat *params ) { }
static void null_glGetCombinerOutputParameterivNV( GLenum stage, GLenum portion, GLenum pname, GLint *params ) { }
static void null_glGetCombinerStageParameterfvNV( GLenum stage, GLenum pname, GLfloat *params ) { }
static GLuint null_glGetCommandHeaderNV( GLenum tokenID, GLuint size ) { return 0; }
static void null_glGetCompressedMultiTexImageEXT( GLenum texunit, GLenum target, GLint lod, void *img ) { }
static void null_glGetCompressedTexImage( GLenum target, GLint level, void *img ) { }
static void null_glGetCompressedTexImageARB( GLenum target, GLint level, void *img ) { }
static void null_glGetCompressedTextureImage( GLuint texture, GLint level, GLsizei bufSize, void *pixels ) { }
static void null_glGetCompressedTextureImageEXT( GLuint texture, GLenum target, GLint lod, void *img ) { }
static void null_glGetCompressedTextureSubImage( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels ) { }
static void null_glGetConvolutionFilter( GLenum target, GLenum format, GLenum type, void *image ) { }
static void null_glGetConvolutionFilterEXT( GLenum target, GLenum format, GLenum type, void *image ) { }
static void null_glGetConvolutionParameterfv( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetConvolutionParameterfvEXT( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetConvolutionParameteriv( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetConvolutionParameterivEXT( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetConvolutionParameterxvOES( GLenum target, GLenum pname, GLfixed *params ) { }
static void null_glGetCoverageModulationTableNV( GLsizei bufSize, GLfloat *v ) { }
static GLuint null_glGetDebugMessageLog( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) { return 0; }
static GLuint null_glGetDebugMessageLogAMD( GLuint count, GLsizei bufSize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message ) { return 0; }
static GLuint null_glGetDebugMessageLogARB( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) { return 0; }
static void null_glGetDetailTexFuncSGIS( GLenum target, GLfloat *points ) { }
static void null_glGetDoubleIndexedvEXT( GLenum target, GLuint index, GLdouble *data ) { }
static void null_glGetDoublei_v( GLenum target, GLuint index, GLdouble *data ) { }
static void null_glGetDoublei_vEXT( GLenum pname, GLuint index, GLdouble *params ) { }
static void null_glGetFenceivNV( GLuint fence, GLenum pname, GLint *params ) { }
static void null_glGetFinalCombinerInputParameterfvNV( GLenum variable, GLenum pname, GLfloat *params ) { }
static void null_glGetFinalCombinerInputParameterivNV( GLenum variable, GLenum pname, GLint *params ) { }
static void null_glGetFirstPerfQueryIdINTEL( GLuint *queryId ) { }
static void null_glGetFixedvOES( GLenum pname, GLfixed *params ) { }
static void null_glGetFloatIndexedvEXT( GLenum target, GLuint index, GLfloat *data ) { }
static void null_glGetFloati_v( GLenum target, GLuint index, GLfloat *data ) { }
static void null_glGetFloati_vEXT( GLenum pname, GLuint index, GLfloat *params ) { }
static void null_glGetFogFuncSGIS( GLfloat *points ) { }
static GLint null_glGetFragDataIndex( GLuint program, const GLchar *name ) { return 0; }
static GLint null_glGetFragDataLocation( GLuint program, const GLchar *name ) { return 0; }
static GLint null_glGetFragDataLocationEXT( GLuint program, const GLchar *name ) { return 0; }
static void null_glGetFragmentLightfvSGIX( GLenum light, GLenum pname, GLfloat *params ) { }
static void null_glGetFragmentLightivSGIX( GLenum light, GLenum pname, GLint *params ) { }
static void null_glGetFragmentMaterialfvSGIX( GLenum face, GLenum pname, GLfloat *params ) { }
static void null_glGetFragmentMaterialivSGIX( GLenum face, GLenum pname, GLint *params ) { }
static void null_glGetFramebufferAttachmentParameteriv( GLenum target, GLenum attachment, GLenum pname, GLint *params ) { }
static void null_glGetFramebufferAttachmentParameterivEXT( GLenum target, GLenum attachment, GLenum pname, GLint *params ) { }
static void null_glGetFramebufferParameterfvAMD( GLenum target, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values ) { }
static void null_glGetFramebufferParameteriv( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetFramebufferParameterivEXT( GLuint framebuffer, GLenum pname, GLint *params ) { }
static void null_glGetFramebufferParameterivMESA( GLenum target, GLenum pname, GLint *params ) { }
static GLenum null_glGetGraphicsResetStatus(void) { return 0; }
static GLenum null_glGetGraphicsResetStatusARB(void) { return 0; }
static GLhandleARB null_glGetHandleARB( GLenum pname ) { return 0; }
static void null_glGetHistogram( GLenum target, GLboolean reset, GLenum format, GLenum type, void *values ) { }
static void null_glGetHistogramEXT( GLenum target, GLboolean reset, GLenum format, GLenum type, void *values ) { }
static void null_glGetHistogramParameterfv( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetHistogramParameterfvEXT( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetHistogramParameteriv( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetHistogramParameterivEXT( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetHistogramParameterxvOES( GLenum target, GLenum pname, GLfixed *params ) { }
static GLuint64 null_glGetImageHandleARB( GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format ) { return 0; }
static GLuint64 null_glGetImageHandleNV( GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format ) { return 0; }
static void null_glGetImageTransformParameterfvHP( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetImageTransformParameterivHP( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetInfoLogARB( GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog ) { }
static GLint null_glGetInstrumentsSGIX(void) { return 0; }
static void null_glGetInteger64i_v( GLenum target, GLuint index, GLint64 *data ) { }
static void null_glGetInteger64v( GLenum pname, GLint64 *data ) { }
static void null_glGetIntegerIndexedvEXT( GLenum target, GLuint index, GLint *data ) { }
static void null_glGetIntegeri_v( GLenum target, GLuint index, GLint *data ) { }
static void null_glGetIntegerui64i_vNV( GLenum value, GLuint index, GLuint64EXT *result ) { }
static void null_glGetIntegerui64vNV( GLenum value, GLuint64EXT *result ) { }
static void null_glGetInternalformatSampleivNV( GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params ) { }
static void null_glGetInternalformati64v( GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params ) { }
static void null_glGetInternalformativ( GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params ) { }
static void null_glGetInvariantBooleanvEXT( GLuint id, GLenum value, GLboolean *data ) { }
static void null_glGetInvariantFloatvEXT( GLuint id, GLenum value, GLfloat *data ) { }
static void null_glGetInvariantIntegervEXT( GLuint id, GLenum value, GLint *data ) { }
static void null_glGetLightxOES( GLenum light, GLenum pname, GLfixed *params ) { }
static void null_glGetListParameterfvSGIX( GLuint list, GLenum pname, GLfloat *params ) { }
static void null_glGetListParameterivSGIX( GLuint list, GLenum pname, GLint *params ) { }
static void null_glGetLocalConstantBooleanvEXT( GLuint id, GLenum value, GLboolean *data ) { }
static void null_glGetLocalConstantFloatvEXT( GLuint id, GLenum value, GLfloat *data ) { }
static void null_glGetLocalConstantIntegervEXT( GLuint id, GLenum value, GLint *data ) { }
static void null_glGetMapAttribParameterfvNV( GLenum target, GLuint index, GLenum pname, GLfloat *params ) { }
static void null_glGetMapAttribParameterivNV( GLenum target, GLuint index, GLenum pname, GLint *params ) { }
static void null_glGetMapControlPointsNV( GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void *points ) { }
static void null_glGetMapParameterfvNV( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetMapParameterivNV( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetMapxvOES( GLenum target, GLenum query, GLfixed *v ) { }
static void null_glGetMaterialxOES( GLenum face, GLenum pname, GLfixed param ) { }
static void null_glGetMemoryObjectDetachedResourcesuivNV( GLuint memory, GLenum pname, GLint first, GLsizei count, GLuint *params ) { }
static void null_glGetMemoryObjectParameterivEXT( GLuint memoryObject, GLenum pname, GLint *params ) { }
static void null_glGetMinmax( GLenum target, GLboolean reset, GLenum format, GLenum type, void *values ) { }
static void null_glGetMinmaxEXT( GLenum target, GLboolean reset, GLenum format, GLenum type, void *values ) { }
static void null_glGetMinmaxParameterfv( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetMinmaxParameterfvEXT( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetMinmaxParameteriv( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetMinmaxParameterivEXT( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetMultiTexEnvfvEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetMultiTexEnvivEXT( GLenum texunit, GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetMultiTexGendvEXT( GLenum texunit, GLenum coord, GLenum pname, GLdouble *params ) { }
static void null_glGetMultiTexGenfvEXT( GLenum texunit, GLenum coord, GLenum pname, GLfloat *params ) { }
static void null_glGetMultiTexGenivEXT( GLenum texunit, GLenum coord, GLenum pname, GLint *params ) { }
static void null_glGetMultiTexImageEXT( GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels ) { }
static void null_glGetMultiTexLevelParameterfvEXT( GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params ) { }
static void null_glGetMultiTexLevelParameterivEXT( GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params ) { }
static void null_glGetMultiTexParameterIivEXT( GLenum texunit, GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetMultiTexParameterIuivEXT( GLenum texunit, GLenum target, GLenum pname, GLuint *params ) { }
static void null_glGetMultiTexParameterfvEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetMultiTexParameterivEXT( GLenum texunit, GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetMultisamplefv( GLenum pname, GLuint index, GLfloat *val ) { }
static void null_glGetMultisamplefvNV( GLenum pname, GLuint index, GLfloat *val ) { }
static void null_glGetNamedBufferParameteri64v( GLuint buffer, GLenum pname, GLint64 *params ) { }
static void null_glGetNamedBufferParameteriv( GLuint buffer, GLenum pname, GLint *params ) { }
static void null_glGetNamedBufferParameterivEXT( GLuint buffer, GLenum pname, GLint *params ) { }
static void null_glGetNamedBufferParameterui64vNV( GLuint buffer, GLenum pname, GLuint64EXT *params ) { }
static void null_glGetNamedBufferPointerv( GLuint buffer, GLenum pname, void **params ) { }
static void null_glGetNamedBufferPointervEXT( GLuint buffer, GLenum pname, void **params ) { }
static void null_glGetNamedBufferSubData( GLuint buffer, GLintptr offset, GLsizeiptr size, void *data ) { }
static void null_glGetNamedBufferSubDataEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, void *data ) { }
static void null_glGetNamedFramebufferAttachmentParameteriv( GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params ) { }
static void null_glGetNamedFramebufferAttachmentParameterivEXT( GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params ) { }
static void null_glGetNamedFramebufferParameterfvAMD( GLuint framebuffer, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values ) { }
static void null_glGetNamedFramebufferParameteriv( GLuint framebuffer, GLenum pname, GLint *param ) { }
static void null_glGetNamedFramebufferParameterivEXT( GLuint framebuffer, GLenum pname, GLint *params ) { }
static void null_glGetNamedProgramLocalParameterIivEXT( GLuint program, GLenum target, GLuint index, GLint *params ) { }
static void null_glGetNamedProgramLocalParameterIuivEXT( GLuint program, GLenum target, GLuint index, GLuint *params ) { }
static void null_glGetNamedProgramLocalParameterdvEXT( GLuint program, GLenum target, GLuint index, GLdouble *params ) { }
static void null_glGetNamedProgramLocalParameterfvEXT( GLuint program, GLenum target, GLuint index, GLfloat *params ) { }
static void null_glGetNamedProgramStringEXT( GLuint program, GLenum target, GLenum pname, void *string ) { }
static void null_glGetNamedProgramivEXT( GLuint program, GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetNamedRenderbufferParameteriv( GLuint renderbuffer, GLenum pname, GLint *params ) { }
static void null_glGetNamedRenderbufferParameterivEXT( GLuint renderbuffer, GLenum pname, GLint *params ) { }
static void null_glGetNamedStringARB( GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string ) { }
static void null_glGetNamedStringivARB( GLint namelen, const GLchar *name, GLenum pname, GLint *params ) { }
static void null_glGetNextPerfQueryIdINTEL( GLuint queryId, GLuint *nextQueryId ) { }
static void null_glGetObjectBufferfvATI( GLuint buffer, GLenum pname, GLfloat *params ) { }
static void null_glGetObjectBufferivATI( GLuint buffer, GLenum pname, GLint *params ) { }
static void null_glGetObjectLabel( GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label ) { }
static void null_glGetObjectLabelEXT( GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label ) { }
static void null_glGetObjectParameterfvARB( GLhandleARB obj, GLenum pname, GLfloat *params ) { }
static void null_glGetObjectParameterivAPPLE( GLenum objectType, GLuint name, GLenum pname, GLint *params ) { }
static void null_glGetObjectParameterivARB( GLhandleARB obj, GLenum pname, GLint *params ) { }
static void null_glGetObjectPtrLabel( const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label ) { }
static void null_glGetOcclusionQueryivNV( GLuint id, GLenum pname, GLint *params ) { }
static void null_glGetOcclusionQueryuivNV( GLuint id, GLenum pname, GLuint *params ) { }
static void null_glGetPathColorGenfvNV( GLenum color, GLenum pname, GLfloat *value ) { }
static void null_glGetPathColorGenivNV( GLenum color, GLenum pname, GLint *value ) { }
static void null_glGetPathCommandsNV( GLuint path, GLubyte *commands ) { }
static void null_glGetPathCoordsNV( GLuint path, GLfloat *coords ) { }
static void null_glGetPathDashArrayNV( GLuint path, GLfloat *dashArray ) { }
static GLfloat null_glGetPathLengthNV( GLuint path, GLsizei startSegment, GLsizei numSegments ) { return 0; }
static void null_glGetPathMetricRangeNV( GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics ) { }
static void null_glGetPathMetricsNV( GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics ) { }
static void null_glGetPathParameterfvNV( GLuint path, GLenum pname, GLfloat *value ) { }
static void null_glGetPathParameterivNV( GLuint path, GLenum pname, GLint *value ) { }
static void null_glGetPathSpacingNV( GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing ) { }
static void null_glGetPathTexGenfvNV( GLenum texCoordSet, GLenum pname, GLfloat *value ) { }
static void null_glGetPathTexGenivNV( GLenum texCoordSet, GLenum pname, GLint *value ) { }
static void null_glGetPerfCounterInfoINTEL( GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue ) { }
static void null_glGetPerfMonitorCounterDataAMD( GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten ) { }
static void null_glGetPerfMonitorCounterInfoAMD( GLuint group, GLuint counter, GLenum pname, void *data ) { }
static void null_glGetPerfMonitorCounterStringAMD( GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString ) { }
static void null_glGetPerfMonitorCountersAMD( GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters ) { }
static void null_glGetPerfMonitorGroupStringAMD( GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString ) { }
static void null_glGetPerfMonitorGroupsAMD( GLint *numGroups, GLsizei groupsSize, GLuint *groups ) { }
static void null_glGetPerfQueryDataINTEL( GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten ) { }
static void null_glGetPerfQueryIdByNameINTEL( GLchar *queryName, GLuint *queryId ) { }
static void null_glGetPerfQueryInfoINTEL( GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask ) { }
static void null_glGetPixelMapxv( GLenum map, GLint size, GLfixed *values ) { }
static void null_glGetPixelTexGenParameterfvSGIS( GLenum pname, GLfloat *params ) { }
static void null_glGetPixelTexGenParameterivSGIS( GLenum pname, GLint *params ) { }
static void null_glGetPixelTransformParameterfvEXT( GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetPixelTransformParameterivEXT( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetPointerIndexedvEXT( GLenum target, GLuint index, void **data ) { }
static void null_glGetPointeri_vEXT( GLenum pname, GLuint index, void **params ) { }
static void null_glGetPointervEXT( GLenum pname, void **params ) { }
static void null_glGetProgramBinary( GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary ) { }
static void null_glGetProgramEnvParameterIivNV( GLenum target, GLuint index, GLint *params ) { }
static void null_glGetProgramEnvParameterIuivNV( GLenum target, GLuint index, GLuint *params ) { }
static void null_glGetProgramEnvParameterdvARB( GLenum target, GLuint index, GLdouble *params ) { }
static void null_glGetProgramEnvParameterfvARB( GLenum target, GLuint index, GLfloat *params ) { }
static void null_glGetProgramInfoLog( GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog ) { }
static void null_glGetProgramInterfaceiv( GLuint program, GLenum programInterface, GLenum pname, GLint *params ) { }
static void null_glGetProgramLocalParameterIivNV( GLenum target, GLuint index, GLint *params ) { }
static void null_glGetProgramLocalParameterIuivNV( GLenum target, GLuint index, GLuint *params ) { }
static void null_glGetProgramLocalParameterdvARB( GLenum target, GLuint index, GLdouble *params ) { }
static void null_glGetProgramLocalParameterfvARB( GLenum target, GLuint index, GLfloat *params ) { }
static void null_glGetProgramNamedParameterdvNV( GLuint id, GLsizei len, const GLubyte *name, GLdouble *params ) { }
static void null_glGetProgramNamedParameterfvNV( GLuint id, GLsizei len, const GLubyte *name, GLfloat *params ) { }
static void null_glGetProgramParameterdvNV( GLenum target, GLuint index, GLenum pname, GLdouble *params ) { }
static void null_glGetProgramParameterfvNV( GLenum target, GLuint index, GLenum pname, GLfloat *params ) { }
static void null_glGetProgramPipelineInfoLog( GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog ) { }
static void null_glGetProgramPipelineiv( GLuint pipeline, GLenum pname, GLint *params ) { }
static GLuint null_glGetProgramResourceIndex( GLuint program, GLenum programInterface, const GLchar *name ) { return 0; }
static GLint null_glGetProgramResourceLocation( GLuint program, GLenum programInterface, const GLchar *name ) { return 0; }
static GLint null_glGetProgramResourceLocationIndex( GLuint program, GLenum programInterface, const GLchar *name ) { return 0; }
static void null_glGetProgramResourceName( GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name ) { }
static void null_glGetProgramResourcefvNV( GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLfloat *params ) { }
static void null_glGetProgramResourceiv( GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params ) { }
static void null_glGetProgramStageiv( GLuint program, GLenum shadertype, GLenum pname, GLint *values ) { }
static void null_glGetProgramStringARB( GLenum target, GLenum pname, void *string ) { }
static void null_glGetProgramStringNV( GLuint id, GLenum pname, GLubyte *program ) { }
static void null_glGetProgramSubroutineParameteruivNV( GLenum target, GLuint index, GLuint *param ) { }
static void null_glGetProgramiv( GLuint program, GLenum pname, GLint *params ) { }
static void null_glGetProgramivARB( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetProgramivNV( GLuint id, GLenum pname, GLint *params ) { }
static void null_glGetQueryBufferObjecti64v( GLuint id, GLuint buffer, GLenum pname, GLintptr offset ) { }
static void null_glGetQueryBufferObjectiv( GLuint id, GLuint buffer, GLenum pname, GLintptr offset ) { }
static void null_glGetQueryBufferObjectui64v( GLuint id, GLuint buffer, GLenum pname, GLintptr offset ) { }
static void null_glGetQueryBufferObjectuiv( GLuint id, GLuint buffer, GLenum pname, GLintptr offset ) { }
static void null_glGetQueryIndexediv( GLenum target, GLuint index, GLenum pname, GLint *params ) { }
static void null_glGetQueryObjecti64v( GLuint id, GLenum pname, GLint64 *params ) { }
static void null_glGetQueryObjecti64vEXT( GLuint id, GLenum pname, GLint64 *params ) { }
static void null_glGetQueryObjectiv( GLuint id, GLenum pname, GLint *params ) { }
static void null_glGetQueryObjectivARB( GLuint id, GLenum pname, GLint *params ) { }
static void null_glGetQueryObjectui64v( GLuint id, GLenum pname, GLuint64 *params ) { }
static void null_glGetQueryObjectui64vEXT( GLuint id, GLenum pname, GLuint64 *params ) { }
static void null_glGetQueryObjectuiv( GLuint id, GLenum pname, GLuint *params ) { }
static void null_glGetQueryObjectuivARB( GLuint id, GLenum pname, GLuint *params ) { }
static void null_glGetQueryiv( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetQueryivARB( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetRenderbufferParameteriv( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetRenderbufferParameterivEXT( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetSamplerParameterIiv( GLuint sampler, GLenum pname, GLint *params ) { }
static void null_glGetSamplerParameterIuiv( GLuint sampler, GLenum pname, GLuint *params ) { }
static void null_glGetSamplerParameterfv( GLuint sampler, GLenum pname, GLfloat *params ) { }
static void null_glGetSamplerParameteriv( GLuint sampler, GLenum pname, GLint *params ) { }
static void null_glGetSemaphoreParameterui64vEXT( GLuint semaphore, GLenum pname, GLuint64 *params ) { }
static void null_glGetSeparableFilter( GLenum target, GLenum format, GLenum type, void *row, void *column, void *span ) { }
static void null_glGetSeparableFilterEXT( GLenum target, GLenum format, GLenum type, void *row, void *column, void *span ) { }
static void null_glGetShaderInfoLog( GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog ) { }
static void null_glGetShaderPrecisionFormat( GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision ) { }
static void null_glGetShaderSource( GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source ) { }
static void null_glGetShaderSourceARB( GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source ) { }
static void null_glGetShaderiv( GLuint shader, GLenum pname, GLint *params ) { }
static void null_glGetShadingRateImagePaletteNV( GLuint viewport, GLuint entry, GLenum *rate ) { }
static void null_glGetShadingRateSampleLocationivNV( GLenum rate, GLuint samples, GLuint index, GLint *location ) { }
static void null_glGetSharpenTexFuncSGIS( GLenum target, GLfloat *points ) { }
static GLushort null_glGetStageIndexNV( GLenum shadertype ) { return 0; }
static const GLubyte * null_glGetStringi( GLenum name, GLuint index ) { return 0; }
static GLuint null_glGetSubroutineIndex( GLuint program, GLenum shadertype, const GLchar *name ) { return 0; }
static GLint null_glGetSubroutineUniformLocation( GLuint program, GLenum shadertype, const GLchar *name ) { return 0; }
static void null_glGetSynciv( GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values ) { }
static void null_glGetTexBumpParameterfvATI( GLenum pname, GLfloat *param ) { }
static void null_glGetTexBumpParameterivATI( GLenum pname, GLint *param ) { }
static void null_glGetTexEnvxvOES( GLenum target, GLenum pname, GLfixed *params ) { }
static void null_glGetTexFilterFuncSGIS( GLenum target, GLenum filter, GLfloat *weights ) { }
static void null_glGetTexGenxvOES( GLenum coord, GLenum pname, GLfixed *params ) { }
static void null_glGetTexLevelParameterxvOES( GLenum target, GLint level, GLenum pname, GLfixed *params ) { }
static void null_glGetTexParameterIiv( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetTexParameterIivEXT( GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetTexParameterIuiv( GLenum target, GLenum pname, GLuint *params ) { }
static void null_glGetTexParameterIuivEXT( GLenum target, GLenum pname, GLuint *params ) { }
static void null_glGetTexParameterPointervAPPLE( GLenum target, GLenum pname, void **params ) { }
static void null_glGetTexParameterxvOES( GLenum target, GLenum pname, GLfixed *params ) { }
static GLuint64 null_glGetTextureHandleARB( GLuint texture ) { return 0; }
static GLuint64 null_glGetTextureHandleNV( GLuint texture ) { return 0; }
static void null_glGetTextureImage( GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels ) { }
static void null_glGetTextureImageEXT( GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels ) { }
static void null_glGetTextureLevelParameterfv( GLuint texture, GLint level, GLenum pname, GLfloat *params ) { }
static void null_glGetTextureLevelParameterfvEXT( GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params ) { }
static void null_glGetTextureLevelParameteriv( GLuint texture, GLint level, GLenum pname, GLint *params ) { }
static void null_glGetTextureLevelParameterivEXT( GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params ) { }
static void null_glGetTextureParameterIiv( GLuint texture, GLenum pname, GLint *params ) { }
static void null_glGetTextureParameterIivEXT( GLuint texture, GLenum target, GLenum pname, GLint *params ) { }
static void null_glGetTextureParameterIuiv( GLuint texture, GLenum pname, GLuint *params ) { }
static void null_glGetTextureParameterIuivEXT( GLuint texture, GLenum target, GLenum pname, GLuint *params ) { }
static void null_glGetTextureParameterfv( GLuint texture, GLenum pname, GLfloat *params ) { }
static void null_glGetTextureParameterfvEXT( GLuint texture, GLenum target, GLenum pname, GLfloat *params ) { }
static void null_glGetTextureParameteriv( GLuint texture, GLenum pname, GLint *params ) { }
static void null_glGetTextureParameterivEXT( GLuint texture, GLenum target, GLenum pname, GLint *params ) { }
static GLuint64 null_glGetTextureSamplerHandleARB( GLuint texture, GLuint sampler ) { return 0; }
static GLuint64 null_glGetTextureSamplerHandleNV( GLuint texture, GLuint sampler ) { return 0; }
static void null_glGetTextureSubImage( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels ) { }
static void null_glGetTrackMatrixivNV( GLenum target, GLuint address, GLenum pname, GLint *params ) { }
static void null_glGetTransformFeedbackVarying( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name ) { }
static void null_glGetTransformFeedbackVaryingEXT( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name ) { }
static void null_glGetTransformFeedbackVaryingNV( GLuint program, GLuint index, GLint *location ) { }
static void null_glGetTransformFeedbacki64_v( GLuint xfb, GLenum pname, GLuint index, GLint64 *param ) { }
static void null_glGetTransformFeedbacki_v( GLuint xfb, GLenum pname, GLuint index, GLint *param ) { }
static void null_glGetTransformFeedbackiv( GLuint xfb, GLenum pname, GLint *param ) { }
static GLuint null_glGetUniformBlockIndex( GLuint program, const GLchar *uniformBlockName ) { return 0; }
static GLint null_glGetUniformBufferSizeEXT( GLuint program, GLint location ) { return 0; }
static void null_glGetUniformIndices( GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices ) { }
static GLint null_glGetUniformLocation( GLuint program, const GLchar *name ) { return 0; }
static GLint null_glGetUniformLocationARB( GLhandleARB programObj, const GLcharARB *name ) { return 0; }
static GLintptr null_glGetUniformOffsetEXT( GLuint program, GLint location ) { return 0; }
static void null_glGetUniformSubroutineuiv( GLenum shadertype, GLint location, GLuint *params ) { }
static void null_glGetUniformdv( GLuint program, GLint location, GLdouble *params ) { }
static void null_glGetUniformfv( GLuint program, GLint location, GLfloat *params ) { }
static void null_glGetUniformfvARB( GLhandleARB programObj, GLint location, GLfloat *params ) { }
static void null_glGetUniformi64vARB( GLuint program, GLint location, GLint64 *params ) { }
static void null_glGetUniformi64vNV( GLuint program, GLint location, GLint64EXT *params ) { }
static void null_glGetUniformiv( GLuint program, GLint location, GLint *params ) { }
static void null_glGetUniformivARB( GLhandleARB programObj, GLint location, GLint *params ) { }
static void null_glGetUniformui64vARB( GLuint program, GLint location, GLuint64 *params ) { }
static void null_glGetUniformui64vNV( GLuint program, GLint location, GLuint64EXT *params ) { }
static void null_glGetUniformuiv( GLuint program, GLint location, GLuint *params ) { }
static void null_glGetUniformuivEXT( GLuint program, GLint location, GLuint *params ) { }
static void null_glGetUnsignedBytei_vEXT( GLenum target, GLuint index, GLubyte *data ) { }
static void null_glGetUnsignedBytevEXT( GLenum pname, GLubyte *data ) { }
static void null_glGetVariantArrayObjectfvATI( GLuint id, GLenum pname, GLfloat *params ) { }
static void null_glGetVariantArrayObjectivATI( GLuint id, GLenum pname, GLint *params ) { }
static void null_glGetVariantBooleanvEXT( GLuint id, GLenum value, GLboolean *data ) { }
static void null_glGetVariantFloatvEXT( GLuint id, GLenum value, GLfloat *data ) { }
static void null_glGetVariantIntegervEXT( GLuint id, GLenum value, GLint *data ) { }
static void null_glGetVariantPointervEXT( GLuint id, GLenum value, void **data ) { }
static GLint null_glGetVaryingLocationNV( GLuint program, const GLchar *name ) { return 0; }
static void null_glGetVertexArrayIndexed64iv( GLuint vaobj, GLuint index, GLenum pname, GLint64 *param ) { }
static void null_glGetVertexArrayIndexediv( GLuint vaobj, GLuint index, GLenum pname, GLint *param ) { }
static void null_glGetVertexArrayIntegeri_vEXT( GLuint vaobj, GLuint index, GLenum pname, GLint *param ) { }
static void null_glGetVertexArrayIntegervEXT( GLuint vaobj, GLenum pname, GLint *param ) { }
static void null_glGetVertexArrayPointeri_vEXT( GLuint vaobj, GLuint index, GLenum pname, void **param ) { }
static void null_glGetVertexArrayPointervEXT( GLuint vaobj, GLenum pname, void **param ) { }
static void null_glGetVertexArrayiv( GLuint vaobj, GLenum pname, GLint *param ) { }
static void null_glGetVertexAttribArrayObjectfvATI( GLuint index, GLenum pname, GLfloat *params ) { }
static void null_glGetVertexAttribArrayObjectivATI( GLuint index, GLenum pname, GLint *params ) { }
static void null_glGetVertexAttribIiv( GLuint index, GLenum pname, GLint *params ) { }
static void null_glGetVertexAttribIivEXT( GLuint index, GLenum pname, GLint *params ) { }
static void null_glGetVertexAttribIuiv( GLuint index, GLenum pname, GLuint *params ) { }
static void null_glGetVertexAttribIuivEXT( GLuint index, GLenum pname, GLuint *params ) { }
static void null_glGetVertexAttribLdv( GLuint index, GLenum pname, GLdouble *params ) { }
static void null_glGetVertexAttribLdvEXT( GLuint index, GLenum pname, GLdouble *params ) { }
static void null_glGetVertexAttribLi64vNV( GLuint index, GLenum pname, GLint64EXT *params ) { }
static void null_glGetVertexAttribLui64vARB( GLuint index, GLenum pname, GLuint64EXT *params ) { }
static void null_glGetVertexAttribLui64vNV( GLuint index, GLenum pname, GLuint64EXT *params ) { }
static void null_glGetVertexAttribPointerv( GLuint index, GLenum pname, void **pointer ) { }
static void null_glGetVertexAttribPointervARB( GLuint index, GLenum pname, void **pointer ) { }
static void null_glGetVertexAttribPointervNV( GLuint index, GLenum pname, void **pointer ) { }
static void null_glGetVertexAttribdv( GLuint index, GLenum pname, GLdouble *params ) { }
static void null_glGetVertexAttribdvARB( GLuint index, GLenum pname, GLdouble *params ) { }
static void null_glGetVertexAttribdvNV( GLuint index, GLenum pname, GLdouble *params ) { }
static void null_glGetVertexAttribfv( GLuint index, GLenum pname, GLfloat *params ) { }
static void null_glGetVertexAttribfvARB( GLuint index, GLenum pname, GLfloat *params ) { }
static void null_glGetVertexAttribfvNV( GLuint index, GLenum pname, GLfloat *params ) { }
static void null_glGetVertexAttribiv( GLuint index, GLenum pname, GLint *params ) { }
static void null_glGetVertexAttribivARB( GLuint index, GLenum pname, GLint *params ) { }
static void null_glGetVertexAttribivNV( GLuint index, GLenum pname, GLint *params ) { }
static void null_glGetVideoCaptureStreamdvNV( GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params ) { }
static void null_glGetVideoCaptureStreamfvNV( GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params ) { }
static void null_glGetVideoCaptureStreamivNV( GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params ) { }
static void null_glGetVideoCaptureivNV( GLuint video_capture_slot, GLenum pname, GLint *params ) { }
static void null_glGetVideoi64vNV( GLuint video_slot, GLenum pname, GLint64EXT *params ) { }
static void null_glGetVideoivNV( GLuint video_slot, GLenum pname, GLint *params ) { }
static void null_glGetVideoui64vNV( GLuint video_slot, GLenum pname, GLuint64EXT *params ) { }
static void null_glGetVideouivNV( GLuint video_slot, GLenum pname, GLuint *params ) { }
static GLVULKANPROCNV null_glGetVkProcAddrNV( const GLchar *name ) { return 0; }
static void null_glGetnColorTable( GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table ) { }
static void null_glGetnColorTableARB( GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table ) { }
static void null_glGetnCompressedTexImage( GLenum target, GLint lod, GLsizei bufSize, void *pixels ) { }
static void null_glGetnCompressedTexImageARB( GLenum target, GLint lod, GLsizei bufSize, void *img ) { }
static void null_glGetnConvolutionFilter( GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image ) { }
static void null_glGetnConvolutionFilterARB( GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image ) { }
static void null_glGetnHistogram( GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values ) { }
static void null_glGetnHistogramARB( GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values ) { }
static void null_glGetnMapdv( GLenum target, GLenum query, GLsizei bufSize, GLdouble *v ) { }
static void null_glGetnMapdvARB( GLenum target, GLenum query, GLsizei bufSize, GLdouble *v ) { }
static void null_glGetnMapfv( GLenum target, GLenum query, GLsizei bufSize, GLfloat *v ) { }
static void null_glGetnMapfvARB( GLenum target, GLenum query, GLsizei bufSize, GLfloat *v ) { }
static void null_glGetnMapiv( GLenum target, GLenum query, GLsizei bufSize, GLint *v ) { }
static void null_glGetnMapivARB( GLenum target, GLenum query, GLsizei bufSize, GLint *v ) { }
static void null_glGetnMinmax( GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values ) { }
static void null_glGetnMinmaxARB( GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values ) { }
static void null_glGetnPixelMapfv( GLenum map, GLsizei bufSize, GLfloat *values ) { }
static void null_glGetnPixelMapfvARB( GLenum map, GLsizei bufSize, GLfloat *values ) { }
static void null_glGetnPixelMapuiv( GLenum map, GLsizei bufSize, GLuint *values ) { }
static void null_glGetnPixelMapuivARB( GLenum map, GLsizei bufSize, GLuint *values ) { }
static void null_glGetnPixelMapusv( GLenum map, GLsizei bufSize, GLushort *values ) { }
static void null_glGetnPixelMapusvARB( GLenum map, GLsizei bufSize, GLushort *values ) { }
static void null_glGetnPolygonStipple( GLsizei bufSize, GLubyte *pattern ) { }
static void null_glGetnPolygonStippleARB( GLsizei bufSize, GLubyte *pattern ) { }
static void null_glGetnSeparableFilter( GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span ) { }
static void null_glGetnSeparableFilterARB( GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span ) { }
static void null_glGetnTexImage( GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels ) { }
static void null_glGetnTexImageARB( GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *img ) { }
static void null_glGetnUniformdv( GLuint program, GLint location, GLsizei bufSize, GLdouble *params ) { }
static void null_glGetnUniformdvARB( GLuint program, GLint location, GLsizei bufSize, GLdouble *params ) { }
static void null_glGetnUniformfv( GLuint program, GLint location, GLsizei bufSize, GLfloat *params ) { }
static void null_glGetnUniformfvARB( GLuint program, GLint location, GLsizei bufSize, GLfloat *params ) { }
static void null_glGetnUniformi64vARB( GLuint program, GLint location, GLsizei bufSize, GLint64 *params ) { }
static void null_glGetnUniformiv( GLuint program, GLint location, GLsizei bufSize, GLint *params ) { }
static void null_glGetnUniformivARB( GLuint program, GLint location, GLsizei bufSize, GLint *params ) { }
static void null_glGetnUniformui64vARB( GLuint program, GLint location, GLsizei bufSize, GLuint64 *params ) { }
static void null_glGetnUniformuiv( GLuint program, GLint location, GLsizei bufSize, GLuint *params ) { }
static void null_glGetnUniformuivARB( GLuint program, GLint location, GLsizei bufSize, GLuint *params ) { }
static void null_glGlobalAlphaFactorbSUN( GLbyte factor ) { }
static void null_glGlobalAlphaFactordSUN( GLdouble factor ) { }
static void null_glGlobalAlphaFactorfSUN( GLfloat factor ) { }
static void null_glGlobalAlphaFactoriSUN( GLint factor ) { }
static void null_glGlobalAlphaFactorsSUN( GLshort factor ) { }
static void null_glGlobalAlphaFactorubSUN( GLubyte factor ) { }
static void null_glGlobalAlphaFactoruiSUN( GLuint factor ) { }
static void null_glGlobalAlphaFactorusSUN( GLushort factor ) { }
static void null_glHintPGI( GLenum target, GLint mode ) { }
static void null_glHistogram( GLenum target, GLsizei width, GLenum internalformat, GLboolean sink ) { }
static void null_glHistogramEXT( GLenum target, GLsizei width, GLenum internalformat, GLboolean sink ) { }
static void null_glIglooInterfaceSGIX( GLenum pname, const void *params ) { }
static void null_glImageTransformParameterfHP( GLenum target, GLenum pname, GLfloat param ) { }
static void null_glImageTransformParameterfvHP( GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glImageTransformParameteriHP( GLenum target, GLenum pname, GLint param ) { }
static void null_glImageTransformParameterivHP( GLenum target, GLenum pname, const GLint *params ) { }
static void null_glImportMemoryFdEXT( GLuint memory, GLuint64 size, GLenum handleType, GLint fd ) { }
static void null_glImportMemoryWin32HandleEXT( GLuint memory, GLuint64 size, GLenum handleType, void *handle ) { }
static void null_glImportMemoryWin32NameEXT( GLuint memory, GLuint64 size, GLenum handleType, const void *name ) { }
static void null_glImportSemaphoreFdEXT( GLuint semaphore, GLenum handleType, GLint fd ) { }
static void null_glImportSemaphoreWin32HandleEXT( GLuint semaphore, GLenum handleType, void *handle ) { }
static void null_glImportSemaphoreWin32NameEXT( GLuint semaphore, GLenum handleType, const void *name ) { }
static GLsync null_glImportSyncEXT( GLenum external_sync_type, GLintptr external_sync, GLbitfield flags ) { return 0; }
static void null_glIndexFormatNV( GLenum type, GLsizei stride ) { }
static void null_glIndexFuncEXT( GLenum func, GLclampf ref ) { }
static void null_glIndexMaterialEXT( GLenum face, GLenum mode ) { }
static void null_glIndexPointerEXT( GLenum type, GLsizei stride, GLsizei count, const void *pointer ) { }
static void null_glIndexPointerListIBM( GLenum type, GLint stride, const void **pointer, GLint ptrstride ) { }
static void null_glIndexxOES( GLfixed component ) { }
static void null_glIndexxvOES( const GLfixed *component ) { }
static void null_glInsertComponentEXT( GLuint res, GLuint src, GLuint num ) { }
static void null_glInsertEventMarkerEXT( GLsizei length, const GLchar *marker ) { }
static void null_glInstrumentsBufferSGIX( GLsizei size, GLint *buffer ) { }
static void null_glInterpolatePathsNV( GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight ) { }
static void null_glInvalidateBufferData( GLuint buffer ) { }
static void null_glInvalidateBufferSubData( GLuint buffer, GLintptr offset, GLsizeiptr length ) { }
static void null_glInvalidateFramebuffer( GLenum target, GLsizei numAttachments, const GLenum *attachments ) { }
static void null_glInvalidateNamedFramebufferData( GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments ) { }
static void null_glInvalidateNamedFramebufferSubData( GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glInvalidateSubFramebuffer( GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glInvalidateTexImage( GLuint texture, GLint level ) { }
static void null_glInvalidateTexSubImage( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth ) { }
static GLboolean null_glIsAsyncMarkerSGIX( GLuint marker ) { return 0; }
static GLboolean null_glIsBuffer( GLuint buffer ) { return 0; }
static GLboolean null_glIsBufferARB( GLuint buffer ) { return 0; }
static GLboolean null_glIsBufferResidentNV( GLenum target ) { return 0; }
static GLboolean null_glIsCommandListNV( GLuint list ) { return 0; }
static GLboolean null_glIsEnabledIndexedEXT( GLenum target, GLuint index ) { return 0; }
static GLboolean null_glIsEnabledi( GLenum target, GLuint index ) { return 0; }
static GLboolean null_glIsFenceAPPLE( GLuint fence ) { return 0; }
static GLboolean null_glIsFenceNV( GLuint fence ) { return 0; }
static GLboolean null_glIsFramebuffer( GLuint framebuffer ) { return 0; }
static GLboolean null_glIsFramebufferEXT( GLuint framebuffer ) { return 0; }
static GLboolean null_glIsImageHandleResidentARB( GLuint64 handle ) { return 0; }
static GLboolean null_glIsImageHandleResidentNV( GLuint64 handle ) { return 0; }
static GLboolean null_glIsMemoryObjectEXT( GLuint memoryObject ) { return 0; }
static GLboolean null_glIsNameAMD( GLenum identifier, GLuint name ) { return 0; }
static GLboolean null_glIsNamedBufferResidentNV( GLuint buffer ) { return 0; }
static GLboolean null_glIsNamedStringARB( GLint namelen, const GLchar *name ) { return 0; }
static GLboolean null_glIsObjectBufferATI( GLuint buffer ) { return 0; }
static GLboolean null_glIsOcclusionQueryNV( GLuint id ) { return 0; }
static GLboolean null_glIsPathNV( GLuint path ) { return 0; }
static GLboolean null_glIsPointInFillPathNV( GLuint path, GLuint mask, GLfloat x, GLfloat y ) { return 0; }
static GLboolean null_glIsPointInStrokePathNV( GLuint path, GLfloat x, GLfloat y ) { return 0; }
static GLboolean null_glIsProgram( GLuint program ) { return 0; }
static GLboolean null_glIsProgramARB( GLuint program ) { return 0; }
static GLboolean null_glIsProgramNV( GLuint id ) { return 0; }
static GLboolean null_glIsProgramPipeline( GLuint pipeline ) { return 0; }
static GLboolean null_glIsQuery( GLuint id ) { return 0; }
static GLboolean null_glIsQueryARB( GLuint id ) { return 0; }
static GLboolean null_glIsRenderbuffer( GLuint renderbuffer ) { return 0; }
static GLboolean null_glIsRenderbufferEXT( GLuint renderbuffer ) { return 0; }
static GLboolean null_glIsSampler( GLuint sampler ) { return 0; }
static GLboolean null_glIsSemaphoreEXT( GLuint semaphore ) { return 0; }
static GLboolean null_glIsShader( GLuint shader ) { return 0; }
static GLboolean null_glIsStateNV( GLuint state ) { return 0; }
static GLboolean null_glIsSync( GLsync sync ) { return 0; }
static GLboolean null_glIsTextureEXT( GLuint texture ) { return 0; }
static GLboolean null_glIsTextureHandleResidentARB( GLuint64 handle ) { return 0; }
static GLboolean null_glIsTextureHandleResidentNV( GLuint64 handle ) { return 0; }
static GLboolean null_glIsTransformFeedback( GLuint id ) { return 0; }
static GLboolean null_glIsTransformFeedbackNV( GLuint id ) { return 0; }
static GLboolean null_glIsVariantEnabledEXT( GLuint id, GLenum cap ) { return 0; }
static GLboolean null_glIsVertexArray( GLuint array ) { return 0; }
static GLboolean null_glIsVertexArrayAPPLE( GLuint array ) { return 0; }
static GLboolean null_glIsVertexAttribEnabledAPPLE( GLuint index, GLenum pname ) { return 0; }
static void null_glLGPUCopyImageSubDataNVX( GLuint sourceGpu, GLbitfield destinationGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srxY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth ) { }
static void null_glLGPUInterlockNVX(void) { }
static void null_glLGPUNamedBufferSubDataNVX( GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data ) { }
static void null_glLabelObjectEXT( GLenum type, GLuint object, GLsizei length, const GLchar *label ) { }
static void null_glLightEnviSGIX( GLenum pname, GLint param ) { }
static void null_glLightModelxOES( GLenum pname, GLfixed param ) { }
static void null_glLightModelxvOES( GLenum pname, const GLfixed *param ) { }
static void null_glLightxOES( GLenum light, GLenum pname, GLfixed param ) { }
static void null_glLightxvOES( GLenum light, GLenum pname, const GLfixed *params ) { }
static void null_glLineWidthxOES( GLfixed width ) { }
static void null_glLinkProgram( GLuint program ) { }
static void null_glLinkProgramARB( GLhandleARB programObj ) { }
static void null_glListDrawCommandsStatesClientNV( GLuint list, GLuint segment, const void **indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count ) { }
static void null_glListParameterfSGIX( GLuint list, GLenum pname, GLfloat param ) { }
static void null_glListParameterfvSGIX( GLuint list, GLenum pname, const GLfloat *params ) { }
static void null_glListParameteriSGIX( GLuint list, GLenum pname, GLint param ) { }
static void null_glListParameterivSGIX( GLuint list, GLenum pname, const GLint *params ) { }
static void null_glLoadIdentityDeformationMapSGIX( GLbitfield mask ) { }
static void null_glLoadMatrixxOES( const GLfixed *m ) { }
static void null_glLoadProgramNV( GLenum target, GLuint id, GLsizei len, const GLubyte *program ) { }
static void null_glLoadTransposeMatrixd( const GLdouble *m ) { }
static void null_glLoadTransposeMatrixdARB( const GLdouble *m ) { }
static void null_glLoadTransposeMatrixf( const GLfloat *m ) { }
static void null_glLoadTransposeMatrixfARB( const GLfloat *m ) { }
static void null_glLoadTransposeMatrixxOES( const GLfixed *m ) { }
static void null_glLockArraysEXT( GLint first, GLsizei count ) { }
static void null_glMTexCoord2fSGIS( GLenum target, GLfloat s, GLfloat t ) { }
static void null_glMTexCoord2fvSGIS( GLenum target, GLfloat * v ) { }
static void null_glMakeBufferNonResidentNV( GLenum target ) { }
static void null_glMakeBufferResidentNV( GLenum target, GLenum access ) { }
static void null_glMakeImageHandleNonResidentARB( GLuint64 handle ) { }
static void null_glMakeImageHandleNonResidentNV( GLuint64 handle ) { }
static void null_glMakeImageHandleResidentARB( GLuint64 handle, GLenum access ) { }
static void null_glMakeImageHandleResidentNV( GLuint64 handle, GLenum access ) { }
static void null_glMakeNamedBufferNonResidentNV( GLuint buffer ) { }
static void null_glMakeNamedBufferResidentNV( GLuint buffer, GLenum access ) { }
static void null_glMakeTextureHandleNonResidentARB( GLuint64 handle ) { }
static void null_glMakeTextureHandleNonResidentNV( GLuint64 handle ) { }
static void null_glMakeTextureHandleResidentARB( GLuint64 handle ) { }
static void null_glMakeTextureHandleResidentNV( GLuint64 handle ) { }
static void null_glMap1xOES( GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points ) { }
static void null_glMap2xOES( GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points ) { }
static void * null_glMapBuffer( GLenum target, GLenum access ) { return 0; }
static void * null_glMapBufferARB( GLenum target, GLenum access ) { return 0; }
static void * null_glMapBufferRange( GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access ) { return 0; }
static void null_glMapControlPointsNV( GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void *points ) { }
static void null_glMapGrid1xOES( GLint n, GLfixed u1, GLfixed u2 ) { }
static void null_glMapGrid2xOES( GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2 ) { }
static void * null_glMapNamedBuffer( GLuint buffer, GLenum access ) { return 0; }
static void * null_glMapNamedBufferEXT( GLuint buffer, GLenum access ) { return 0; }
static void * null_glMapNamedBufferRange( GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access ) { return 0; }
static void * null_glMapNamedBufferRangeEXT( GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access ) { return 0; }
static void * null_glMapObjectBufferATI( GLuint buffer ) { return 0; }
static void null_glMapParameterfvNV( GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glMapParameterivNV( GLenum target, GLenum pname, const GLint *params ) { }
static void * null_glMapTexture2DINTEL( GLuint texture, GLint level, GLbitfield access, GLint *stride, GLenum *layout ) { return 0; }
static void null_glMapVertexAttrib1dAPPLE( GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points ) { }
static void null_glMapVertexAttrib1fAPPLE( GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points ) { }
static void null_glMapVertexAttrib2dAPPLE( GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points ) { }
static void null_glMapVertexAttrib2fAPPLE( GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points ) { }
static void null_glMaterialxOES( GLenum face, GLenum pname, GLfixed param ) { }
static void null_glMaterialxvOES( GLenum face, GLenum pname, const GLfixed *param ) { }
static void null_glMatrixFrustumEXT( GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar ) { }
static void null_glMatrixIndexPointerARB( GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glMatrixIndexubvARB( GLint size, const GLubyte *indices ) { }
static void null_glMatrixIndexuivARB( GLint size, const GLuint *indices ) { }
static void null_glMatrixIndexusvARB( GLint size, const GLushort *indices ) { }
static void null_glMatrixLoad3x2fNV( GLenum matrixMode, const GLfloat *m ) { }
static void null_glMatrixLoad3x3fNV( GLenum matrixMode, const GLfloat *m ) { }
static void null_glMatrixLoadIdentityEXT( GLenum mode ) { }
static void null_glMatrixLoadTranspose3x3fNV( GLenum matrixMode, const GLfloat *m ) { }
static void null_glMatrixLoadTransposedEXT( GLenum mode, const GLdouble *m ) { }
static void null_glMatrixLoadTransposefEXT( GLenum mode, const GLfloat *m ) { }
static void null_glMatrixLoaddEXT( GLenum mode, const GLdouble *m ) { }
static void null_glMatrixLoadfEXT( GLenum mode, const GLfloat *m ) { }
static void null_glMatrixMult3x2fNV( GLenum matrixMode, const GLfloat *m ) { }
static void null_glMatrixMult3x3fNV( GLenum matrixMode, const GLfloat *m ) { }
static void null_glMatrixMultTranspose3x3fNV( GLenum matrixMode, const GLfloat *m ) { }
static void null_glMatrixMultTransposedEXT( GLenum mode, const GLdouble *m ) { }
static void null_glMatrixMultTransposefEXT( GLenum mode, const GLfloat *m ) { }
static void null_glMatrixMultdEXT( GLenum mode, const GLdouble *m ) { }
static void null_glMatrixMultfEXT( GLenum mode, const GLfloat *m ) { }
static void null_glMatrixOrthoEXT( GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar ) { }
static void null_glMatrixPopEXT( GLenum mode ) { }
static void null_glMatrixPushEXT( GLenum mode ) { }
static void null_glMatrixRotatedEXT( GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glMatrixRotatefEXT( GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glMatrixScaledEXT( GLenum mode, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glMatrixScalefEXT( GLenum mode, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glMatrixTranslatedEXT( GLenum mode, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glMatrixTranslatefEXT( GLenum mode, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glMaxShaderCompilerThreadsARB( GLuint count ) { }
static void null_glMaxShaderCompilerThreadsKHR( GLuint count ) { }
static void null_glMemoryBarrier( GLbitfield barriers ) { }
static void null_glMemoryBarrierByRegion( GLbitfield barriers ) { }
static void null_glMemoryBarrierEXT( GLbitfield barriers ) { }
static void null_glMemoryObjectParameterivEXT( GLuint memoryObject, GLenum pname, const GLint *params ) { }
static void null_glMinSampleShading( GLfloat value ) { }
static void null_glMinSampleShadingARB( GLfloat value ) { }
static void null_glMinmax( GLenum target, GLenum internalformat, GLboolean sink ) { }
static void null_glMinmaxEXT( GLenum target, GLenum internalformat, GLboolean sink ) { }
static void null_glMultMatrixxOES( const GLfixed *m ) { }
static void null_glMultTransposeMatrixd( const GLdouble *m ) { }
static void null_glMultTransposeMatrixdARB( const GLdouble *m ) { }
static void null_glMultTransposeMatrixf( const GLfloat *m ) { }
static void null_glMultTransposeMatrixfARB( const GLfloat *m ) { }
static void null_glMultTransposeMatrixxOES( const GLfixed *m ) { }
static void null_glMultiDrawArrays( GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount ) { }
static void null_glMultiDrawArraysEXT( GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount ) { }
static void null_glMultiDrawArraysIndirect( GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride ) { }
static void null_glMultiDrawArraysIndirectAMD( GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride ) { }
static void null_glMultiDrawArraysIndirectBindlessCountNV( GLenum mode, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount ) { }
static void null_glMultiDrawArraysIndirectBindlessNV( GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount ) { }
static void null_glMultiDrawArraysIndirectCount( GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride ) { }
static void null_glMultiDrawArraysIndirectCountARB( GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride ) { }
static void null_glMultiDrawElementArrayAPPLE( GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount ) { }
static void null_glMultiDrawElements( GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount ) { }
static void null_glMultiDrawElementsBaseVertex( GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex ) { }
static void null_glMultiDrawElementsEXT( GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount ) { }
static void null_glMultiDrawElementsIndirect( GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride ) { }
static void null_glMultiDrawElementsIndirectAMD( GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride ) { }
static void null_glMultiDrawElementsIndirectBindlessCountNV( GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount ) { }
static void null_glMultiDrawElementsIndirectBindlessNV( GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount ) { }
static void null_glMultiDrawElementsIndirectCount( GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride ) { }
static void null_glMultiDrawElementsIndirectCountARB( GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride ) { }
static void null_glMultiDrawMeshTasksIndirectCountNV( GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride ) { }
static void null_glMultiDrawMeshTasksIndirectNV( GLintptr indirect, GLsizei drawcount, GLsizei stride ) { }
static void null_glMultiDrawRangeElementArrayAPPLE( GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount ) { }
static void null_glMultiModeDrawArraysIBM( const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride ) { }
static void null_glMultiModeDrawElementsIBM( const GLenum *mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount, GLint modestride ) { }
static void null_glMultiTexBufferEXT( GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer ) { }
static void null_glMultiTexCoord1bOES( GLenum texture, GLbyte s ) { }
static void null_glMultiTexCoord1bvOES( GLenum texture, const GLbyte *coords ) { }
static void null_glMultiTexCoord1d( GLenum target, GLdouble s ) { }
static void null_glMultiTexCoord1dARB( GLenum target, GLdouble s ) { }
static void null_glMultiTexCoord1dSGIS( GLenum target, GLdouble s ) { }
static void null_glMultiTexCoord1dv( GLenum target, const GLdouble *v ) { }
static void null_glMultiTexCoord1dvARB( GLenum target, const GLdouble *v ) { }
static void null_glMultiTexCoord1dvSGIS( GLenum target, GLdouble * v ) { }
static void null_glMultiTexCoord1f( GLenum target, GLfloat s ) { }
static void null_glMultiTexCoord1fARB( GLenum target, GLfloat s ) { }
static void null_glMultiTexCoord1fSGIS( GLenum target, GLfloat s ) { }
static void null_glMultiTexCoord1fv( GLenum target, const GLfloat *v ) { }
static void null_glMultiTexCoord1fvARB( GLenum target, const GLfloat *v ) { }
static void null_glMultiTexCoord1fvSGIS( GLenum target, const GLfloat * v ) { }
static void null_glMultiTexCoord1hNV( GLenum target, GLhalfNV s ) { }
static void null_glMultiTexCoord1hvNV( GLenum target, const GLhalfNV *v ) { }
static void null_glMultiTexCoord1i( GLenum target, GLint s ) { }
static void null_glMultiTexCoord1iARB( GLenum target, GLint s ) { }
static void null_glMultiTexCoord1iSGIS( GLenum target, GLint s ) { }
static void null_glMultiTexCoord1iv( GLenum target, const GLint *v ) { }
static void null_glMultiTexCoord1ivARB( GLenum target, const GLint *v ) { }
static void null_glMultiTexCoord1ivSGIS( GLenum target, GLint * v ) { }
static void null_glMultiTexCoord1s( GLenum target, GLshort s ) { }
static void null_glMultiTexCoord1sARB( GLenum target, GLshort s ) { }
static void null_glMultiTexCoord1sSGIS( GLenum target, GLshort s ) { }
static void null_glMultiTexCoord1sv( GLenum target, const GLshort *v ) { }
static void null_glMultiTexCoord1svARB( GLenum target, const GLshort *v ) { }
static void null_glMultiTexCoord1svSGIS( GLenum target, GLshort * v ) { }
static void null_glMultiTexCoord1xOES( GLenum texture, GLfixed s ) { }
static void null_glMultiTexCoord1xvOES( GLenum texture, const GLfixed *coords ) { }
static void null_glMultiTexCoord2bOES( GLenum texture, GLbyte s, GLbyte t ) { }
static void null_glMultiTexCoord2bvOES( GLenum texture, const GLbyte *coords ) { }
static void null_glMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t ) { }
static void null_glMultiTexCoord2dARB( GLenum target, GLdouble s, GLdouble t ) { }
static void null_glMultiTexCoord2dSGIS( GLenum target, GLdouble s, GLdouble t ) { }
static void null_glMultiTexCoord2dv( GLenum target, const GLdouble *v ) { }
static void null_glMultiTexCoord2dvARB( GLenum target, const GLdouble *v ) { }
static void null_glMultiTexCoord2dvSGIS( GLenum target, GLdouble * v ) { }
static void null_glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t ) { }
static void null_glMultiTexCoord2fARB( GLenum target, GLfloat s, GLfloat t ) { }
static void null_glMultiTexCoord2fSGIS( GLenum target, GLfloat s, GLfloat t ) { }
static void null_glMultiTexCoord2fv( GLenum target, const GLfloat *v ) { }
static void null_glMultiTexCoord2fvARB( GLenum target, const GLfloat *v ) { }
static void null_glMultiTexCoord2fvSGIS( GLenum target, GLfloat * v ) { }
static void null_glMultiTexCoord2hNV( GLenum target, GLhalfNV s, GLhalfNV t ) { }
static void null_glMultiTexCoord2hvNV( GLenum target, const GLhalfNV *v ) { }
static void null_glMultiTexCoord2i( GLenum target, GLint s, GLint t ) { }
static void null_glMultiTexCoord2iARB( GLenum target, GLint s, GLint t ) { }
static void null_glMultiTexCoord2iSGIS( GLenum target, GLint s, GLint t ) { }
static void null_glMultiTexCoord2iv( GLenum target, const GLint *v ) { }
static void null_glMultiTexCoord2ivARB( GLenum target, const GLint *v ) { }
static void null_glMultiTexCoord2ivSGIS( GLenum target, GLint * v ) { }
static void null_glMultiTexCoord2s( GLenum target, GLshort s, GLshort t ) { }
static void null_glMultiTexCoord2sARB( GLenum target, GLshort s, GLshort t ) { }
static void null_glMultiTexCoord2sSGIS( GLenum target, GLshort s, GLshort t ) { }
static void null_glMultiTexCoord2sv( GLenum target, const GLshort *v ) { }
static void null_glMultiTexCoord2svARB( GLenum target, const GLshort *v ) { }
static void null_glMultiTexCoord2svSGIS( GLenum target, GLshort * v ) { }
static void null_glMultiTexCoord2xOES( GLenum texture, GLfixed s, GLfixed t ) { }
static void null_glMultiTexCoord2xvOES( GLenum texture, const GLfixed *coords ) { }
static void null_glMultiTexCoord3bOES( GLenum texture, GLbyte s, GLbyte t, GLbyte r ) { }
static void null_glMultiTexCoord3bvOES( GLenum texture, const GLbyte *coords ) { }
static void null_glMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r ) { }
static void null_glMultiTexCoord3dARB( GLenum target, GLdouble s, GLdouble t, GLdouble r ) { }
static void null_glMultiTexCoord3dSGIS( GLenum target, GLdouble s, GLdouble t, GLdouble r ) { }
static void null_glMultiTexCoord3dv( GLenum target, const GLdouble *v ) { }
static void null_glMultiTexCoord3dvARB( GLenum target, const GLdouble *v ) { }
static void null_glMultiTexCoord3dvSGIS( GLenum target, GLdouble * v ) { }
static void null_glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r ) { }
static void null_glMultiTexCoord3fARB( GLenum target, GLfloat s, GLfloat t, GLfloat r ) { }
static void null_glMultiTexCoord3fSGIS( GLenum target, GLfloat s, GLfloat t, GLfloat r ) { }
static void null_glMultiTexCoord3fv( GLenum target, const GLfloat *v ) { }
static void null_glMultiTexCoord3fvARB( GLenum target, const GLfloat *v ) { }
static void null_glMultiTexCoord3fvSGIS( GLenum target, GLfloat * v ) { }
static void null_glMultiTexCoord3hNV( GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r ) { }
static void null_glMultiTexCoord3hvNV( GLenum target, const GLhalfNV *v ) { }
static void null_glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r ) { }
static void null_glMultiTexCoord3iARB( GLenum target, GLint s, GLint t, GLint r ) { }
static void null_glMultiTexCoord3iSGIS( GLenum target, GLint s, GLint t, GLint r ) { }
static void null_glMultiTexCoord3iv( GLenum target, const GLint *v ) { }
static void null_glMultiTexCoord3ivARB( GLenum target, const GLint *v ) { }
static void null_glMultiTexCoord3ivSGIS( GLenum target, GLint * v ) { }
static void null_glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r ) { }
static void null_glMultiTexCoord3sARB( GLenum target, GLshort s, GLshort t, GLshort r ) { }
static void null_glMultiTexCoord3sSGIS( GLenum target, GLshort s, GLshort t, GLshort r ) { }
static void null_glMultiTexCoord3sv( GLenum target, const GLshort *v ) { }
static void null_glMultiTexCoord3svARB( GLenum target, const GLshort *v ) { }
static void null_glMultiTexCoord3svSGIS( GLenum target, GLshort * v ) { }
static void null_glMultiTexCoord3xOES( GLenum texture, GLfixed s, GLfixed t, GLfixed r ) { }
static void null_glMultiTexCoord3xvOES( GLenum texture, const GLfixed *coords ) { }
static void null_glMultiTexCoord4bOES( GLenum texture, GLbyte s, GLbyte t, GLbyte r, GLbyte q ) { }
static void null_glMultiTexCoord4bvOES( GLenum texture, const GLbyte *coords ) { }
static void null_glMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q ) { }
static void null_glMultiTexCoord4dARB( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q ) { }
static void null_glMultiTexCoord4dSGIS( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q ) { }
static void null_glMultiTexCoord4dv( GLenum target, const GLdouble *v ) { }
static void null_glMultiTexCoord4dvARB( GLenum target, const GLdouble *v ) { }
static void null_glMultiTexCoord4dvSGIS( GLenum target, GLdouble * v ) { }
static void null_glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) { }
static void null_glMultiTexCoord4fARB( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) { }
static void null_glMultiTexCoord4fSGIS( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) { }
static void null_glMultiTexCoord4fv( GLenum target, const GLfloat *v ) { }
static void null_glMultiTexCoord4fvARB( GLenum target, const GLfloat *v ) { }
static void null_glMultiTexCoord4fvSGIS( GLenum target, GLfloat * v ) { }
static void null_glMultiTexCoord4hNV( GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q ) { }
static void null_glMultiTexCoord4hvNV( GLenum target, const GLhalfNV *v ) { }
static void null_glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q ) { }
static void null_glMultiTexCoord4iARB( GLenum target, GLint s, GLint t, GLint r, GLint q ) { }
static void null_glMultiTexCoord4iSGIS( GLenum target, GLint s, GLint t, GLint r, GLint q ) { }
static void null_glMultiTexCoord4iv( GLenum target, const GLint *v ) { }
static void null_glMultiTexCoord4ivARB( GLenum target, const GLint *v ) { }
static void null_glMultiTexCoord4ivSGIS( GLenum target, GLint * v ) { }
static void null_glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ) { }
static void null_glMultiTexCoord4sARB( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ) { }
static void null_glMultiTexCoord4sSGIS( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ) { }
static void null_glMultiTexCoord4sv( GLenum target, const GLshort *v ) { }
static void null_glMultiTexCoord4svARB( GLenum target, const GLshort *v ) { }
static void null_glMultiTexCoord4svSGIS( GLenum target, GLshort * v ) { }
static void null_glMultiTexCoord4xOES( GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) { }
static void null_glMultiTexCoord4xvOES( GLenum texture, const GLfixed *coords ) { }
static void null_glMultiTexCoordP1ui( GLenum texture, GLenum type, GLuint coords ) { }
static void null_glMultiTexCoordP1uiv( GLenum texture, GLenum type, const GLuint *coords ) { }
static void null_glMultiTexCoordP2ui( GLenum texture, GLenum type, GLuint coords ) { }
static void null_glMultiTexCoordP2uiv( GLenum texture, GLenum type, const GLuint *coords ) { }
static void null_glMultiTexCoordP3ui( GLenum texture, GLenum type, GLuint coords ) { }
static void null_glMultiTexCoordP3uiv( GLenum texture, GLenum type, const GLuint *coords ) { }
static void null_glMultiTexCoordP4ui( GLenum texture, GLenum type, GLuint coords ) { }
static void null_glMultiTexCoordP4uiv( GLenum texture, GLenum type, const GLuint *coords ) { }
static void null_glMultiTexCoordPointerEXT( GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glMultiTexCoordPointerSGIS( GLenum target, GLint size, GLenum type, GLsizei stride, GLvoid * pointer ) { }
static void null_glMultiTexEnvfEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat param ) { }
static void null_glMultiTexEnvfvEXT( GLenum texunit, GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glMultiTexEnviEXT( GLenum texunit, GLenum target, GLenum pname, GLint param ) { }
static void null_glMultiTexEnvivEXT( GLenum texunit, GLenum target, GLenum pname, const GLint *params ) { }
static void null_glMultiTexGendEXT( GLenum texunit, GLenum coord, GLenum pname, GLdouble param ) { }
static void null_glMultiTexGendvEXT( GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params ) { }
static void null_glMultiTexGenfEXT( GLenum texunit, GLenum coord, GLenum pname, GLfloat param ) { }
static void null_glMultiTexGenfvEXT( GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params ) { }
static void null_glMultiTexGeniEXT( GLenum texunit, GLenum coord, GLenum pname, GLint param ) { }
static void null_glMultiTexGenivEXT( GLenum texunit, GLenum coord, GLenum pname, const GLint *params ) { }
static void null_glMultiTexImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels ) { }
static void null_glMultiTexImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels ) { }
static void null_glMultiTexImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels ) { }
static void null_glMultiTexParameterIivEXT( GLenum texunit, GLenum target, GLenum pname, const GLint *params ) { }
static void null_glMultiTexParameterIuivEXT( GLenum texunit, GLenum target, GLenum pname, const GLuint *params ) { }
static void null_glMultiTexParameterfEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat param ) { }
static void null_glMultiTexParameterfvEXT( GLenum texunit, GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glMultiTexParameteriEXT( GLenum texunit, GLenum target, GLenum pname, GLint param ) { }
static void null_glMultiTexParameterivEXT( GLenum texunit, GLenum target, GLenum pname, const GLint *params ) { }
static void null_glMultiTexRenderbufferEXT( GLenum texunit, GLenum target, GLuint renderbuffer ) { }
static void null_glMultiTexSubImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels ) { }
static void null_glMultiTexSubImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels ) { }
static void null_glMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels ) { }
static void null_glMulticastBarrierNV(void) { }
static void null_glMulticastBlitFramebufferNV( GLuint srcGpu, GLuint dstGpu, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter ) { }
static void null_glMulticastBufferSubDataNV( GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data ) { }
static void null_glMulticastCopyBufferSubDataNV( GLuint readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size ) { }
static void null_glMulticastCopyImageSubDataNV( GLuint srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth ) { }
static void null_glMulticastFramebufferSampleLocationsfvNV( GLuint gpu, GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v ) { }
static void null_glMulticastGetQueryObjecti64vNV( GLuint gpu, GLuint id, GLenum pname, GLint64 *params ) { }
static void null_glMulticastGetQueryObjectivNV( GLuint gpu, GLuint id, GLenum pname, GLint *params ) { }
static void null_glMulticastGetQueryObjectui64vNV( GLuint gpu, GLuint id, GLenum pname, GLuint64 *params ) { }
static void null_glMulticastGetQueryObjectuivNV( GLuint gpu, GLuint id, GLenum pname, GLuint *params ) { }
static void null_glMulticastScissorArrayvNVX( GLuint gpu, GLuint first, GLsizei count, const GLint *v ) { }
static void null_glMulticastViewportArrayvNVX( GLuint gpu, GLuint first, GLsizei count, const GLfloat *v ) { }
static void null_glMulticastViewportPositionWScaleNVX( GLuint gpu, GLuint index, GLfloat xcoeff, GLfloat ycoeff ) { }
static void null_glMulticastWaitSyncNV( GLuint signalGpu, GLbitfield waitGpuMask ) { }
static void null_glNamedBufferAttachMemoryNV( GLuint buffer, GLuint memory, GLuint64 offset ) { }
static void null_glNamedBufferData( GLuint buffer, GLsizeiptr size, const void *data, GLenum usage ) { }
static void null_glNamedBufferDataEXT( GLuint buffer, GLsizeiptr size, const void *data, GLenum usage ) { }
static void null_glNamedBufferPageCommitmentARB( GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit ) { }
static void null_glNamedBufferPageCommitmentEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit ) { }
static void null_glNamedBufferStorage( GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags ) { }
static void null_glNamedBufferStorageEXT( GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags ) { }
static void null_glNamedBufferStorageExternalEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags ) { }
static void null_glNamedBufferStorageMemEXT( GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset ) { }
static void null_glNamedBufferSubData( GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data ) { }
static void null_glNamedBufferSubDataEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data ) { }
static void null_glNamedCopyBufferSubDataEXT( GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size ) { }
static void null_glNamedFramebufferDrawBuffer( GLuint framebuffer, GLenum buf ) { }
static void null_glNamedFramebufferDrawBuffers( GLuint framebuffer, GLsizei n, const GLenum *bufs ) { }
static void null_glNamedFramebufferParameteri( GLuint framebuffer, GLenum pname, GLint param ) { }
static void null_glNamedFramebufferParameteriEXT( GLuint framebuffer, GLenum pname, GLint param ) { }
static void null_glNamedFramebufferReadBuffer( GLuint framebuffer, GLenum src ) { }
static void null_glNamedFramebufferRenderbuffer( GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) { }
static void null_glNamedFramebufferRenderbufferEXT( GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) { }
static void null_glNamedFramebufferSampleLocationsfvARB( GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v ) { }
static void null_glNamedFramebufferSampleLocationsfvNV( GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v ) { }
static void null_glNamedFramebufferSamplePositionsfvAMD( GLuint framebuffer, GLuint numsamples, GLuint pixelindex, const GLfloat *values ) { }
static void null_glNamedFramebufferTexture( GLuint framebuffer, GLenum attachment, GLuint texture, GLint level ) { }
static void null_glNamedFramebufferTexture1DEXT( GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) { }
static void null_glNamedFramebufferTexture2DEXT( GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) { }
static void null_glNamedFramebufferTexture3DEXT( GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset ) { }
static void null_glNamedFramebufferTextureEXT( GLuint framebuffer, GLenum attachment, GLuint texture, GLint level ) { }
static void null_glNamedFramebufferTextureFaceEXT( GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face ) { }
static void null_glNamedFramebufferTextureLayer( GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer ) { }
static void null_glNamedFramebufferTextureLayerEXT( GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer ) { }
static void null_glNamedProgramLocalParameter4dEXT( GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glNamedProgramLocalParameter4dvEXT( GLuint program, GLenum target, GLuint index, const GLdouble *params ) { }
static void null_glNamedProgramLocalParameter4fEXT( GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glNamedProgramLocalParameter4fvEXT( GLuint program, GLenum target, GLuint index, const GLfloat *params ) { }
static void null_glNamedProgramLocalParameterI4iEXT( GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w ) { }
static void null_glNamedProgramLocalParameterI4ivEXT( GLuint program, GLenum target, GLuint index, const GLint *params ) { }
static void null_glNamedProgramLocalParameterI4uiEXT( GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w ) { }
static void null_glNamedProgramLocalParameterI4uivEXT( GLuint program, GLenum target, GLuint index, const GLuint *params ) { }
static void null_glNamedProgramLocalParameters4fvEXT( GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params ) { }
static void null_glNamedProgramLocalParametersI4ivEXT( GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params ) { }
static void null_glNamedProgramLocalParametersI4uivEXT( GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params ) { }
static void null_glNamedProgramStringEXT( GLuint program, GLenum target, GLenum format, GLsizei len, const void *string ) { }
static void null_glNamedRenderbufferStorage( GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glNamedRenderbufferStorageEXT( GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glNamedRenderbufferStorageMultisample( GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glNamedRenderbufferStorageMultisampleAdvancedAMD( GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glNamedRenderbufferStorageMultisampleCoverageEXT( GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glNamedRenderbufferStorageMultisampleEXT( GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glNamedStringARB( GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string ) { }
static GLuint null_glNewBufferRegion( GLenum type ) { return 0; }
static GLuint null_glNewObjectBufferATI( GLsizei size, const void *pointer, GLenum usage ) { return 0; }
static void null_glNormal3fVertex3fSUN( GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glNormal3fVertex3fvSUN( const GLfloat *n, const GLfloat *v ) { }
static void null_glNormal3hNV( GLhalfNV nx, GLhalfNV ny, GLhalfNV nz ) { }
static void null_glNormal3hvNV( const GLhalfNV *v ) { }
static void null_glNormal3xOES( GLfixed nx, GLfixed ny, GLfixed nz ) { }
static void null_glNormal3xvOES( const GLfixed *coords ) { }
static void null_glNormalFormatNV( GLenum type, GLsizei stride ) { }
static void null_glNormalP3ui( GLenum type, GLuint coords ) { }
static void null_glNormalP3uiv( GLenum type, const GLuint *coords ) { }
static void null_glNormalPointerEXT( GLenum type, GLsizei stride, GLsizei count, const void *pointer ) { }
static void null_glNormalPointerListIBM( GLenum type, GLint stride, const void **pointer, GLint ptrstride ) { }
static void null_glNormalPointervINTEL( GLenum type, const void **pointer ) { }
static void null_glNormalStream3bATI( GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz ) { }
static void null_glNormalStream3bvATI( GLenum stream, const GLbyte *coords ) { }
static void null_glNormalStream3dATI( GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz ) { }
static void null_glNormalStream3dvATI( GLenum stream, const GLdouble *coords ) { }
static void null_glNormalStream3fATI( GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz ) { }
static void null_glNormalStream3fvATI( GLenum stream, const GLfloat *coords ) { }
static void null_glNormalStream3iATI( GLenum stream, GLint nx, GLint ny, GLint nz ) { }
static void null_glNormalStream3ivATI( GLenum stream, const GLint *coords ) { }
static void null_glNormalStream3sATI( GLenum stream, GLshort nx, GLshort ny, GLshort nz ) { }
static void null_glNormalStream3svATI( GLenum stream, const GLshort *coords ) { }
static void null_glObjectLabel( GLenum identifier, GLuint name, GLsizei length, const GLchar *label ) { }
static void null_glObjectPtrLabel( const void *ptr, GLsizei length, const GLchar *label ) { }
static GLenum null_glObjectPurgeableAPPLE( GLenum objectType, GLuint name, GLenum option ) { return 0; }
static GLenum null_glObjectUnpurgeableAPPLE( GLenum objectType, GLuint name, GLenum option ) { return 0; }
static void null_glOrthofOES( GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f ) { }
static void null_glOrthoxOES( GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f ) { }
static void null_glPNTrianglesfATI( GLenum pname, GLfloat param ) { }
static void null_glPNTrianglesiATI( GLenum pname, GLint param ) { }
static void null_glPassTexCoordATI( GLuint dst, GLuint coord, GLenum swizzle ) { }
static void null_glPassThroughxOES( GLfixed token ) { }
static void null_glPatchParameterfv( GLenum pname, const GLfloat *values ) { }
static void null_glPatchParameteri( GLenum pname, GLint value ) { }
static void null_glPathColorGenNV( GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs ) { }
static void null_glPathCommandsNV( GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords ) { }
static void null_glPathCoordsNV( GLuint path, GLsizei numCoords, GLenum coordType, const void *coords ) { }
static void null_glPathCoverDepthFuncNV( GLenum func ) { }
static void null_glPathDashArrayNV( GLuint path, GLsizei dashCount, const GLfloat *dashArray ) { }
static void null_glPathFogGenNV( GLenum genMode ) { }
static GLenum null_glPathGlyphIndexArrayNV( GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale ) { return 0; }
static GLenum null_glPathGlyphIndexRangeNV( GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount[2] ) { return 0; }
static void null_glPathGlyphRangeNV( GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale ) { }
static void null_glPathGlyphsNV( GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale ) { }
static GLenum null_glPathMemoryGlyphIndexArrayNV( GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale ) { return 0; }
static void null_glPathParameterfNV( GLuint path, GLenum pname, GLfloat value ) { }
static void null_glPathParameterfvNV( GLuint path, GLenum pname, const GLfloat *value ) { }
static void null_glPathParameteriNV( GLuint path, GLenum pname, GLint value ) { }
static void null_glPathParameterivNV( GLuint path, GLenum pname, const GLint *value ) { }
static void null_glPathStencilDepthOffsetNV( GLfloat factor, GLfloat units ) { }
static void null_glPathStencilFuncNV( GLenum func, GLint ref, GLuint mask ) { }
static void null_glPathStringNV( GLuint path, GLenum format, GLsizei length, const void *pathString ) { }
static void null_glPathSubCommandsNV( GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords ) { }
static void null_glPathSubCoordsNV( GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords ) { }
static void null_glPathTexGenNV( GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs ) { }
static void null_glPauseTransformFeedback(void) { }
static void null_glPauseTransformFeedbackNV(void) { }
static void null_glPixelDataRangeNV( GLenum target, GLsizei length, const void *pointer ) { }
static void null_glPixelMapx( GLenum map, GLint size, const GLfixed *values ) { }
static void null_glPixelStorex( GLenum pname, GLfixed param ) { }
static void null_glPixelTexGenParameterfSGIS( GLenum pname, GLfloat param ) { }
static void null_glPixelTexGenParameterfvSGIS( GLenum pname, const GLfloat *params ) { }
static void null_glPixelTexGenParameteriSGIS( GLenum pname, GLint param ) { }
static void null_glPixelTexGenParameterivSGIS( GLenum pname, const GLint *params ) { }
static void null_glPixelTexGenSGIX( GLenum mode ) { }
static void null_glPixelTransferxOES( GLenum pname, GLfixed param ) { }
static void null_glPixelTransformParameterfEXT( GLenum target, GLenum pname, GLfloat param ) { }
static void null_glPixelTransformParameterfvEXT( GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glPixelTransformParameteriEXT( GLenum target, GLenum pname, GLint param ) { }
static void null_glPixelTransformParameterivEXT( GLenum target, GLenum pname, const GLint *params ) { }
static void null_glPixelZoomxOES( GLfixed xfactor, GLfixed yfactor ) { }
static GLboolean null_glPointAlongPathNV( GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY ) { return 0; }
static void null_glPointParameterf( GLenum pname, GLfloat param ) { }
static void null_glPointParameterfARB( GLenum pname, GLfloat param ) { }
static void null_glPointParameterfEXT( GLenum pname, GLfloat param ) { }
static void null_glPointParameterfSGIS( GLenum pname, GLfloat param ) { }
static void null_glPointParameterfv( GLenum pname, const GLfloat *params ) { }
static void null_glPointParameterfvARB( GLenum pname, const GLfloat *params ) { }
static void null_glPointParameterfvEXT( GLenum pname, const GLfloat *params ) { }
static void null_glPointParameterfvSGIS( GLenum pname, const GLfloat *params ) { }
static void null_glPointParameteri( GLenum pname, GLint param ) { }
static void null_glPointParameteriNV( GLenum pname, GLint param ) { }
static void null_glPointParameteriv( GLenum pname, const GLint *params ) { }
static void null_glPointParameterivNV( GLenum pname, const GLint *params ) { }
static void null_glPointParameterxvOES( GLenum pname, const GLfixed *params ) { }
static void null_glPointSizexOES( GLfixed size ) { }
static GLint null_glPollAsyncSGIX( GLuint *markerp ) { return 0; }
static GLint null_glPollInstrumentsSGIX( GLint *marker_p ) { return 0; }
static void null_glPolygonOffsetClamp( GLfloat factor, GLfloat units, GLfloat clamp ) { }
static void null_glPolygonOffsetClampEXT( GLfloat factor, GLfloat units, GLfloat clamp ) { }
static void null_glPolygonOffsetEXT( GLfloat factor, GLfloat bias ) { }
static void null_glPolygonOffsetxOES( GLfixed factor, GLfixed units ) { }
static void null_glPopDebugGroup(void) { }
static void null_glPopGroupMarkerEXT(void) { }
static void null_glPresentFrameDualFillNV( GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3 ) { }
static void null_glPresentFrameKeyedNV( GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1 ) { }
static void null_glPrimitiveBoundingBoxARB( GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW ) { }
static void null_glPrimitiveRestartIndex( GLuint index ) { }
static void null_glPrimitiveRestartIndexNV( GLuint index ) { }
static void null_glPrimitiveRestartNV(void) { }
static void null_glPrioritizeTexturesEXT( GLsizei n, const GLuint *textures, const GLclampf *priorities ) { }
static void null_glPrioritizeTexturesxOES( GLsizei n, const GLuint *textures, const GLfixed *priorities ) { }
static void null_glProgramBinary( GLuint program, GLenum binaryFormat, const void *binary, GLsizei length ) { }
static void null_glProgramBufferParametersIivNV( GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint *params ) { }
static void null_glProgramBufferParametersIuivNV( GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint *params ) { }
static void null_glProgramBufferParametersfvNV( GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat *params ) { }
static void null_glProgramEnvParameter4dARB( GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glProgramEnvParameter4dvARB( GLenum target, GLuint index, const GLdouble *params ) { }
static void null_glProgramEnvParameter4fARB( GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glProgramEnvParameter4fvARB( GLenum target, GLuint index, const GLfloat *params ) { }
static void null_glProgramEnvParameterI4iNV( GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w ) { }
static void null_glProgramEnvParameterI4ivNV( GLenum target, GLuint index, const GLint *params ) { }
static void null_glProgramEnvParameterI4uiNV( GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w ) { }
static void null_glProgramEnvParameterI4uivNV( GLenum target, GLuint index, const GLuint *params ) { }
static void null_glProgramEnvParameters4fvEXT( GLenum target, GLuint index, GLsizei count, const GLfloat *params ) { }
static void null_glProgramEnvParametersI4ivNV( GLenum target, GLuint index, GLsizei count, const GLint *params ) { }
static void null_glProgramEnvParametersI4uivNV( GLenum target, GLuint index, GLsizei count, const GLuint *params ) { }
static void null_glProgramLocalParameter4dARB( GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glProgramLocalParameter4dvARB( GLenum target, GLuint index, const GLdouble *params ) { }
static void null_glProgramLocalParameter4fARB( GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glProgramLocalParameter4fvARB( GLenum target, GLuint index, const GLfloat *params ) { }
static void null_glProgramLocalParameterI4iNV( GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w ) { }
static void null_glProgramLocalParameterI4ivNV( GLenum target, GLuint index, const GLint *params ) { }
static void null_glProgramLocalParameterI4uiNV( GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w ) { }
static void null_glProgramLocalParameterI4uivNV( GLenum target, GLuint index, const GLuint *params ) { }
static void null_glProgramLocalParameters4fvEXT( GLenum target, GLuint index, GLsizei count, const GLfloat *params ) { }
static void null_glProgramLocalParametersI4ivNV( GLenum target, GLuint index, GLsizei count, const GLint *params ) { }
static void null_glProgramLocalParametersI4uivNV( GLenum target, GLuint index, GLsizei count, const GLuint *params ) { }
static void null_glProgramNamedParameter4dNV( GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glProgramNamedParameter4dvNV( GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v ) { }
static void null_glProgramNamedParameter4fNV( GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glProgramNamedParameter4fvNV( GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v ) { }
static void null_glProgramParameter4dNV( GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glProgramParameter4dvNV( GLenum target, GLuint index, const GLdouble *v ) { }
static void null_glProgramParameter4fNV( GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glProgramParameter4fvNV( GLenum target, GLuint index, const GLfloat *v ) { }
static void null_glProgramParameteri( GLuint program, GLenum pname, GLint value ) { }
static void null_glProgramParameteriARB( GLuint program, GLenum pname, GLint value ) { }
static void null_glProgramParameteriEXT( GLuint program, GLenum pname, GLint value ) { }
static void null_glProgramParameters4dvNV( GLenum target, GLuint index, GLsizei count, const GLdouble *v ) { }
static void null_glProgramParameters4fvNV( GLenum target, GLuint index, GLsizei count, const GLfloat *v ) { }
static void null_glProgramPathFragmentInputGenNV( GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs ) { }
static void null_glProgramStringARB( GLenum target, GLenum format, GLsizei len, const void *string ) { }
static void null_glProgramSubroutineParametersuivNV( GLenum target, GLsizei count, const GLuint *params ) { }
static void null_glProgramUniform1d( GLuint program, GLint location, GLdouble v0 ) { }
static void null_glProgramUniform1dEXT( GLuint program, GLint location, GLdouble x ) { }
static void null_glProgramUniform1dv( GLuint program, GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glProgramUniform1dvEXT( GLuint program, GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glProgramUniform1f( GLuint program, GLint location, GLfloat v0 ) { }
static void null_glProgramUniform1fEXT( GLuint program, GLint location, GLfloat v0 ) { }
static void null_glProgramUniform1fv( GLuint program, GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glProgramUniform1fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glProgramUniform1i( GLuint program, GLint location, GLint v0 ) { }
static void null_glProgramUniform1i64ARB( GLuint program, GLint location, GLint64 x ) { }
static void null_glProgramUniform1i64NV( GLuint program, GLint location, GLint64EXT x ) { }
static void null_glProgramUniform1i64vARB( GLuint program, GLint location, GLsizei count, const GLint64 *value ) { }
static void null_glProgramUniform1i64vNV( GLuint program, GLint location, GLsizei count, const GLint64EXT *value ) { }
static void null_glProgramUniform1iEXT( GLuint program, GLint location, GLint v0 ) { }
static void null_glProgramUniform1iv( GLuint program, GLint location, GLsizei count, const GLint *value ) { }
static void null_glProgramUniform1ivEXT( GLuint program, GLint location, GLsizei count, const GLint *value ) { }
static void null_glProgramUniform1ui( GLuint program, GLint location, GLuint v0 ) { }
static void null_glProgramUniform1ui64ARB( GLuint program, GLint location, GLuint64 x ) { }
static void null_glProgramUniform1ui64NV( GLuint program, GLint location, GLuint64EXT x ) { }
static void null_glProgramUniform1ui64vARB( GLuint program, GLint location, GLsizei count, const GLuint64 *value ) { }
static void null_glProgramUniform1ui64vNV( GLuint program, GLint location, GLsizei count, const GLuint64EXT *value ) { }
static void null_glProgramUniform1uiEXT( GLuint program, GLint location, GLuint v0 ) { }
static void null_glProgramUniform1uiv( GLuint program, GLint location, GLsizei count, const GLuint *value ) { }
static void null_glProgramUniform1uivEXT( GLuint program, GLint location, GLsizei count, const GLuint *value ) { }
static void null_glProgramUniform2d( GLuint program, GLint location, GLdouble v0, GLdouble v1 ) { }
static void null_glProgramUniform2dEXT( GLuint program, GLint location, GLdouble x, GLdouble y ) { }
static void null_glProgramUniform2dv( GLuint program, GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glProgramUniform2dvEXT( GLuint program, GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glProgramUniform2f( GLuint program, GLint location, GLfloat v0, GLfloat v1 ) { }
static void null_glProgramUniform2fEXT( GLuint program, GLint location, GLfloat v0, GLfloat v1 ) { }
static void null_glProgramUniform2fv( GLuint program, GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glProgramUniform2fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glProgramUniform2i( GLuint program, GLint location, GLint v0, GLint v1 ) { }
static void null_glProgramUniform2i64ARB( GLuint program, GLint location, GLint64 x, GLint64 y ) { }
static void null_glProgramUniform2i64NV( GLuint program, GLint location, GLint64EXT x, GLint64EXT y ) { }
static void null_glProgramUniform2i64vARB( GLuint program, GLint location, GLsizei count, const GLint64 *value ) { }
static void null_glProgramUniform2i64vNV( GLuint program, GLint location, GLsizei count, const GLint64EXT *value ) { }
static void null_glProgramUniform2iEXT( GLuint program, GLint location, GLint v0, GLint v1 ) { }
static void null_glProgramUniform2iv( GLuint program, GLint location, GLsizei count, const GLint *value ) { }
static void null_glProgramUniform2ivEXT( GLuint program, GLint location, GLsizei count, const GLint *value ) { }
static void null_glProgramUniform2ui( GLuint program, GLint location, GLuint v0, GLuint v1 ) { }
static void null_glProgramUniform2ui64ARB( GLuint program, GLint location, GLuint64 x, GLuint64 y ) { }
static void null_glProgramUniform2ui64NV( GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y ) { }
static void null_glProgramUniform2ui64vARB( GLuint program, GLint location, GLsizei count, const GLuint64 *value ) { }
static void null_glProgramUniform2ui64vNV( GLuint program, GLint location, GLsizei count, const GLuint64EXT *value ) { }
static void null_glProgramUniform2uiEXT( GLuint program, GLint location, GLuint v0, GLuint v1 ) { }
static void null_glProgramUniform2uiv( GLuint program, GLint location, GLsizei count, const GLuint *value ) { }
static void null_glProgramUniform2uivEXT( GLuint program, GLint location, GLsizei count, const GLuint *value ) { }
static void null_glProgramUniform3d( GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2 ) { }
static void null_glProgramUniform3dEXT( GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glProgramUniform3dv( GLuint program, GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glProgramUniform3dvEXT( GLuint program, GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glProgramUniform3f( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2 ) { }
static void null_glProgramUniform3fEXT( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2 ) { }
static void null_glProgramUniform3fv( GLuint program, GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glProgramUniform3fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glProgramUniform3i( GLuint program, GLint location, GLint v0, GLint v1, GLint v2 ) { }
static void null_glProgramUniform3i64ARB( GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z ) { }
static void null_glProgramUniform3i64NV( GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z ) { }
static void null_glProgramUniform3i64vARB( GLuint program, GLint location, GLsizei count, const GLint64 *value ) { }
static void null_glProgramUniform3i64vNV( GLuint program, GLint location, GLsizei count, const GLint64EXT *value ) { }
static void null_glProgramUniform3iEXT( GLuint program, GLint location, GLint v0, GLint v1, GLint v2 ) { }
static void null_glProgramUniform3iv( GLuint program, GLint location, GLsizei count, const GLint *value ) { }
static void null_glProgramUniform3ivEXT( GLuint program, GLint location, GLsizei count, const GLint *value ) { }
static void null_glProgramUniform3ui( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2 ) { }
static void null_glProgramUniform3ui64ARB( GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z ) { }
static void null_glProgramUniform3ui64NV( GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z ) { }
static void null_glProgramUniform3ui64vARB( GLuint program, GLint location, GLsizei count, const GLuint64 *value ) { }
static void null_glProgramUniform3ui64vNV( GLuint program, GLint location, GLsizei count, const GLuint64EXT *value ) { }
static void null_glProgramUniform3uiEXT( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2 ) { }
static void null_glProgramUniform3uiv( GLuint program, GLint location, GLsizei count, const GLuint *value ) { }
static void null_glProgramUniform3uivEXT( GLuint program, GLint location, GLsizei count, const GLuint *value ) { }
static void null_glProgramUniform4d( GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3 ) { }
static void null_glProgramUniform4dEXT( GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glProgramUniform4dv( GLuint program, GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glProgramUniform4dvEXT( GLuint program, GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glProgramUniform4f( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 ) { }
static void null_glProgramUniform4fEXT( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 ) { }
static void null_glProgramUniform4fv( GLuint program, GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glProgramUniform4fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glProgramUniform4i( GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3 ) { }
static void null_glProgramUniform4i64ARB( GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w ) { }
static void null_glProgramUniform4i64NV( GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w ) { }
static void null_glProgramUniform4i64vARB( GLuint program, GLint location, GLsizei count, const GLint64 *value ) { }
static void null_glProgramUniform4i64vNV( GLuint program, GLint location, GLsizei count, const GLint64EXT *value ) { }
static void null_glProgramUniform4iEXT( GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3 ) { }
static void null_glProgramUniform4iv( GLuint program, GLint location, GLsizei count, const GLint *value ) { }
static void null_glProgramUniform4ivEXT( GLuint program, GLint location, GLsizei count, const GLint *value ) { }
static void null_glProgramUniform4ui( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 ) { }
static void null_glProgramUniform4ui64ARB( GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w ) { }
static void null_glProgramUniform4ui64NV( GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w ) { }
static void null_glProgramUniform4ui64vARB( GLuint program, GLint location, GLsizei count, const GLuint64 *value ) { }
static void null_glProgramUniform4ui64vNV( GLuint program, GLint location, GLsizei count, const GLuint64EXT *value ) { }
static void null_glProgramUniform4uiEXT( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 ) { }
static void null_glProgramUniform4uiv( GLuint program, GLint location, GLsizei count, const GLuint *value ) { }
static void null_glProgramUniform4uivEXT( GLuint program, GLint location, GLsizei count, const GLuint *value ) { }
static void null_glProgramUniformHandleui64ARB( GLuint program, GLint location, GLuint64 value ) { }
static void null_glProgramUniformHandleui64NV( GLuint program, GLint location, GLuint64 value ) { }
static void null_glProgramUniformHandleui64vARB( GLuint program, GLint location, GLsizei count, const GLuint64 *values ) { }
static void null_glProgramUniformHandleui64vNV( GLuint program, GLint location, GLsizei count, const GLuint64 *values ) { }
static void null_glProgramUniformMatrix2dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix2dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix2fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix2fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix2x3dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix2x3dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix2x3fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix2x3fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix2x4dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix2x4dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix2x4fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix2x4fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix3dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix3dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix3fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix3fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix3x2dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix3x2dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix3x2fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix3x2fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix3x4dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix3x4dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix3x4fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix3x4fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix4dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix4dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix4fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix4fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix4x2dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix4x2dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix4x2fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix4x2fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix4x3dv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix4x3dvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glProgramUniformMatrix4x3fv( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformMatrix4x3fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glProgramUniformui64NV( GLuint program, GLint location, GLuint64EXT value ) { }
static void null_glProgramUniformui64vNV( GLuint program, GLint location, GLsizei count, const GLuint64EXT *value ) { }
static void null_glProgramVertexLimitNV( GLenum target, GLint limit ) { }
static void null_glProvokingVertex( GLenum mode ) { }
static void null_glProvokingVertexEXT( GLenum mode ) { }
static void null_glPushClientAttribDefaultEXT( GLbitfield mask ) { }
static void null_glPushDebugGroup( GLenum source, GLuint id, GLsizei length, const GLchar *message ) { }
static void null_glPushGroupMarkerEXT( GLsizei length, const GLchar *marker ) { }
static void null_glQueryCounter( GLuint id, GLenum target ) { }
static GLbitfield null_glQueryMatrixxOES( GLfixed *mantissa, GLint *exponent ) { return 0; }
static void null_glQueryObjectParameteruiAMD( GLenum target, GLuint id, GLenum pname, GLuint param ) { }
static GLint null_glQueryResourceNV( GLenum queryType, GLint tagId, GLuint count, GLint *buffer ) { return 0; }
static void null_glQueryResourceTagNV( GLint tagId, const GLchar *tagString ) { }
static void null_glRasterPos2xOES( GLfixed x, GLfixed y ) { }
static void null_glRasterPos2xvOES( const GLfixed *coords ) { }
static void null_glRasterPos3xOES( GLfixed x, GLfixed y, GLfixed z ) { }
static void null_glRasterPos3xvOES( const GLfixed *coords ) { }
static void null_glRasterPos4xOES( GLfixed x, GLfixed y, GLfixed z, GLfixed w ) { }
static void null_glRasterPos4xvOES( const GLfixed *coords ) { }
static void null_glRasterSamplesEXT( GLuint samples, GLboolean fixedsamplelocations ) { }
static void null_glReadBufferRegion( GLenum region, GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glReadInstrumentsSGIX( GLint marker ) { }
static void null_glReadnPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data ) { }
static void null_glReadnPixelsARB( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data ) { }
static void null_glRectxOES( GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2 ) { }
static void null_glRectxvOES( const GLfixed *v1, const GLfixed *v2 ) { }
static void null_glReferencePlaneSGIX( const GLdouble *equation ) { }
static GLboolean null_glReleaseKeyedMutexWin32EXT( GLuint memory, GLuint64 key ) { return 0; }
static void null_glReleaseShaderCompiler(void) { }
static void null_glRenderGpuMaskNV( GLbitfield mask ) { }
static void null_glRenderbufferStorage( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glRenderbufferStorageEXT( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glRenderbufferStorageMultisample( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glRenderbufferStorageMultisampleAdvancedAMD( GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glRenderbufferStorageMultisampleCoverageNV( GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glRenderbufferStorageMultisampleEXT( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glReplacementCodePointerSUN( GLenum type, GLsizei stride, const void **pointer ) { }
static void null_glReplacementCodeubSUN( GLubyte code ) { }
static void null_glReplacementCodeubvSUN( const GLubyte *code ) { }
static void null_glReplacementCodeuiColor3fVertex3fSUN( GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glReplacementCodeuiColor3fVertex3fvSUN( const GLuint *rc, const GLfloat *c, const GLfloat *v ) { }
static void null_glReplacementCodeuiColor4fNormal3fVertex3fSUN( GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glReplacementCodeuiColor4fNormal3fVertex3fvSUN( const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v ) { }
static void null_glReplacementCodeuiColor4ubVertex3fSUN( GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glReplacementCodeuiColor4ubVertex3fvSUN( const GLuint *rc, const GLubyte *c, const GLfloat *v ) { }
static void null_glReplacementCodeuiNormal3fVertex3fSUN( GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glReplacementCodeuiNormal3fVertex3fvSUN( const GLuint *rc, const GLfloat *n, const GLfloat *v ) { }
static void null_glReplacementCodeuiSUN( GLuint code ) { }
static void null_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN( GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN( const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v ) { }
static void null_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN( GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN( const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v ) { }
static void null_glReplacementCodeuiTexCoord2fVertex3fSUN( GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glReplacementCodeuiTexCoord2fVertex3fvSUN( const GLuint *rc, const GLfloat *tc, const GLfloat *v ) { }
static void null_glReplacementCodeuiVertex3fSUN( GLuint rc, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glReplacementCodeuiVertex3fvSUN( const GLuint *rc, const GLfloat *v ) { }
static void null_glReplacementCodeuivSUN( const GLuint *code ) { }
static void null_glReplacementCodeusSUN( GLushort code ) { }
static void null_glReplacementCodeusvSUN( const GLushort *code ) { }
static void null_glRequestResidentProgramsNV( GLsizei n, const GLuint *programs ) { }
static void null_glResetHistogram( GLenum target ) { }
static void null_glResetHistogramEXT( GLenum target ) { }
static void null_glResetMemoryObjectParameterNV( GLuint memory, GLenum pname ) { }
static void null_glResetMinmax( GLenum target ) { }
static void null_glResetMinmaxEXT( GLenum target ) { }
static void null_glResizeBuffersMESA(void) { }
static void null_glResolveDepthValuesNV(void) { }
static void null_glResumeTransformFeedback(void) { }
static void null_glResumeTransformFeedbackNV(void) { }
static void null_glRotatexOES( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) { }
static void null_glSampleCoverage( GLfloat value, GLboolean invert ) { }
static void null_glSampleCoverageARB( GLfloat value, GLboolean invert ) { }
static void null_glSampleMapATI( GLuint dst, GLuint interp, GLenum swizzle ) { }
static void null_glSampleMaskEXT( GLclampf value, GLboolean invert ) { }
static void null_glSampleMaskIndexedNV( GLuint index, GLbitfield mask ) { }
static void null_glSampleMaskSGIS( GLclampf value, GLboolean invert ) { }
static void null_glSampleMaski( GLuint maskNumber, GLbitfield mask ) { }
static void null_glSamplePatternEXT( GLenum pattern ) { }
static void null_glSamplePatternSGIS( GLenum pattern ) { }
static void null_glSamplerParameterIiv( GLuint sampler, GLenum pname, const GLint *param ) { }
static void null_glSamplerParameterIuiv( GLuint sampler, GLenum pname, const GLuint *param ) { }
static void null_glSamplerParameterf( GLuint sampler, GLenum pname, GLfloat param ) { }
static void null_glSamplerParameterfv( GLuint sampler, GLenum pname, const GLfloat *param ) { }
static void null_glSamplerParameteri( GLuint sampler, GLenum pname, GLint param ) { }
static void null_glSamplerParameteriv( GLuint sampler, GLenum pname, const GLint *param ) { }
static void null_glScalexOES( GLfixed x, GLfixed y, GLfixed z ) { }
static void null_glScissorArrayv( GLuint first, GLsizei count, const GLint *v ) { }
static void null_glScissorExclusiveArrayvNV( GLuint first, GLsizei count, const GLint *v ) { }
static void null_glScissorExclusiveNV( GLint x, GLint y, GLsizei width, GLsizei height ) { }
static void null_glScissorIndexed( GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height ) { }
static void null_glScissorIndexedv( GLuint index, const GLint *v ) { }
static void null_glSecondaryColor3b( GLbyte red, GLbyte green, GLbyte blue ) { }
static void null_glSecondaryColor3bEXT( GLbyte red, GLbyte green, GLbyte blue ) { }
static void null_glSecondaryColor3bv( const GLbyte *v ) { }
static void null_glSecondaryColor3bvEXT( const GLbyte *v ) { }
static void null_glSecondaryColor3d( GLdouble red, GLdouble green, GLdouble blue ) { }
static void null_glSecondaryColor3dEXT( GLdouble red, GLdouble green, GLdouble blue ) { }
static void null_glSecondaryColor3dv( const GLdouble *v ) { }
static void null_glSecondaryColor3dvEXT( const GLdouble *v ) { }
static void null_glSecondaryColor3f( GLfloat red, GLfloat green, GLfloat blue ) { }
static void null_glSecondaryColor3fEXT( GLfloat red, GLfloat green, GLfloat blue ) { }
static void null_glSecondaryColor3fv( const GLfloat *v ) { }
static void null_glSecondaryColor3fvEXT( const GLfloat *v ) { }
static void null_glSecondaryColor3hNV( GLhalfNV red, GLhalfNV green, GLhalfNV blue ) { }
static void null_glSecondaryColor3hvNV( const GLhalfNV *v ) { }
static void null_glSecondaryColor3i( GLint red, GLint green, GLint blue ) { }
static void null_glSecondaryColor3iEXT( GLint red, GLint green, GLint blue ) { }
static void null_glSecondaryColor3iv( const GLint *v ) { }
static void null_glSecondaryColor3ivEXT( const GLint *v ) { }
static void null_glSecondaryColor3s( GLshort red, GLshort green, GLshort blue ) { }
static void null_glSecondaryColor3sEXT( GLshort red, GLshort green, GLshort blue ) { }
static void null_glSecondaryColor3sv( const GLshort *v ) { }
static void null_glSecondaryColor3svEXT( const GLshort *v ) { }
static void null_glSecondaryColor3ub( GLubyte red, GLubyte green, GLubyte blue ) { }
static void null_glSecondaryColor3ubEXT( GLubyte red, GLubyte green, GLubyte blue ) { }
static void null_glSecondaryColor3ubv( const GLubyte *v ) { }
static void null_glSecondaryColor3ubvEXT( const GLubyte *v ) { }
static void null_glSecondaryColor3ui( GLuint red, GLuint green, GLuint blue ) { }
static void null_glSecondaryColor3uiEXT( GLuint red, GLuint green, GLuint blue ) { }
static void null_glSecondaryColor3uiv( const GLuint *v ) { }
static void null_glSecondaryColor3uivEXT( const GLuint *v ) { }
static void null_glSecondaryColor3us( GLushort red, GLushort green, GLushort blue ) { }
static void null_glSecondaryColor3usEXT( GLushort red, GLushort green, GLushort blue ) { }
static void null_glSecondaryColor3usv( const GLushort *v ) { }
static void null_glSecondaryColor3usvEXT( const GLushort *v ) { }
static void null_glSecondaryColorFormatNV( GLint size, GLenum type, GLsizei stride ) { }
static void null_glSecondaryColorP3ui( GLenum type, GLuint color ) { }
static void null_glSecondaryColorP3uiv( GLenum type, const GLuint *color ) { }
static void null_glSecondaryColorPointer( GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glSecondaryColorPointerEXT( GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glSecondaryColorPointerListIBM( GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride ) { }
static void null_glSelectPerfMonitorCountersAMD( GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList ) { }
static void null_glSelectTextureCoordSetSGIS( GLenum target ) { }
static void null_glSelectTextureSGIS( GLenum target ) { }
static void null_glSemaphoreParameterui64vEXT( GLuint semaphore, GLenum pname, const GLuint64 *params ) { }
static void null_glSeparableFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column ) { }
static void null_glSeparableFilter2DEXT( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column ) { }
static void null_glSetFenceAPPLE( GLuint fence ) { }
static void null_glSetFenceNV( GLuint fence, GLenum condition ) { }
static void null_glSetFragmentShaderConstantATI( GLuint dst, const GLfloat *value ) { }
static void null_glSetInvariantEXT( GLuint id, GLenum type, const void *addr ) { }
static void null_glSetLocalConstantEXT( GLuint id, GLenum type, const void *addr ) { }
static void null_glSetMultisamplefvAMD( GLenum pname, GLuint index, const GLfloat *val ) { }
static void null_glShaderBinary( GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length ) { }
static void null_glShaderOp1EXT( GLenum op, GLuint res, GLuint arg1 ) { }
static void null_glShaderOp2EXT( GLenum op, GLuint res, GLuint arg1, GLuint arg2 ) { }
static void null_glShaderOp3EXT( GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3 ) { }
static void null_glShaderSource( GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length ) { }
static void null_glShaderSourceARB( GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length ) { }
static void null_glShaderStorageBlockBinding( GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding ) { }
static void null_glShadingRateImageBarrierNV( GLboolean synchronize ) { }
static void null_glShadingRateImagePaletteNV( GLuint viewport, GLuint first, GLsizei count, const GLenum *rates ) { }
static void null_glShadingRateSampleOrderCustomNV( GLenum rate, GLuint samples, const GLint *locations ) { }
static void null_glShadingRateSampleOrderNV( GLenum order ) { }
static void null_glSharpenTexFuncSGIS( GLenum target, GLsizei n, const GLfloat *points ) { }
static void null_glSignalSemaphoreEXT( GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts ) { }
static void null_glSignalSemaphoreui64NVX( GLuint signalGpu, GLsizei fenceObjectCount, const GLuint *semaphoreArray, const GLuint64 *fenceValueArray ) { }
static void null_glSignalVkFenceNV( GLuint64 vkFence ) { }
static void null_glSignalVkSemaphoreNV( GLuint64 vkSemaphore ) { }
static void null_glSpecializeShader( GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue ) { }
static void null_glSpecializeShaderARB( GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue ) { }
static void null_glSpriteParameterfSGIX( GLenum pname, GLfloat param ) { }
static void null_glSpriteParameterfvSGIX( GLenum pname, const GLfloat *params ) { }
static void null_glSpriteParameteriSGIX( GLenum pname, GLint param ) { }
static void null_glSpriteParameterivSGIX( GLenum pname, const GLint *params ) { }
static void null_glStartInstrumentsSGIX(void) { }
static void null_glStateCaptureNV( GLuint state, GLenum mode ) { }
static void null_glStencilClearTagEXT( GLsizei stencilTagBits, GLuint stencilClearTag ) { }
static void null_glStencilFillPathInstancedNV( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues ) { }
static void null_glStencilFillPathNV( GLuint path, GLenum fillMode, GLuint mask ) { }
static void null_glStencilFuncSeparate( GLenum face, GLenum func, GLint ref, GLuint mask ) { }
static void null_glStencilFuncSeparateATI( GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask ) { }
static void null_glStencilMaskSeparate( GLenum face, GLuint mask ) { }
static void null_glStencilOpSeparate( GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass ) { }
static void null_glStencilOpSeparateATI( GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass ) { }
static void null_glStencilOpValueAMD( GLenum face, GLuint value ) { }
static void null_glStencilStrokePathInstancedNV( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues ) { }
static void null_glStencilStrokePathNV( GLuint path, GLint reference, GLuint mask ) { }
static void null_glStencilThenCoverFillPathInstancedNV( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues ) { }
static void null_glStencilThenCoverFillPathNV( GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode ) { }
static void null_glStencilThenCoverStrokePathInstancedNV( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues ) { }
static void null_glStencilThenCoverStrokePathNV( GLuint path, GLint reference, GLuint mask, GLenum coverMode ) { }
static void null_glStopInstrumentsSGIX( GLint marker ) { }
static void null_glStringMarkerGREMEDY( GLsizei len, const void *string ) { }
static void null_glSubpixelPrecisionBiasNV( GLuint xbits, GLuint ybits ) { }
static void null_glSwizzleEXT( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW ) { }
static void null_glSyncTextureINTEL( GLuint texture ) { }
static void null_glTagSampleBufferSGIX(void) { }
static void null_glTangent3bEXT( GLbyte tx, GLbyte ty, GLbyte tz ) { }
static void null_glTangent3bvEXT( const GLbyte *v ) { }
static void null_glTangent3dEXT( GLdouble tx, GLdouble ty, GLdouble tz ) { }
static void null_glTangent3dvEXT( const GLdouble *v ) { }
static void null_glTangent3fEXT( GLfloat tx, GLfloat ty, GLfloat tz ) { }
static void null_glTangent3fvEXT( const GLfloat *v ) { }
static void null_glTangent3iEXT( GLint tx, GLint ty, GLint tz ) { }
static void null_glTangent3ivEXT( const GLint *v ) { }
static void null_glTangent3sEXT( GLshort tx, GLshort ty, GLshort tz ) { }
static void null_glTangent3svEXT( const GLshort *v ) { }
static void null_glTangentPointerEXT( GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glTbufferMask3DFX( GLuint mask ) { }
static void null_glTessellationFactorAMD( GLfloat factor ) { }
static void null_glTessellationModeAMD( GLenum mode ) { }
static GLboolean null_glTestFenceAPPLE( GLuint fence ) { return 0; }
static GLboolean null_glTestFenceNV( GLuint fence ) { return 0; }
static GLboolean null_glTestObjectAPPLE( GLenum object, GLuint name ) { return 0; }
static void null_glTexAttachMemoryNV( GLenum target, GLuint memory, GLuint64 offset ) { }
static void null_glTexBuffer( GLenum target, GLenum internalformat, GLuint buffer ) { }
static void null_glTexBufferARB( GLenum target, GLenum internalformat, GLuint buffer ) { }
static void null_glTexBufferEXT( GLenum target, GLenum internalformat, GLuint buffer ) { }
static void null_glTexBufferRange( GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) { }
static void null_glTexBumpParameterfvATI( GLenum pname, const GLfloat *param ) { }
static void null_glTexBumpParameterivATI( GLenum pname, const GLint *param ) { }
static void null_glTexCoord1bOES( GLbyte s ) { }
static void null_glTexCoord1bvOES( const GLbyte *coords ) { }
static void null_glTexCoord1hNV( GLhalfNV s ) { }
static void null_glTexCoord1hvNV( const GLhalfNV *v ) { }
static void null_glTexCoord1xOES( GLfixed s ) { }
static void null_glTexCoord1xvOES( const GLfixed *coords ) { }
static void null_glTexCoord2bOES( GLbyte s, GLbyte t ) { }
static void null_glTexCoord2bvOES( const GLbyte *coords ) { }
static void null_glTexCoord2fColor3fVertex3fSUN( GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glTexCoord2fColor3fVertex3fvSUN( const GLfloat *tc, const GLfloat *c, const GLfloat *v ) { }
static void null_glTexCoord2fColor4fNormal3fVertex3fSUN( GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glTexCoord2fColor4fNormal3fVertex3fvSUN( const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v ) { }
static void null_glTexCoord2fColor4ubVertex3fSUN( GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glTexCoord2fColor4ubVertex3fvSUN( const GLfloat *tc, const GLubyte *c, const GLfloat *v ) { }
static void null_glTexCoord2fNormal3fVertex3fSUN( GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glTexCoord2fNormal3fVertex3fvSUN( const GLfloat *tc, const GLfloat *n, const GLfloat *v ) { }
static void null_glTexCoord2fVertex3fSUN( GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glTexCoord2fVertex3fvSUN( const GLfloat *tc, const GLfloat *v ) { }
static void null_glTexCoord2hNV( GLhalfNV s, GLhalfNV t ) { }
static void null_glTexCoord2hvNV( const GLhalfNV *v ) { }
static void null_glTexCoord2xOES( GLfixed s, GLfixed t ) { }
static void null_glTexCoord2xvOES( const GLfixed *coords ) { }
static void null_glTexCoord3bOES( GLbyte s, GLbyte t, GLbyte r ) { }
static void null_glTexCoord3bvOES( const GLbyte *coords ) { }
static void null_glTexCoord3hNV( GLhalfNV s, GLhalfNV t, GLhalfNV r ) { }
static void null_glTexCoord3hvNV( const GLhalfNV *v ) { }
static void null_glTexCoord3xOES( GLfixed s, GLfixed t, GLfixed r ) { }
static void null_glTexCoord3xvOES( const GLfixed *coords ) { }
static void null_glTexCoord4bOES( GLbyte s, GLbyte t, GLbyte r, GLbyte q ) { }
static void null_glTexCoord4bvOES( const GLbyte *coords ) { }
static void null_glTexCoord4fColor4fNormal3fVertex4fSUN( GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glTexCoord4fColor4fNormal3fVertex4fvSUN( const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v ) { }
static void null_glTexCoord4fVertex4fSUN( GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glTexCoord4fVertex4fvSUN( const GLfloat *tc, const GLfloat *v ) { }
static void null_glTexCoord4hNV( GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q ) { }
static void null_glTexCoord4hvNV( const GLhalfNV *v ) { }
static void null_glTexCoord4xOES( GLfixed s, GLfixed t, GLfixed r, GLfixed q ) { }
static void null_glTexCoord4xvOES( const GLfixed *coords ) { }
static void null_glTexCoordFormatNV( GLint size, GLenum type, GLsizei stride ) { }
static void null_glTexCoordP1ui( GLenum type, GLuint coords ) { }
static void null_glTexCoordP1uiv( GLenum type, const GLuint *coords ) { }
static void null_glTexCoordP2ui( GLenum type, GLuint coords ) { }
static void null_glTexCoordP2uiv( GLenum type, const GLuint *coords ) { }
static void null_glTexCoordP3ui( GLenum type, GLuint coords ) { }
static void null_glTexCoordP3uiv( GLenum type, const GLuint *coords ) { }
static void null_glTexCoordP4ui( GLenum type, GLuint coords ) { }
static void null_glTexCoordP4uiv( GLenum type, const GLuint *coords ) { }
static void null_glTexCoordPointerEXT( GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer ) { }
static void null_glTexCoordPointerListIBM( GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride ) { }
static void null_glTexCoordPointervINTEL( GLint size, GLenum type, const void **pointer ) { }
static void null_glTexEnvxOES( GLenum target, GLenum pname, GLfixed param ) { }
static void null_glTexEnvxvOES( GLenum target, GLenum pname, const GLfixed *params ) { }
static void null_glTexFilterFuncSGIS( GLenum target, GLenum filter, GLsizei n, const GLfloat *weights ) { }
static void null_glTexGenxOES( GLenum coord, GLenum pname, GLfixed param ) { }
static void null_glTexGenxvOES( GLenum coord, GLenum pname, const GLfixed *params ) { }
static void null_glTexImage2DMultisample( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations ) { }
static void null_glTexImage2DMultisampleCoverageNV( GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations ) { }
static void null_glTexImage3D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTexImage3DEXT( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTexImage3DMultisample( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) { }
static void null_glTexImage3DMultisampleCoverageNV( GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations ) { }
static void null_glTexImage4DSGIS( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTexPageCommitmentARB( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit ) { }
static void null_glTexParameterIiv( GLenum target, GLenum pname, const GLint *params ) { }
static void null_glTexParameterIivEXT( GLenum target, GLenum pname, const GLint *params ) { }
static void null_glTexParameterIuiv( GLenum target, GLenum pname, const GLuint *params ) { }
static void null_glTexParameterIuivEXT( GLenum target, GLenum pname, const GLuint *params ) { }
static void null_glTexParameterxOES( GLenum target, GLenum pname, GLfixed param ) { }
static void null_glTexParameterxvOES( GLenum target, GLenum pname, const GLfixed *params ) { }
static void null_glTexRenderbufferNV( GLenum target, GLuint renderbuffer ) { }
static void null_glTexStorage1D( GLenum target, GLsizei levels, GLenum internalformat, GLsizei width ) { }
static void null_glTexStorage2D( GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glTexStorage2DMultisample( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations ) { }
static void null_glTexStorage3D( GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth ) { }
static void null_glTexStorage3DMultisample( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) { }
static void null_glTexStorageMem1DEXT( GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset ) { }
static void null_glTexStorageMem2DEXT( GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset ) { }
static void null_glTexStorageMem2DMultisampleEXT( GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset ) { }
static void null_glTexStorageMem3DEXT( GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset ) { }
static void null_glTexStorageMem3DMultisampleEXT( GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset ) { }
static void null_glTexStorageSparseAMD( GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags ) { }
static void null_glTexSubImage1DEXT( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTexSubImage2DEXT( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTexSubImage3DEXT( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTexSubImage4DSGIS( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTextureAttachMemoryNV( GLuint texture, GLuint memory, GLuint64 offset ) { }
static void null_glTextureBarrier(void) { }
static void null_glTextureBarrierNV(void) { }
static void null_glTextureBuffer( GLuint texture, GLenum internalformat, GLuint buffer ) { }
static void null_glTextureBufferEXT( GLuint texture, GLenum target, GLenum internalformat, GLuint buffer ) { }
static void null_glTextureBufferRange( GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) { }
static void null_glTextureBufferRangeEXT( GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) { }
static void null_glTextureColorMaskSGIS( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) { }
static void null_glTextureImage1DEXT( GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTextureImage2DEXT( GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTextureImage2DMultisampleCoverageNV( GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations ) { }
static void null_glTextureImage2DMultisampleNV( GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations ) { }
static void null_glTextureImage3DEXT( GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTextureImage3DMultisampleCoverageNV( GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations ) { }
static void null_glTextureImage3DMultisampleNV( GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations ) { }
static void null_glTextureLightEXT( GLenum pname ) { }
static void null_glTextureMaterialEXT( GLenum face, GLenum mode ) { }
static void null_glTextureNormalEXT( GLenum mode ) { }
static void null_glTexturePageCommitmentEXT( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit ) { }
static void null_glTextureParameterIiv( GLuint texture, GLenum pname, const GLint *params ) { }
static void null_glTextureParameterIivEXT( GLuint texture, GLenum target, GLenum pname, const GLint *params ) { }
static void null_glTextureParameterIuiv( GLuint texture, GLenum pname, const GLuint *params ) { }
static void null_glTextureParameterIuivEXT( GLuint texture, GLenum target, GLenum pname, const GLuint *params ) { }
static void null_glTextureParameterf( GLuint texture, GLenum pname, GLfloat param ) { }
static void null_glTextureParameterfEXT( GLuint texture, GLenum target, GLenum pname, GLfloat param ) { }
static void null_glTextureParameterfv( GLuint texture, GLenum pname, const GLfloat *param ) { }
static void null_glTextureParameterfvEXT( GLuint texture, GLenum target, GLenum pname, const GLfloat *params ) { }
static void null_glTextureParameteri( GLuint texture, GLenum pname, GLint param ) { }
static void null_glTextureParameteriEXT( GLuint texture, GLenum target, GLenum pname, GLint param ) { }
static void null_glTextureParameteriv( GLuint texture, GLenum pname, const GLint *param ) { }
static void null_glTextureParameterivEXT( GLuint texture, GLenum target, GLenum pname, const GLint *params ) { }
static void null_glTextureRangeAPPLE( GLenum target, GLsizei length, const void *pointer ) { }
static void null_glTextureRenderbufferEXT( GLuint texture, GLenum target, GLuint renderbuffer ) { }
static void null_glTextureStorage1D( GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width ) { }
static void null_glTextureStorage1DEXT( GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width ) { }
static void null_glTextureStorage2D( GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glTextureStorage2DEXT( GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height ) { }
static void null_glTextureStorage2DMultisample( GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations ) { }
static void null_glTextureStorage2DMultisampleEXT( GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations ) { }
static void null_glTextureStorage3D( GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth ) { }
static void null_glTextureStorage3DEXT( GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth ) { }
static void null_glTextureStorage3DMultisample( GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) { }
static void null_glTextureStorage3DMultisampleEXT( GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) { }
static void null_glTextureStorageMem1DEXT( GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset ) { }
static void null_glTextureStorageMem2DEXT( GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset ) { }
static void null_glTextureStorageMem2DMultisampleEXT( GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset ) { }
static void null_glTextureStorageMem3DEXT( GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset ) { }
static void null_glTextureStorageMem3DMultisampleEXT( GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset ) { }
static void null_glTextureStorageSparseAMD( GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags ) { }
static void null_glTextureSubImage1D( GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTextureSubImage1DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTextureSubImage2D( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTextureSubImage2DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTextureSubImage3D( GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTextureSubImage3DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels ) { }
static void null_glTextureView( GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers ) { }
static void null_glTrackMatrixNV( GLenum target, GLuint address, GLenum matrix, GLenum transform ) { }
static void null_glTransformFeedbackAttribsNV( GLsizei count, const GLint *attribs, GLenum bufferMode ) { }
static void null_glTransformFeedbackBufferBase( GLuint xfb, GLuint index, GLuint buffer ) { }
static void null_glTransformFeedbackBufferRange( GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size ) { }
static void null_glTransformFeedbackStreamAttribsNV( GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode ) { }
static void null_glTransformFeedbackVaryings( GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode ) { }
static void null_glTransformFeedbackVaryingsEXT( GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode ) { }
static void null_glTransformFeedbackVaryingsNV( GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode ) { }
static void null_glTransformPathNV( GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues ) { }
static void null_glTranslatexOES( GLfixed x, GLfixed y, GLfixed z ) { }
static void null_glUniform1d( GLint location, GLdouble x ) { }
static void null_glUniform1dv( GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glUniform1f( GLint location, GLfloat v0 ) { }
static void null_glUniform1fARB( GLint location, GLfloat v0 ) { }
static void null_glUniform1fv( GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glUniform1fvARB( GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glUniform1i( GLint location, GLint v0 ) { }
static void null_glUniform1i64ARB( GLint location, GLint64 x ) { }
static void null_glUniform1i64NV( GLint location, GLint64EXT x ) { }
static void null_glUniform1i64vARB( GLint location, GLsizei count, const GLint64 *value ) { }
static void null_glUniform1i64vNV( GLint location, GLsizei count, const GLint64EXT *value ) { }
static void null_glUniform1iARB( GLint location, GLint v0 ) { }
static void null_glUniform1iv( GLint location, GLsizei count, const GLint *value ) { }
static void null_glUniform1ivARB( GLint location, GLsizei count, const GLint *value ) { }
static void null_glUniform1ui( GLint location, GLuint v0 ) { }
static void null_glUniform1ui64ARB( GLint location, GLuint64 x ) { }
static void null_glUniform1ui64NV( GLint location, GLuint64EXT x ) { }
static void null_glUniform1ui64vARB( GLint location, GLsizei count, const GLuint64 *value ) { }
static void null_glUniform1ui64vNV( GLint location, GLsizei count, const GLuint64EXT *value ) { }
static void null_glUniform1uiEXT( GLint location, GLuint v0 ) { }
static void null_glUniform1uiv( GLint location, GLsizei count, const GLuint *value ) { }
static void null_glUniform1uivEXT( GLint location, GLsizei count, const GLuint *value ) { }
static void null_glUniform2d( GLint location, GLdouble x, GLdouble y ) { }
static void null_glUniform2dv( GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glUniform2f( GLint location, GLfloat v0, GLfloat v1 ) { }
static void null_glUniform2fARB( GLint location, GLfloat v0, GLfloat v1 ) { }
static void null_glUniform2fv( GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glUniform2fvARB( GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glUniform2i( GLint location, GLint v0, GLint v1 ) { }
static void null_glUniform2i64ARB( GLint location, GLint64 x, GLint64 y ) { }
static void null_glUniform2i64NV( GLint location, GLint64EXT x, GLint64EXT y ) { }
static void null_glUniform2i64vARB( GLint location, GLsizei count, const GLint64 *value ) { }
static void null_glUniform2i64vNV( GLint location, GLsizei count, const GLint64EXT *value ) { }
static void null_glUniform2iARB( GLint location, GLint v0, GLint v1 ) { }
static void null_glUniform2iv( GLint location, GLsizei count, const GLint *value ) { }
static void null_glUniform2ivARB( GLint location, GLsizei count, const GLint *value ) { }
static void null_glUniform2ui( GLint location, GLuint v0, GLuint v1 ) { }
static void null_glUniform2ui64ARB( GLint location, GLuint64 x, GLuint64 y ) { }
static void null_glUniform2ui64NV( GLint location, GLuint64EXT x, GLuint64EXT y ) { }
static void null_glUniform2ui64vARB( GLint location, GLsizei count, const GLuint64 *value ) { }
static void null_glUniform2ui64vNV( GLint location, GLsizei count, const GLuint64EXT *value ) { }
static void null_glUniform2uiEXT( GLint location, GLuint v0, GLuint v1 ) { }
static void null_glUniform2uiv( GLint location, GLsizei count, const GLuint *value ) { }
static void null_glUniform2uivEXT( GLint location, GLsizei count, const GLuint *value ) { }
static void null_glUniform3d( GLint location, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glUniform3dv( GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glUniform3f( GLint location, GLfloat v0, GLfloat v1, GLfloat v2 ) { }
static void null_glUniform3fARB( GLint location, GLfloat v0, GLfloat v1, GLfloat v2 ) { }
static void null_glUniform3fv( GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glUniform3fvARB( GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glUniform3i( GLint location, GLint v0, GLint v1, GLint v2 ) { }
static void null_glUniform3i64ARB( GLint location, GLint64 x, GLint64 y, GLint64 z ) { }
static void null_glUniform3i64NV( GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z ) { }
static void null_glUniform3i64vARB( GLint location, GLsizei count, const GLint64 *value ) { }
static void null_glUniform3i64vNV( GLint location, GLsizei count, const GLint64EXT *value ) { }
static void null_glUniform3iARB( GLint location, GLint v0, GLint v1, GLint v2 ) { }
static void null_glUniform3iv( GLint location, GLsizei count, const GLint *value ) { }
static void null_glUniform3ivARB( GLint location, GLsizei count, const GLint *value ) { }
static void null_glUniform3ui( GLint location, GLuint v0, GLuint v1, GLuint v2 ) { }
static void null_glUniform3ui64ARB( GLint location, GLuint64 x, GLuint64 y, GLuint64 z ) { }
static void null_glUniform3ui64NV( GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z ) { }
static void null_glUniform3ui64vARB( GLint location, GLsizei count, const GLuint64 *value ) { }
static void null_glUniform3ui64vNV( GLint location, GLsizei count, const GLuint64EXT *value ) { }
static void null_glUniform3uiEXT( GLint location, GLuint v0, GLuint v1, GLuint v2 ) { }
static void null_glUniform3uiv( GLint location, GLsizei count, const GLuint *value ) { }
static void null_glUniform3uivEXT( GLint location, GLsizei count, const GLuint *value ) { }
static void null_glUniform4d( GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glUniform4dv( GLint location, GLsizei count, const GLdouble *value ) { }
static void null_glUniform4f( GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 ) { }
static void null_glUniform4fARB( GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 ) { }
static void null_glUniform4fv( GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glUniform4fvARB( GLint location, GLsizei count, const GLfloat *value ) { }
static void null_glUniform4i( GLint location, GLint v0, GLint v1, GLint v2, GLint v3 ) { }
static void null_glUniform4i64ARB( GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w ) { }
static void null_glUniform4i64NV( GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w ) { }
static void null_glUniform4i64vARB( GLint location, GLsizei count, const GLint64 *value ) { }
static void null_glUniform4i64vNV( GLint location, GLsizei count, const GLint64EXT *value ) { }
static void null_glUniform4iARB( GLint location, GLint v0, GLint v1, GLint v2, GLint v3 ) { }
static void null_glUniform4iv( GLint location, GLsizei count, const GLint *value ) { }
static void null_glUniform4ivARB( GLint location, GLsizei count, const GLint *value ) { }
static void null_glUniform4ui( GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 ) { }
static void null_glUniform4ui64ARB( GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w ) { }
static void null_glUniform4ui64NV( GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w ) { }
static void null_glUniform4ui64vARB( GLint location, GLsizei count, const GLuint64 *value ) { }
static void null_glUniform4ui64vNV( GLint location, GLsizei count, const GLuint64EXT *value ) { }
static void null_glUniform4uiEXT( GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 ) { }
static void null_glUniform4uiv( GLint location, GLsizei count, const GLuint *value ) { }
static void null_glUniform4uivEXT( GLint location, GLsizei count, const GLuint *value ) { }
static void null_glUniformBlockBinding( GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding ) { }
static void null_glUniformBufferEXT( GLuint program, GLint location, GLuint buffer ) { }
static void null_glUniformHandleui64ARB( GLint location, GLuint64 value ) { }
static void null_glUniformHandleui64NV( GLint location, GLuint64 value ) { }
static void null_glUniformHandleui64vARB( GLint location, GLsizei count, const GLuint64 *value ) { }
static void null_glUniformHandleui64vNV( GLint location, GLsizei count, const GLuint64 *value ) { }
static void null_glUniformMatrix2dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glUniformMatrix2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformMatrix2fvARB( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformMatrix2x3dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glUniformMatrix2x3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformMatrix2x4dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glUniformMatrix2x4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformMatrix3dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glUniformMatrix3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformMatrix3fvARB( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformMatrix3x2dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glUniformMatrix3x2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformMatrix3x4dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glUniformMatrix3x4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformMatrix4dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glUniformMatrix4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformMatrix4fvARB( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformMatrix4x2dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glUniformMatrix4x2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformMatrix4x3dv( GLint location, GLsizei count, GLboolean transpose, const GLdouble *value ) { }
static void null_glUniformMatrix4x3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) { }
static void null_glUniformSubroutinesuiv( GLenum shadertype, GLsizei count, const GLuint *indices ) { }
static void null_glUniformui64NV( GLint location, GLuint64EXT value ) { }
static void null_glUniformui64vNV( GLint location, GLsizei count, const GLuint64EXT *value ) { }
static void null_glUnlockArraysEXT(void) { }
static GLboolean null_glUnmapBuffer( GLenum target ) { return 0; }
static GLboolean null_glUnmapBufferARB( GLenum target ) { return 0; }
static GLboolean null_glUnmapNamedBuffer( GLuint buffer ) { return 0; }
static GLboolean null_glUnmapNamedBufferEXT( GLuint buffer ) { return 0; }
static void null_glUnmapObjectBufferATI( GLuint buffer ) { }
static void null_glUnmapTexture2DINTEL( GLuint texture, GLint level ) { }
static void null_glUpdateObjectBufferATI( GLuint buffer, GLuint offset, GLsizei size, const void *pointer, GLenum preserve ) { }
static void null_glUploadGpuMaskNVX( GLbitfield mask ) { }
static void null_glUseProgram( GLuint program ) { }
static void null_glUseProgramObjectARB( GLhandleARB programObj ) { }
static void null_glUseProgramStages( GLuint pipeline, GLbitfield stages, GLuint program ) { }
static void null_glUseShaderProgramEXT( GLenum type, GLuint program ) { }
static void null_glVDPAUFiniNV(void) { }
static void null_glVDPAUGetSurfaceivNV( GLvdpauSurfaceNV surface, GLenum pname, GLsizei count, GLsizei *length, GLint *values ) { }
static void null_glVDPAUInitNV( const void *vdpDevice, const void *getProcAddress ) { }
static GLboolean null_glVDPAUIsSurfaceNV( GLvdpauSurfaceNV surface ) { return 0; }
static void null_glVDPAUMapSurfacesNV( GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces ) { }
static GLvdpauSurfaceNV null_glVDPAURegisterOutputSurfaceNV( const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames ) { return 0; }
static GLvdpauSurfaceNV null_glVDPAURegisterVideoSurfaceNV( const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames ) { return 0; }
static GLvdpauSurfaceNV null_glVDPAURegisterVideoSurfaceWithPictureStructureNV( const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames, GLboolean isFrameStructure ) { return 0; }
static void null_glVDPAUSurfaceAccessNV( GLvdpauSurfaceNV surface, GLenum access ) { }
static void null_glVDPAUUnmapSurfacesNV( GLsizei numSurface, const GLvdpauSurfaceNV *surfaces ) { }
static void null_glVDPAUUnregisterSurfaceNV( GLvdpauSurfaceNV surface ) { }
static void null_glValidateProgram( GLuint program ) { }
static void null_glValidateProgramARB( GLhandleARB programObj ) { }
static void null_glValidateProgramPipeline( GLuint pipeline ) { }
static void null_glVariantArrayObjectATI( GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset ) { }
static void null_glVariantPointerEXT( GLuint id, GLenum type, GLuint stride, const void *addr ) { }
static void null_glVariantbvEXT( GLuint id, const GLbyte *addr ) { }
static void null_glVariantdvEXT( GLuint id, const GLdouble *addr ) { }
static void null_glVariantfvEXT( GLuint id, const GLfloat *addr ) { }
static void null_glVariantivEXT( GLuint id, const GLint *addr ) { }
static void null_glVariantsvEXT( GLuint id, const GLshort *addr ) { }
static void null_glVariantubvEXT( GLuint id, const GLubyte *addr ) { }
static void null_glVariantuivEXT( GLuint id, const GLuint *addr ) { }
static void null_glVariantusvEXT( GLuint id, const GLushort *addr ) { }
static void null_glVertex2bOES( GLbyte x, GLbyte y ) { }
static void null_glVertex2bvOES( const GLbyte *coords ) { }
static void null_glVertex2hNV( GLhalfNV x, GLhalfNV y ) { }
static void null_glVertex2hvNV( const GLhalfNV *v ) { }
static void null_glVertex2xOES( GLfixed x ) { }
static void null_glVertex2xvOES( const GLfixed *coords ) { }
static void null_glVertex3bOES( GLbyte x, GLbyte y, GLbyte z ) { }
static void null_glVertex3bvOES( const GLbyte *coords ) { }
static void null_glVertex3hNV( GLhalfNV x, GLhalfNV y, GLhalfNV z ) { }
static void null_glVertex3hvNV( const GLhalfNV *v ) { }
static void null_glVertex3xOES( GLfixed x, GLfixed y ) { }
static void null_glVertex3xvOES( const GLfixed *coords ) { }
static void null_glVertex4bOES( GLbyte x, GLbyte y, GLbyte z, GLbyte w ) { }
static void null_glVertex4bvOES( const GLbyte *coords ) { }
static void null_glVertex4hNV( GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w ) { }
static void null_glVertex4hvNV( const GLhalfNV *v ) { }
static void null_glVertex4xOES( GLfixed x, GLfixed y, GLfixed z ) { }
static void null_glVertex4xvOES( const GLfixed *coords ) { }
static void null_glVertexArrayAttribBinding( GLuint vaobj, GLuint attribindex, GLuint bindingindex ) { }
static void null_glVertexArrayAttribFormat( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset ) { }
static void null_glVertexArrayAttribIFormat( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset ) { }
static void null_glVertexArrayAttribLFormat( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset ) { }
static void null_glVertexArrayBindVertexBufferEXT( GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride ) { }
static void null_glVertexArrayBindingDivisor( GLuint vaobj, GLuint bindingindex, GLuint divisor ) { }
static void null_glVertexArrayColorOffsetEXT( GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset ) { }
static void null_glVertexArrayEdgeFlagOffsetEXT( GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset ) { }
static void null_glVertexArrayElementBuffer( GLuint vaobj, GLuint buffer ) { }
static void null_glVertexArrayFogCoordOffsetEXT( GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset ) { }
static void null_glVertexArrayIndexOffsetEXT( GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset ) { }
static void null_glVertexArrayMultiTexCoordOffsetEXT( GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset ) { }
static void null_glVertexArrayNormalOffsetEXT( GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset ) { }
static void null_glVertexArrayParameteriAPPLE( GLenum pname, GLint param ) { }
static void null_glVertexArrayRangeAPPLE( GLsizei length, void *pointer ) { }
static void null_glVertexArrayRangeNV( GLsizei length, const void *pointer ) { }
static void null_glVertexArraySecondaryColorOffsetEXT( GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset ) { }
static void null_glVertexArrayTexCoordOffsetEXT( GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset ) { }
static void null_glVertexArrayVertexAttribBindingEXT( GLuint vaobj, GLuint attribindex, GLuint bindingindex ) { }
static void null_glVertexArrayVertexAttribDivisorEXT( GLuint vaobj, GLuint index, GLuint divisor ) { }
static void null_glVertexArrayVertexAttribFormatEXT( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset ) { }
static void null_glVertexArrayVertexAttribIFormatEXT( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset ) { }
static void null_glVertexArrayVertexAttribIOffsetEXT( GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset ) { }
static void null_glVertexArrayVertexAttribLFormatEXT( GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset ) { }
static void null_glVertexArrayVertexAttribLOffsetEXT( GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset ) { }
static void null_glVertexArrayVertexAttribOffsetEXT( GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset ) { }
static void null_glVertexArrayVertexBindingDivisorEXT( GLuint vaobj, GLuint bindingindex, GLuint divisor ) { }
static void null_glVertexArrayVertexBuffer( GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride ) { }
static void null_glVertexArrayVertexBuffers( GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides ) { }
static void null_glVertexArrayVertexOffsetEXT( GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset ) { }
static void null_glVertexAttrib1d( GLuint index, GLdouble x ) { }
static void null_glVertexAttrib1dARB( GLuint index, GLdouble x ) { }
static void null_glVertexAttrib1dNV( GLuint index, GLdouble x ) { }
static void null_glVertexAttrib1dv( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib1dvARB( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib1dvNV( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib1f( GLuint index, GLfloat x ) { }
static void null_glVertexAttrib1fARB( GLuint index, GLfloat x ) { }
static void null_glVertexAttrib1fNV( GLuint index, GLfloat x ) { }
static void null_glVertexAttrib1fv( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib1fvARB( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib1fvNV( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib1hNV( GLuint index, GLhalfNV x ) { }
static void null_glVertexAttrib1hvNV( GLuint index, const GLhalfNV *v ) { }
static void null_glVertexAttrib1s( GLuint index, GLshort x ) { }
static void null_glVertexAttrib1sARB( GLuint index, GLshort x ) { }
static void null_glVertexAttrib1sNV( GLuint index, GLshort x ) { }
static void null_glVertexAttrib1sv( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib1svARB( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib1svNV( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib2d( GLuint index, GLdouble x, GLdouble y ) { }
static void null_glVertexAttrib2dARB( GLuint index, GLdouble x, GLdouble y ) { }
static void null_glVertexAttrib2dNV( GLuint index, GLdouble x, GLdouble y ) { }
static void null_glVertexAttrib2dv( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib2dvARB( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib2dvNV( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib2f( GLuint index, GLfloat x, GLfloat y ) { }
static void null_glVertexAttrib2fARB( GLuint index, GLfloat x, GLfloat y ) { }
static void null_glVertexAttrib2fNV( GLuint index, GLfloat x, GLfloat y ) { }
static void null_glVertexAttrib2fv( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib2fvARB( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib2fvNV( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib2hNV( GLuint index, GLhalfNV x, GLhalfNV y ) { }
static void null_glVertexAttrib2hvNV( GLuint index, const GLhalfNV *v ) { }
static void null_glVertexAttrib2s( GLuint index, GLshort x, GLshort y ) { }
static void null_glVertexAttrib2sARB( GLuint index, GLshort x, GLshort y ) { }
static void null_glVertexAttrib2sNV( GLuint index, GLshort x, GLshort y ) { }
static void null_glVertexAttrib2sv( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib2svARB( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib2svNV( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib3d( GLuint index, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glVertexAttrib3dARB( GLuint index, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glVertexAttrib3dNV( GLuint index, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glVertexAttrib3dv( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib3dvARB( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib3dvNV( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib3f( GLuint index, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glVertexAttrib3fARB( GLuint index, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glVertexAttrib3fNV( GLuint index, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glVertexAttrib3fv( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib3fvARB( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib3fvNV( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib3hNV( GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z ) { }
static void null_glVertexAttrib3hvNV( GLuint index, const GLhalfNV *v ) { }
static void null_glVertexAttrib3s( GLuint index, GLshort x, GLshort y, GLshort z ) { }
static void null_glVertexAttrib3sARB( GLuint index, GLshort x, GLshort y, GLshort z ) { }
static void null_glVertexAttrib3sNV( GLuint index, GLshort x, GLshort y, GLshort z ) { }
static void null_glVertexAttrib3sv( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib3svARB( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib3svNV( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib4Nbv( GLuint index, const GLbyte *v ) { }
static void null_glVertexAttrib4NbvARB( GLuint index, const GLbyte *v ) { }
static void null_glVertexAttrib4Niv( GLuint index, const GLint *v ) { }
static void null_glVertexAttrib4NivARB( GLuint index, const GLint *v ) { }
static void null_glVertexAttrib4Nsv( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib4NsvARB( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib4Nub( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w ) { }
static void null_glVertexAttrib4NubARB( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w ) { }
static void null_glVertexAttrib4Nubv( GLuint index, const GLubyte *v ) { }
static void null_glVertexAttrib4NubvARB( GLuint index, const GLubyte *v ) { }
static void null_glVertexAttrib4Nuiv( GLuint index, const GLuint *v ) { }
static void null_glVertexAttrib4NuivARB( GLuint index, const GLuint *v ) { }
static void null_glVertexAttrib4Nusv( GLuint index, const GLushort *v ) { }
static void null_glVertexAttrib4NusvARB( GLuint index, const GLushort *v ) { }
static void null_glVertexAttrib4bv( GLuint index, const GLbyte *v ) { }
static void null_glVertexAttrib4bvARB( GLuint index, const GLbyte *v ) { }
static void null_glVertexAttrib4d( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glVertexAttrib4dARB( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glVertexAttrib4dNV( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glVertexAttrib4dv( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib4dvARB( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib4dvNV( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttrib4f( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glVertexAttrib4fARB( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glVertexAttrib4fNV( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glVertexAttrib4fv( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib4fvARB( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib4fvNV( GLuint index, const GLfloat *v ) { }
static void null_glVertexAttrib4hNV( GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w ) { }
static void null_glVertexAttrib4hvNV( GLuint index, const GLhalfNV *v ) { }
static void null_glVertexAttrib4iv( GLuint index, const GLint *v ) { }
static void null_glVertexAttrib4ivARB( GLuint index, const GLint *v ) { }
static void null_glVertexAttrib4s( GLuint index, GLshort x, GLshort y, GLshort z, GLshort w ) { }
static void null_glVertexAttrib4sARB( GLuint index, GLshort x, GLshort y, GLshort z, GLshort w ) { }
static void null_glVertexAttrib4sNV( GLuint index, GLshort x, GLshort y, GLshort z, GLshort w ) { }
static void null_glVertexAttrib4sv( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib4svARB( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib4svNV( GLuint index, const GLshort *v ) { }
static void null_glVertexAttrib4ubNV( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w ) { }
static void null_glVertexAttrib4ubv( GLuint index, const GLubyte *v ) { }
static void null_glVertexAttrib4ubvARB( GLuint index, const GLubyte *v ) { }
static void null_glVertexAttrib4ubvNV( GLuint index, const GLubyte *v ) { }
static void null_glVertexAttrib4uiv( GLuint index, const GLuint *v ) { }
static void null_glVertexAttrib4uivARB( GLuint index, const GLuint *v ) { }
static void null_glVertexAttrib4usv( GLuint index, const GLushort *v ) { }
static void null_glVertexAttrib4usvARB( GLuint index, const GLushort *v ) { }
static void null_glVertexAttribArrayObjectATI( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset ) { }
static void null_glVertexAttribBinding( GLuint attribindex, GLuint bindingindex ) { }
static void null_glVertexAttribDivisor( GLuint index, GLuint divisor ) { }
static void null_glVertexAttribDivisorARB( GLuint index, GLuint divisor ) { }
static void null_glVertexAttribFormat( GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset ) { }
static void null_glVertexAttribFormatNV( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride ) { }
static void null_glVertexAttribI1i( GLuint index, GLint x ) { }
static void null_glVertexAttribI1iEXT( GLuint index, GLint x ) { }
static void null_glVertexAttribI1iv( GLuint index, const GLint *v ) { }
static void null_glVertexAttribI1ivEXT( GLuint index, const GLint *v ) { }
static void null_glVertexAttribI1ui( GLuint index, GLuint x ) { }
static void null_glVertexAttribI1uiEXT( GLuint index, GLuint x ) { }
static void null_glVertexAttribI1uiv( GLuint index, const GLuint *v ) { }
static void null_glVertexAttribI1uivEXT( GLuint index, const GLuint *v ) { }
static void null_glVertexAttribI2i( GLuint index, GLint x, GLint y ) { }
static void null_glVertexAttribI2iEXT( GLuint index, GLint x, GLint y ) { }
static void null_glVertexAttribI2iv( GLuint index, const GLint *v ) { }
static void null_glVertexAttribI2ivEXT( GLuint index, const GLint *v ) { }
static void null_glVertexAttribI2ui( GLuint index, GLuint x, GLuint y ) { }
static void null_glVertexAttribI2uiEXT( GLuint index, GLuint x, GLuint y ) { }
static void null_glVertexAttribI2uiv( GLuint index, const GLuint *v ) { }
static void null_glVertexAttribI2uivEXT( GLuint index, const GLuint *v ) { }
static void null_glVertexAttribI3i( GLuint index, GLint x, GLint y, GLint z ) { }
static void null_glVertexAttribI3iEXT( GLuint index, GLint x, GLint y, GLint z ) { }
static void null_glVertexAttribI3iv( GLuint index, const GLint *v ) { }
static void null_glVertexAttribI3ivEXT( GLuint index, const GLint *v ) { }
static void null_glVertexAttribI3ui( GLuint index, GLuint x, GLuint y, GLuint z ) { }
static void null_glVertexAttribI3uiEXT( GLuint index, GLuint x, GLuint y, GLuint z ) { }
static void null_glVertexAttribI3uiv( GLuint index, const GLuint *v ) { }
static void null_glVertexAttribI3uivEXT( GLuint index, const GLuint *v ) { }
static void null_glVertexAttribI4bv( GLuint index, const GLbyte *v ) { }
static void null_glVertexAttribI4bvEXT( GLuint index, const GLbyte *v ) { }
static void null_glVertexAttribI4i( GLuint index, GLint x, GLint y, GLint z, GLint w ) { }
static void null_glVertexAttribI4iEXT( GLuint index, GLint x, GLint y, GLint z, GLint w ) { }
static void null_glVertexAttribI4iv( GLuint index, const GLint *v ) { }
static void null_glVertexAttribI4ivEXT( GLuint index, const GLint *v ) { }
static void null_glVertexAttribI4sv( GLuint index, const GLshort *v ) { }
static void null_glVertexAttribI4svEXT( GLuint index, const GLshort *v ) { }
static void null_glVertexAttribI4ubv( GLuint index, const GLubyte *v ) { }
static void null_glVertexAttribI4ubvEXT( GLuint index, const GLubyte *v ) { }
static void null_glVertexAttribI4ui( GLuint index, GLuint x, GLuint y, GLuint z, GLuint w ) { }
static void null_glVertexAttribI4uiEXT( GLuint index, GLuint x, GLuint y, GLuint z, GLuint w ) { }
static void null_glVertexAttribI4uiv( GLuint index, const GLuint *v ) { }
static void null_glVertexAttribI4uivEXT( GLuint index, const GLuint *v ) { }
static void null_glVertexAttribI4usv( GLuint index, const GLushort *v ) { }
static void null_glVertexAttribI4usvEXT( GLuint index, const GLushort *v ) { }
static void null_glVertexAttribIFormat( GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset ) { }
static void null_glVertexAttribIFormatNV( GLuint index, GLint size, GLenum type, GLsizei stride ) { }
static void null_glVertexAttribIPointer( GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glVertexAttribIPointerEXT( GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glVertexAttribL1d( GLuint index, GLdouble x ) { }
static void null_glVertexAttribL1dEXT( GLuint index, GLdouble x ) { }
static void null_glVertexAttribL1dv( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttribL1dvEXT( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttribL1i64NV( GLuint index, GLint64EXT x ) { }
static void null_glVertexAttribL1i64vNV( GLuint index, const GLint64EXT *v ) { }
static void null_glVertexAttribL1ui64ARB( GLuint index, GLuint64EXT x ) { }
static void null_glVertexAttribL1ui64NV( GLuint index, GLuint64EXT x ) { }
static void null_glVertexAttribL1ui64vARB( GLuint index, const GLuint64EXT *v ) { }
static void null_glVertexAttribL1ui64vNV( GLuint index, const GLuint64EXT *v ) { }
static void null_glVertexAttribL2d( GLuint index, GLdouble x, GLdouble y ) { }
static void null_glVertexAttribL2dEXT( GLuint index, GLdouble x, GLdouble y ) { }
static void null_glVertexAttribL2dv( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttribL2dvEXT( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttribL2i64NV( GLuint index, GLint64EXT x, GLint64EXT y ) { }
static void null_glVertexAttribL2i64vNV( GLuint index, const GLint64EXT *v ) { }
static void null_glVertexAttribL2ui64NV( GLuint index, GLuint64EXT x, GLuint64EXT y ) { }
static void null_glVertexAttribL2ui64vNV( GLuint index, const GLuint64EXT *v ) { }
static void null_glVertexAttribL3d( GLuint index, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glVertexAttribL3dEXT( GLuint index, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glVertexAttribL3dv( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttribL3dvEXT( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttribL3i64NV( GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z ) { }
static void null_glVertexAttribL3i64vNV( GLuint index, const GLint64EXT *v ) { }
static void null_glVertexAttribL3ui64NV( GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z ) { }
static void null_glVertexAttribL3ui64vNV( GLuint index, const GLuint64EXT *v ) { }
static void null_glVertexAttribL4d( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glVertexAttribL4dEXT( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glVertexAttribL4dv( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttribL4dvEXT( GLuint index, const GLdouble *v ) { }
static void null_glVertexAttribL4i64NV( GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w ) { }
static void null_glVertexAttribL4i64vNV( GLuint index, const GLint64EXT *v ) { }
static void null_glVertexAttribL4ui64NV( GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w ) { }
static void null_glVertexAttribL4ui64vNV( GLuint index, const GLuint64EXT *v ) { }
static void null_glVertexAttribLFormat( GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset ) { }
static void null_glVertexAttribLFormatNV( GLuint index, GLint size, GLenum type, GLsizei stride ) { }
static void null_glVertexAttribLPointer( GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glVertexAttribLPointerEXT( GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glVertexAttribP1ui( GLuint index, GLenum type, GLboolean normalized, GLuint value ) { }
static void null_glVertexAttribP1uiv( GLuint index, GLenum type, GLboolean normalized, const GLuint *value ) { }
static void null_glVertexAttribP2ui( GLuint index, GLenum type, GLboolean normalized, GLuint value ) { }
static void null_glVertexAttribP2uiv( GLuint index, GLenum type, GLboolean normalized, const GLuint *value ) { }
static void null_glVertexAttribP3ui( GLuint index, GLenum type, GLboolean normalized, GLuint value ) { }
static void null_glVertexAttribP3uiv( GLuint index, GLenum type, GLboolean normalized, const GLuint *value ) { }
static void null_glVertexAttribP4ui( GLuint index, GLenum type, GLboolean normalized, GLuint value ) { }
static void null_glVertexAttribP4uiv( GLuint index, GLenum type, GLboolean normalized, const GLuint *value ) { }
static void null_glVertexAttribParameteriAMD( GLuint index, GLenum pname, GLint param ) { }
static void null_glVertexAttribPointer( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer ) { }
static void null_glVertexAttribPointerARB( GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer ) { }
static void null_glVertexAttribPointerNV( GLuint index, GLint fsize, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glVertexAttribs1dvNV( GLuint index, GLsizei count, const GLdouble *v ) { }
static void null_glVertexAttribs1fvNV( GLuint index, GLsizei count, const GLfloat *v ) { }
static void null_glVertexAttribs1hvNV( GLuint index, GLsizei n, const GLhalfNV *v ) { }
static void null_glVertexAttribs1svNV( GLuint index, GLsizei count, const GLshort *v ) { }
static void null_glVertexAttribs2dvNV( GLuint index, GLsizei count, const GLdouble *v ) { }
static void null_glVertexAttribs2fvNV( GLuint index, GLsizei count, const GLfloat *v ) { }
static void null_glVertexAttribs2hvNV( GLuint index, GLsizei n, const GLhalfNV *v ) { }
static void null_glVertexAttribs2svNV( GLuint index, GLsizei count, const GLshort *v ) { }
static void null_glVertexAttribs3dvNV( GLuint index, GLsizei count, const GLdouble *v ) { }
static void null_glVertexAttribs3fvNV( GLuint index, GLsizei count, const GLfloat *v ) { }
static void null_glVertexAttribs3hvNV( GLuint index, GLsizei n, const GLhalfNV *v ) { }
static void null_glVertexAttribs3svNV( GLuint index, GLsizei count, const GLshort *v ) { }
static void null_glVertexAttribs4dvNV( GLuint index, GLsizei count, const GLdouble *v ) { }
static void null_glVertexAttribs4fvNV( GLuint index, GLsizei count, const GLfloat *v ) { }
static void null_glVertexAttribs4hvNV( GLuint index, GLsizei n, const GLhalfNV *v ) { }
static void null_glVertexAttribs4svNV( GLuint index, GLsizei count, const GLshort *v ) { }
static void null_glVertexAttribs4ubvNV( GLuint index, GLsizei count, const GLubyte *v ) { }
static void null_glVertexBindingDivisor( GLuint bindingindex, GLuint divisor ) { }
static void null_glVertexBlendARB( GLint count ) { }
static void null_glVertexBlendEnvfATI( GLenum pname, GLfloat param ) { }
static void null_glVertexBlendEnviATI( GLenum pname, GLint param ) { }
static void null_glVertexFormatNV( GLint size, GLenum type, GLsizei stride ) { }
static void null_glVertexP2ui( GLenum type, GLuint value ) { }
static void null_glVertexP2uiv( GLenum type, const GLuint *value ) { }
static void null_glVertexP3ui( GLenum type, GLuint value ) { }
static void null_glVertexP3uiv( GLenum type, const GLuint *value ) { }
static void null_glVertexP4ui( GLenum type, GLuint value ) { }
static void null_glVertexP4uiv( GLenum type, const GLuint *value ) { }
static void null_glVertexPointerEXT( GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer ) { }
static void null_glVertexPointerListIBM( GLint size, GLenum type, GLint stride, const void **pointer, GLint ptrstride ) { }
static void null_glVertexPointervINTEL( GLint size, GLenum type, const void **pointer ) { }
static void null_glVertexStream1dATI( GLenum stream, GLdouble x ) { }
static void null_glVertexStream1dvATI( GLenum stream, const GLdouble *coords ) { }
static void null_glVertexStream1fATI( GLenum stream, GLfloat x ) { }
static void null_glVertexStream1fvATI( GLenum stream, const GLfloat *coords ) { }
static void null_glVertexStream1iATI( GLenum stream, GLint x ) { }
static void null_glVertexStream1ivATI( GLenum stream, const GLint *coords ) { }
static void null_glVertexStream1sATI( GLenum stream, GLshort x ) { }
static void null_glVertexStream1svATI( GLenum stream, const GLshort *coords ) { }
static void null_glVertexStream2dATI( GLenum stream, GLdouble x, GLdouble y ) { }
static void null_glVertexStream2dvATI( GLenum stream, const GLdouble *coords ) { }
static void null_glVertexStream2fATI( GLenum stream, GLfloat x, GLfloat y ) { }
static void null_glVertexStream2fvATI( GLenum stream, const GLfloat *coords ) { }
static void null_glVertexStream2iATI( GLenum stream, GLint x, GLint y ) { }
static void null_glVertexStream2ivATI( GLenum stream, const GLint *coords ) { }
static void null_glVertexStream2sATI( GLenum stream, GLshort x, GLshort y ) { }
static void null_glVertexStream2svATI( GLenum stream, const GLshort *coords ) { }
static void null_glVertexStream3dATI( GLenum stream, GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glVertexStream3dvATI( GLenum stream, const GLdouble *coords ) { }
static void null_glVertexStream3fATI( GLenum stream, GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glVertexStream3fvATI( GLenum stream, const GLfloat *coords ) { }
static void null_glVertexStream3iATI( GLenum stream, GLint x, GLint y, GLint z ) { }
static void null_glVertexStream3ivATI( GLenum stream, const GLint *coords ) { }
static void null_glVertexStream3sATI( GLenum stream, GLshort x, GLshort y, GLshort z ) { }
static void null_glVertexStream3svATI( GLenum stream, const GLshort *coords ) { }
static void null_glVertexStream4dATI( GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glVertexStream4dvATI( GLenum stream, const GLdouble *coords ) { }
static void null_glVertexStream4fATI( GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glVertexStream4fvATI( GLenum stream, const GLfloat *coords ) { }
static void null_glVertexStream4iATI( GLenum stream, GLint x, GLint y, GLint z, GLint w ) { }
static void null_glVertexStream4ivATI( GLenum stream, const GLint *coords ) { }
static void null_glVertexStream4sATI( GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w ) { }
static void null_glVertexStream4svATI( GLenum stream, const GLshort *coords ) { }
static void null_glVertexWeightPointerEXT( GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glVertexWeightfEXT( GLfloat weight ) { }
static void null_glVertexWeightfvEXT( const GLfloat *weight ) { }
static void null_glVertexWeighthNV( GLhalfNV weight ) { }
static void null_glVertexWeighthvNV( const GLhalfNV *weight ) { }
static GLenum null_glVideoCaptureNV( GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time ) { return 0; }
static void null_glVideoCaptureStreamParameterdvNV( GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params ) { }
static void null_glVideoCaptureStreamParameterfvNV( GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params ) { }
static void null_glVideoCaptureStreamParameterivNV( GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params ) { }
static void null_glViewportArrayv( GLuint first, GLsizei count, const GLfloat *v ) { }
static void null_glViewportIndexedf( GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h ) { }
static void null_glViewportIndexedfv( GLuint index, const GLfloat *v ) { }
static void null_glViewportPositionWScaleNV( GLuint index, GLfloat xcoeff, GLfloat ycoeff ) { }
static void null_glViewportSwizzleNV( GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew ) { }
static void null_glWaitSemaphoreEXT( GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts ) { }
static void null_glWaitSemaphoreui64NVX( GLuint waitGpu, GLsizei fenceObjectCount, const GLuint *semaphoreArray, const GLuint64 *fenceValueArray ) { }
static void null_glWaitSync( GLsync sync, GLbitfield flags, GLuint64 timeout ) { }
static void null_glWaitVkSemaphoreNV( GLuint64 vkSemaphore ) { }
static void null_glWeightPathsNV( GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights ) { }
static void null_glWeightPointerARB( GLint size, GLenum type, GLsizei stride, const void *pointer ) { }
static void null_glWeightbvARB( GLint size, const GLbyte *weights ) { }
static void null_glWeightdvARB( GLint size, const GLdouble *weights ) { }
static void null_glWeightfvARB( GLint size, const GLfloat *weights ) { }
static void null_glWeightivARB( GLint size, const GLint *weights ) { }
static void null_glWeightsvARB( GLint size, const GLshort *weights ) { }
static void null_glWeightubvARB( GLint size, const GLubyte *weights ) { }
static void null_glWeightuivARB( GLint size, const GLuint *weights ) { }
static void null_glWeightusvARB( GLint size, const GLushort *weights ) { }
static void null_glWindowPos2d( GLdouble x, GLdouble y ) { }
static void null_glWindowPos2dARB( GLdouble x, GLdouble y ) { }
static void null_glWindowPos2dMESA( GLdouble x, GLdouble y ) { }
static void null_glWindowPos2dv( const GLdouble *v ) { }
static void null_glWindowPos2dvARB( const GLdouble *v ) { }
static void null_glWindowPos2dvMESA( const GLdouble *v ) { }
static void null_glWindowPos2f( GLfloat x, GLfloat y ) { }
static void null_glWindowPos2fARB( GLfloat x, GLfloat y ) { }
static void null_glWindowPos2fMESA( GLfloat x, GLfloat y ) { }
static void null_glWindowPos2fv( const GLfloat *v ) { }
static void null_glWindowPos2fvARB( const GLfloat *v ) { }
static void null_glWindowPos2fvMESA( const GLfloat *v ) { }
static void null_glWindowPos2i( GLint x, GLint y ) { }
static void null_glWindowPos2iARB( GLint x, GLint y ) { }
static void null_glWindowPos2iMESA( GLint x, GLint y ) { }
static void null_glWindowPos2iv( const GLint *v ) { }
static void null_glWindowPos2ivARB( const GLint *v ) { }
static void null_glWindowPos2ivMESA( const GLint *v ) { }
static void null_glWindowPos2s( GLshort x, GLshort y ) { }
static void null_glWindowPos2sARB( GLshort x, GLshort y ) { }
static void null_glWindowPos2sMESA( GLshort x, GLshort y ) { }
static void null_glWindowPos2sv( const GLshort *v ) { }
static void null_glWindowPos2svARB( const GLshort *v ) { }
static void null_glWindowPos2svMESA( const GLshort *v ) { }
static void null_glWindowPos3d( GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glWindowPos3dARB( GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glWindowPos3dMESA( GLdouble x, GLdouble y, GLdouble z ) { }
static void null_glWindowPos3dv( const GLdouble *v ) { }
static void null_glWindowPos3dvARB( const GLdouble *v ) { }
static void null_glWindowPos3dvMESA( const GLdouble *v ) { }
static void null_glWindowPos3f( GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glWindowPos3fARB( GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glWindowPos3fMESA( GLfloat x, GLfloat y, GLfloat z ) { }
static void null_glWindowPos3fv( const GLfloat *v ) { }
static void null_glWindowPos3fvARB( const GLfloat *v ) { }
static void null_glWindowPos3fvMESA( const GLfloat *v ) { }
static void null_glWindowPos3i( GLint x, GLint y, GLint z ) { }
static void null_glWindowPos3iARB( GLint x, GLint y, GLint z ) { }
static void null_glWindowPos3iMESA( GLint x, GLint y, GLint z ) { }
static void null_glWindowPos3iv( const GLint *v ) { }
static void null_glWindowPos3ivARB( const GLint *v ) { }
static void null_glWindowPos3ivMESA( const GLint *v ) { }
static void null_glWindowPos3s( GLshort x, GLshort y, GLshort z ) { }
static void null_glWindowPos3sARB( GLshort x, GLshort y, GLshort z ) { }
static void null_glWindowPos3sMESA( GLshort x, GLshort y, GLshort z ) { }
static void null_glWindowPos3sv( const GLshort *v ) { }
static void null_glWindowPos3svARB( const GLshort *v ) { }
static void null_glWindowPos3svMESA( const GLshort *v ) { }
static void null_glWindowPos4dMESA( GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { }
static void null_glWindowPos4dvMESA( const GLdouble *v ) { }
static void null_glWindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w ) { }
static void null_glWindowPos4fvMESA( const GLfloat *v ) { }
static void null_glWindowPos4iMESA( GLint x, GLint y, GLint z, GLint w ) { }
static void null_glWindowPos4ivMESA( const GLint *v ) { }
static void null_glWindowPos4sMESA( GLshort x, GLshort y, GLshort z, GLshort w ) { }
static void null_glWindowPos4svMESA( const GLshort *v ) { }
static void null_glWindowRectanglesEXT( GLenum mode, GLsizei count, const GLint *box ) { }
static void null_glWriteMaskEXT( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW ) { }
static void * null_wglAllocateMemoryNV( GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority ) { return 0; }
static BOOL null_wglBindTexImageARB( struct wgl_pbuffer * hPbuffer, int iBuffer ) { return 0; }
static BOOL null_wglChoosePixelFormatARB( HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats ) { return 0; }
static struct wgl_context * null_wglCreateContextAttribsARB( HDC hDC, struct wgl_context * hShareContext, const int *attribList ) { return 0; }
static struct wgl_pbuffer * null_wglCreatePbufferARB( HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList ) { return 0; }
static BOOL null_wglDestroyPbufferARB( struct wgl_pbuffer * hPbuffer ) { return 0; }
static void null_wglFreeMemoryNV( void *pointer ) { }
static HDC null_wglGetCurrentReadDCARB(void) { return 0; }
static const char * null_wglGetExtensionsStringARB( HDC hdc ) { return 0; }
static const char * null_wglGetExtensionsStringEXT(void) { return 0; }
static HDC null_wglGetPbufferDCARB( struct wgl_pbuffer * hPbuffer ) { return 0; }
static BOOL null_wglGetPixelFormatAttribfvARB( HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues ) { return 0; }
static BOOL null_wglGetPixelFormatAttribivARB( HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues ) { return 0; }
static int null_wglGetSwapIntervalEXT(void) { return 0; }
static BOOL null_wglMakeContextCurrentARB( HDC hDrawDC, HDC hReadDC, struct wgl_context * hglrc ) { return 0; }
static BOOL null_wglQueryCurrentRendererIntegerWINE( GLenum attribute, GLuint *value ) { return 0; }
static const GLchar * null_wglQueryCurrentRendererStringWINE( GLenum attribute ) { return 0; }
static BOOL null_wglQueryPbufferARB( struct wgl_pbuffer * hPbuffer, int iAttribute, int *piValue ) { return 0; }
static BOOL null_wglQueryRendererIntegerWINE( HDC dc, GLint renderer, GLenum attribute, GLuint *value ) { return 0; }
static const GLchar * null_wglQueryRendererStringWINE( HDC dc, GLint renderer, GLenum attribute ) { return 0; }
static int null_wglReleasePbufferDCARB( struct wgl_pbuffer * hPbuffer, HDC hDC ) { return 0; }
static BOOL null_wglReleaseTexImageARB( struct wgl_pbuffer * hPbuffer, int iBuffer ) { return 0; }
static BOOL null_wglSetPbufferAttribARB( struct wgl_pbuffer * hPbuffer, const int *piAttribList ) { return 0; }
static BOOL null_wglSetPixelFormatWINE( HDC hdc, int format ) { return 0; }
static BOOL null_wglSwapIntervalEXT( int interval ) { return 0; }

struct opengl_funcs null_opengl_funcs =
{
    {
        null_wglCopyContext,
        null_wglCreateContext,
        null_wglDeleteContext,
        null_wglGetPixelFormat,
        null_wglGetProcAddress,
        null_wglMakeCurrent,
        null_wglSetPixelFormat,
        null_wglShareLists,
        null_wglSwapBuffers,
    },
    {
        null_glAccum,
        null_glAlphaFunc,
        null_glAreTexturesResident,
        null_glArrayElement,
        null_glBegin,
        null_glBindTexture,
        null_glBitmap,
        null_glBlendFunc,
        null_glCallList,
        null_glCallLists,
        null_glClear,
        null_glClearAccum,
        null_glClearColor,
        null_glClearDepth,
        null_glClearIndex,
        null_glClearStencil,
        null_glClipPlane,
        null_glColor3b,
        null_glColor3bv,
        null_glColor3d,
        null_glColor3dv,
        null_glColor3f,
        null_glColor3fv,
        null_glColor3i,
        null_glColor3iv,
        null_glColor3s,
        null_glColor3sv,
        null_glColor3ub,
        null_glColor3ubv,
        null_glColor3ui,
        null_glColor3uiv,
        null_glColor3us,
        null_glColor3usv,
        null_glColor4b,
        null_glColor4bv,
        null_glColor4d,
        null_glColor4dv,
        null_glColor4f,
        null_glColor4fv,
        null_glColor4i,
        null_glColor4iv,
        null_glColor4s,
        null_glColor4sv,
        null_glColor4ub,
        null_glColor4ubv,
        null_glColor4ui,
        null_glColor4uiv,
        null_glColor4us,
        null_glColor4usv,
        null_glColorMask,
        null_glColorMaterial,
        null_glColorPointer,
        null_glCopyPixels,
        null_glCopyTexImage1D,
        null_glCopyTexImage2D,
        null_glCopyTexSubImage1D,
        null_glCopyTexSubImage2D,
        null_glCullFace,
        null_glDeleteLists,
        null_glDeleteTextures,
        null_glDepthFunc,
        null_glDepthMask,
        null_glDepthRange,
        null_glDisable,
        null_glDisableClientState,
        null_glDrawArrays,
        null_glDrawBuffer,
        null_glDrawElements,
        null_glDrawPixels,
        null_glEdgeFlag,
        null_glEdgeFlagPointer,
        null_glEdgeFlagv,
        null_glEnable,
        null_glEnableClientState,
        null_glEnd,
        null_glEndList,
        null_glEvalCoord1d,
        null_glEvalCoord1dv,
        null_glEvalCoord1f,
        null_glEvalCoord1fv,
        null_glEvalCoord2d,
        null_glEvalCoord2dv,
        null_glEvalCoord2f,
        null_glEvalCoord2fv,
        null_glEvalMesh1,
        null_glEvalMesh2,
        null_glEvalPoint1,
        null_glEvalPoint2,
        null_glFeedbackBuffer,
        null_glFinish,
        null_glFlush,
        null_glFogf,
        null_glFogfv,
        null_glFogi,
        null_glFogiv,
        null_glFrontFace,
        null_glFrustum,
        null_glGenLists,
        null_glGenTextures,
        null_glGetBooleanv,
        null_glGetClipPlane,
        null_glGetDoublev,
        null_glGetError,
        null_glGetFloatv,
        null_glGetIntegerv,
        null_glGetLightfv,
        null_glGetLightiv,
        null_glGetMapdv,
        null_glGetMapfv,
        null_glGetMapiv,
        null_glGetMaterialfv,
        null_glGetMaterialiv,
        null_glGetPixelMapfv,
        null_glGetPixelMapuiv,
        null_glGetPixelMapusv,
        null_glGetPointerv,
        null_glGetPolygonStipple,
        null_glGetString,
        null_glGetTexEnvfv,
        null_glGetTexEnviv,
        null_glGetTexGendv,
        null_glGetTexGenfv,
        null_glGetTexGeniv,
        null_glGetTexImage,
        null_glGetTexLevelParameterfv,
        null_glGetTexLevelParameteriv,
        null_glGetTexParameterfv,
        null_glGetTexParameteriv,
        null_glHint,
        null_glIndexMask,
        null_glIndexPointer,
        null_glIndexd,
        null_glIndexdv,
        null_glIndexf,
        null_glIndexfv,
        null_glIndexi,
        null_glIndexiv,
        null_glIndexs,
        null_glIndexsv,
        null_glIndexub,
        null_glIndexubv,
        null_glInitNames,
        null_glInterleavedArrays,
        null_glIsEnabled,
        null_glIsList,
        null_glIsTexture,
        null_glLightModelf,
        null_glLightModelfv,
        null_glLightModeli,
        null_glLightModeliv,
        null_glLightf,
        null_glLightfv,
        null_glLighti,
        null_glLightiv,
        null_glLineStipple,
        null_glLineWidth,
        null_glListBase,
        null_glLoadIdentity,
        null_glLoadMatrixd,
        null_glLoadMatrixf,
        null_glLoadName,
        null_glLogicOp,
        null_glMap1d,
        null_glMap1f,
        null_glMap2d,
        null_glMap2f,
        null_glMapGrid1d,
        null_glMapGrid1f,
        null_glMapGrid2d,
        null_glMapGrid2f,
        null_glMaterialf,
        null_glMaterialfv,
        null_glMateriali,
        null_glMaterialiv,
        null_glMatrixMode,
        null_glMultMatrixd,
        null_glMultMatrixf,
        null_glNewList,
        null_glNormal3b,
        null_glNormal3bv,
        null_glNormal3d,
        null_glNormal3dv,
        null_glNormal3f,
        null_glNormal3fv,
        null_glNormal3i,
        null_glNormal3iv,
        null_glNormal3s,
        null_glNormal3sv,
        null_glNormalPointer,
        null_glOrtho,
        null_glPassThrough,
        null_glPixelMapfv,
        null_glPixelMapuiv,
        null_glPixelMapusv,
        null_glPixelStoref,
        null_glPixelStorei,
        null_glPixelTransferf,
        null_glPixelTransferi,
        null_glPixelZoom,
        null_glPointSize,
        null_glPolygonMode,
        null_glPolygonOffset,
        null_glPolygonStipple,
        null_glPopAttrib,
        null_glPopClientAttrib,
        null_glPopMatrix,
        null_glPopName,
        null_glPrioritizeTextures,
        null_glPushAttrib,
        null_glPushClientAttrib,
        null_glPushMatrix,
        null_glPushName,
        null_glRasterPos2d,
        null_glRasterPos2dv,
        null_glRasterPos2f,
        null_glRasterPos2fv,
        null_glRasterPos2i,
        null_glRasterPos2iv,
        null_glRasterPos2s,
        null_glRasterPos2sv,
        null_glRasterPos3d,
        null_glRasterPos3dv,
        null_glRasterPos3f,
        null_glRasterPos3fv,
        null_glRasterPos3i,
        null_glRasterPos3iv,
        null_glRasterPos3s,
        null_glRasterPos3sv,
        null_glRasterPos4d,
        null_glRasterPos4dv,
        null_glRasterPos4f,
        null_glRasterPos4fv,
        null_glRasterPos4i,
        null_glRasterPos4iv,
        null_glRasterPos4s,
        null_glRasterPos4sv,
        null_glReadBuffer,
        null_glReadPixels,
        null_glRectd,
        null_glRectdv,
        null_glRectf,
        null_glRectfv,
        null_glRecti,
        null_glRectiv,
        null_glRects,
        null_glRectsv,
        null_glRenderMode,
        null_glRotated,
        null_glRotatef,
        null_glScaled,
        null_glScalef,
        null_glScissor,
        null_glSelectBuffer,
        null_glShadeModel,
        null_glStencilFunc,
        null_glStencilMask,
        null_glStencilOp,
        null_glTexCoord1d,
        null_glTexCoord1dv,
        null_glTexCoord1f,
        null_glTexCoord1fv,
        null_glTexCoord1i,
        null_glTexCoord1iv,
        null_glTexCoord1s,
        null_glTexCoord1sv,
        null_glTexCoord2d,
        null_glTexCoord2dv,
        null_glTexCoord2f,
        null_glTexCoord2fv,
        null_glTexCoord2i,
        null_glTexCoord2iv,
        null_glTexCoord2s,
        null_glTexCoord2sv,
        null_glTexCoord3d,
        null_glTexCoord3dv,
        null_glTexCoord3f,
        null_glTexCoord3fv,
        null_glTexCoord3i,
        null_glTexCoord3iv,
        null_glTexCoord3s,
        null_glTexCoord3sv,
        null_glTexCoord4d,
        null_glTexCoord4dv,
        null_glTexCoord4f,
        null_glTexCoord4fv,
        null_glTexCoord4i,
        null_glTexCoord4iv,
        null_glTexCoord4s,
        null_glTexCoord4sv,
        null_glTexCoordPointer,
        null_glTexEnvf,
        null_glTexEnvfv,
        null_glTexEnvi,
        null_glTexEnviv,
        null_glTexGend,
        null_glTexGendv,
        null_glTexGenf,
        null_glTexGenfv,
        null_glTexGeni,
        null_glTexGeniv,
        null_glTexImage1D,
        null_glTexImage2D,
        null_glTexParameterf,
        null_glTexParameterfv,
        null_glTexParameteri,
        null_glTexParameteriv,
        null_glTexSubImage1D,
        null_glTexSubImage2D,
        null_glTranslated,
        null_glTranslatef,
        null_glVertex2d,
        null_glVertex2dv,
        null_glVertex2f,
        null_glVertex2fv,
        null_glVertex2i,
        null_glVertex2iv,
        null_glVertex2s,
        null_glVertex2sv,
        null_glVertex3d,
        null_glVertex3dv,
        null_glVertex3f,
        null_glVertex3fv,
        null_glVertex3i,
        null_glVertex3iv,
        null_glVertex3s,
        null_glVertex3sv,
        null_glVertex4d,
        null_glVertex4dv,
        null_glVertex4f,
        null_glVertex4fv,
        null_glVertex4i,
        null_glVertex4iv,
        null_glVertex4s,
        null_glVertex4sv,
        null_glVertexPointer,
        null_glViewport,
    },
    {
        null_glAccumxOES,
        null_glAcquireKeyedMutexWin32EXT,
        null_glActiveProgramEXT,
        null_glActiveShaderProgram,
        null_glActiveStencilFaceEXT,
        null_glActiveTexture,
        null_glActiveTextureARB,
        null_glActiveVaryingNV,
        null_glAlphaFragmentOp1ATI,
        null_glAlphaFragmentOp2ATI,
        null_glAlphaFragmentOp3ATI,
        null_glAlphaFuncxOES,
        null_glAlphaToCoverageDitherControlNV,
        null_glApplyFramebufferAttachmentCMAAINTEL,
        null_glApplyTextureEXT,
        null_glAreProgramsResidentNV,
        null_glAreTexturesResidentEXT,
        null_glArrayElementEXT,
        null_glArrayObjectATI,
        null_glAsyncCopyBufferSubDataNVX,
        null_glAsyncCopyImageSubDataNVX,
        null_glAsyncMarkerSGIX,
        null_glAttachObjectARB,
        null_glAttachShader,
        null_glBeginConditionalRender,
        null_glBeginConditionalRenderNV,
        null_glBeginConditionalRenderNVX,
        null_glBeginFragmentShaderATI,
        null_glBeginOcclusionQueryNV,
        null_glBeginPerfMonitorAMD,
        null_glBeginPerfQueryINTEL,
        null_glBeginQuery,
        null_glBeginQueryARB,
        null_glBeginQueryIndexed,
        null_glBeginTransformFeedback,
        null_glBeginTransformFeedbackEXT,
        null_glBeginTransformFeedbackNV,
        null_glBeginVertexShaderEXT,
        null_glBeginVideoCaptureNV,
        null_glBindAttribLocation,
        null_glBindAttribLocationARB,
        null_glBindBuffer,
        null_glBindBufferARB,
        null_glBindBufferBase,
        null_glBindBufferBaseEXT,
        null_glBindBufferBaseNV,
        null_glBindBufferOffsetEXT,
        null_glBindBufferOffsetNV,
        null_glBindBufferRange,
        null_glBindBufferRangeEXT,
        null_glBindBufferRangeNV,
        null_glBindBuffersBase,
        null_glBindBuffersRange,
        null_glBindFragDataLocation,
        null_glBindFragDataLocationEXT,
        null_glBindFragDataLocationIndexed,
        null_glBindFragmentShaderATI,
        null_glBindFramebuffer,
        null_glBindFramebufferEXT,
        null_glBindImageTexture,
        null_glBindImageTextureEXT,
        null_glBindImageTextures,
        null_glBindLightParameterEXT,
        null_glBindMaterialParameterEXT,
        null_glBindMultiTextureEXT,
        null_glBindParameterEXT,
        null_glBindProgramARB,
        null_glBindProgramNV,
        null_glBindProgramPipeline,
        null_glBindRenderbuffer,
        null_glBindRenderbufferEXT,
        null_glBindSampler,
        null_glBindSamplers,
        null_glBindShadingRateImageNV,
        null_glBindTexGenParameterEXT,
        null_glBindTextureEXT,
        null_glBindTextureUnit,
        null_glBindTextureUnitParameterEXT,
        null_glBindTextures,
        null_glBindTransformFeedback,
        null_glBindTransformFeedbackNV,
        null_glBindVertexArray,
        null_glBindVertexArrayAPPLE,
        null_glBindVertexBuffer,
        null_glBindVertexBuffers,
        null_glBindVertexShaderEXT,
        null_glBindVideoCaptureStreamBufferNV,
        null_glBindVideoCaptureStreamTextureNV,
        null_glBinormal3bEXT,
        null_glBinormal3bvEXT,
        null_glBinormal3dEXT,
        null_glBinormal3dvEXT,
        null_glBinormal3fEXT,
        null_glBinormal3fvEXT,
        null_glBinormal3iEXT,
        null_glBinormal3ivEXT,
        null_glBinormal3sEXT,
        null_glBinormal3svEXT,
        null_glBinormalPointerEXT,
        null_glBitmapxOES,
        null_glBlendBarrierKHR,
        null_glBlendBarrierNV,
        null_glBlendColor,
        null_glBlendColorEXT,
        null_glBlendColorxOES,
        null_glBlendEquation,
        null_glBlendEquationEXT,
        null_glBlendEquationIndexedAMD,
        null_glBlendEquationSeparate,
        null_glBlendEquationSeparateEXT,
        null_glBlendEquationSeparateIndexedAMD,
        null_glBlendEquationSeparatei,
        null_glBlendEquationSeparateiARB,
        null_glBlendEquationi,
        null_glBlendEquationiARB,
        null_glBlendFuncIndexedAMD,
        null_glBlendFuncSeparate,
        null_glBlendFuncSeparateEXT,
        null_glBlendFuncSeparateINGR,
        null_glBlendFuncSeparateIndexedAMD,
        null_glBlendFuncSeparatei,
        null_glBlendFuncSeparateiARB,
        null_glBlendFunci,
        null_glBlendFunciARB,
        null_glBlendParameteriNV,
        null_glBlitFramebuffer,
        null_glBlitFramebufferEXT,
        null_glBlitNamedFramebuffer,
        null_glBufferAddressRangeNV,
        null_glBufferAttachMemoryNV,
        null_glBufferData,
        null_glBufferDataARB,
        null_glBufferPageCommitmentARB,
        null_glBufferParameteriAPPLE,
        null_glBufferRegionEnabled,
        null_glBufferStorage,
        null_glBufferStorageExternalEXT,
        null_glBufferStorageMemEXT,
        null_glBufferSubData,
        null_glBufferSubDataARB,
        null_glCallCommandListNV,
        null_glCheckFramebufferStatus,
        null_glCheckFramebufferStatusEXT,
        null_glCheckNamedFramebufferStatus,
        null_glCheckNamedFramebufferStatusEXT,
        null_glClampColor,
        null_glClampColorARB,
        null_glClearAccumxOES,
        null_glClearBufferData,
        null_glClearBufferSubData,
        null_glClearBufferfi,
        null_glClearBufferfv,
        null_glClearBufferiv,
        null_glClearBufferuiv,
        null_glClearColorIiEXT,
        null_glClearColorIuiEXT,
        null_glClearColorxOES,
        null_glClearDepthdNV,
        null_glClearDepthf,
        null_glClearDepthfOES,
        null_glClearDepthxOES,
        null_glClearNamedBufferData,
        null_glClearNamedBufferDataEXT,
        null_glClearNamedBufferSubData,
        null_glClearNamedBufferSubDataEXT,
        null_glClearNamedFramebufferfi,
        null_glClearNamedFramebufferfv,
        null_glClearNamedFramebufferiv,
        null_glClearNamedFramebufferuiv,
        null_glClearTexImage,
        null_glClearTexSubImage,
        null_glClientActiveTexture,
        null_glClientActiveTextureARB,
        null_glClientActiveVertexStreamATI,
        null_glClientAttribDefaultEXT,
        null_glClientWaitSemaphoreui64NVX,
        null_glClientWaitSync,
        null_glClipControl,
        null_glClipPlanefOES,
        null_glClipPlanexOES,
        null_glColor3fVertex3fSUN,
        null_glColor3fVertex3fvSUN,
        null_glColor3hNV,
        null_glColor3hvNV,
        null_glColor3xOES,
        null_glColor3xvOES,
        null_glColor4fNormal3fVertex3fSUN,
        null_glColor4fNormal3fVertex3fvSUN,
        null_glColor4hNV,
        null_glColor4hvNV,
        null_glColor4ubVertex2fSUN,
        null_glColor4ubVertex2fvSUN,
        null_glColor4ubVertex3fSUN,
        null_glColor4ubVertex3fvSUN,
        null_glColor4xOES,
        null_glColor4xvOES,
        null_glColorFormatNV,
        null_glColorFragmentOp1ATI,
        null_glColorFragmentOp2ATI,
        null_glColorFragmentOp3ATI,
        null_glColorMaskIndexedEXT,
        null_glColorMaski,
        null_glColorP3ui,
        null_glColorP3uiv,
        null_glColorP4ui,
        null_glColorP4uiv,
        null_glColorPointerEXT,
        null_glColorPointerListIBM,
        null_glColorPointervINTEL,
        null_glColorSubTable,
        null_glColorSubTableEXT,
        null_glColorTable,
        null_glColorTableEXT,
        null_glColorTableParameterfv,
        null_glColorTableParameterfvSGI,
        null_glColorTableParameteriv,
        null_glColorTableParameterivSGI,
        null_glColorTableSGI,
        null_glCombinerInputNV,
        null_glCombinerOutputNV,
        null_glCombinerParameterfNV,
        null_glCombinerParameterfvNV,
        null_glCombinerParameteriNV,
        null_glCombinerParameterivNV,
        null_glCombinerStageParameterfvNV,
        null_glCommandListSegmentsNV,
        null_glCompileCommandListNV,
        null_glCompileShader,
        null_glCompileShaderARB,
        null_glCompileShaderIncludeARB,
        null_glCompressedMultiTexImage1DEXT,
        null_glCompressedMultiTexImage2DEXT,
        null_glCompressedMultiTexImage3DEXT,
        null_glCompressedMultiTexSubImage1DEXT,
        null_glCompressedMultiTexSubImage2DEXT,
        null_glCompressedMultiTexSubImage3DEXT,
        null_glCompressedTexImage1D,
        null_glCompressedTexImage1DARB,
        null_glCompressedTexImage2D,
        null_glCompressedTexImage2DARB,
        null_glCompressedTexImage3D,
        null_glCompressedTexImage3DARB,
        null_glCompressedTexSubImage1D,
        null_glCompressedTexSubImage1DARB,
        null_glCompressedTexSubImage2D,
        null_glCompressedTexSubImage2DARB,
        null_glCompressedTexSubImage3D,
        null_glCompressedTexSubImage3DARB,
        null_glCompressedTextureImage1DEXT,
        null_glCompressedTextureImage2DEXT,
        null_glCompressedTextureImage3DEXT,
        null_glCompressedTextureSubImage1D,
        null_glCompressedTextureSubImage1DEXT,
        null_glCompressedTextureSubImage2D,
        null_glCompressedTextureSubImage2DEXT,
        null_glCompressedTextureSubImage3D,
        null_glCompressedTextureSubImage3DEXT,
        null_glConservativeRasterParameterfNV,
        null_glConservativeRasterParameteriNV,
        null_glConvolutionFilter1D,
        null_glConvolutionFilter1DEXT,
        null_glConvolutionFilter2D,
        null_glConvolutionFilter2DEXT,
        null_glConvolutionParameterf,
        null_glConvolutionParameterfEXT,
        null_glConvolutionParameterfv,
        null_glConvolutionParameterfvEXT,
        null_glConvolutionParameteri,
        null_glConvolutionParameteriEXT,
        null_glConvolutionParameteriv,
        null_glConvolutionParameterivEXT,
        null_glConvolutionParameterxOES,
        null_glConvolutionParameterxvOES,
        null_glCopyBufferSubData,
        null_glCopyColorSubTable,
        null_glCopyColorSubTableEXT,
        null_glCopyColorTable,
        null_glCopyColorTableSGI,
        null_glCopyConvolutionFilter1D,
        null_glCopyConvolutionFilter1DEXT,
        null_glCopyConvolutionFilter2D,
        null_glCopyConvolutionFilter2DEXT,
        null_glCopyImageSubData,
        null_glCopyImageSubDataNV,
        null_glCopyMultiTexImage1DEXT,
        null_glCopyMultiTexImage2DEXT,
        null_glCopyMultiTexSubImage1DEXT,
        null_glCopyMultiTexSubImage2DEXT,
        null_glCopyMultiTexSubImage3DEXT,
        null_glCopyNamedBufferSubData,
        null_glCopyPathNV,
        null_glCopyTexImage1DEXT,
        null_glCopyTexImage2DEXT,
        null_glCopyTexSubImage1DEXT,
        null_glCopyTexSubImage2DEXT,
        null_glCopyTexSubImage3D,
        null_glCopyTexSubImage3DEXT,
        null_glCopyTextureImage1DEXT,
        null_glCopyTextureImage2DEXT,
        null_glCopyTextureSubImage1D,
        null_glCopyTextureSubImage1DEXT,
        null_glCopyTextureSubImage2D,
        null_glCopyTextureSubImage2DEXT,
        null_glCopyTextureSubImage3D,
        null_glCopyTextureSubImage3DEXT,
        null_glCoverFillPathInstancedNV,
        null_glCoverFillPathNV,
        null_glCoverStrokePathInstancedNV,
        null_glCoverStrokePathNV,
        null_glCoverageModulationNV,
        null_glCoverageModulationTableNV,
        null_glCreateBuffers,
        null_glCreateCommandListsNV,
        null_glCreateFramebuffers,
        null_glCreateMemoryObjectsEXT,
        null_glCreatePerfQueryINTEL,
        null_glCreateProgram,
        null_glCreateProgramObjectARB,
        null_glCreateProgramPipelines,
        null_glCreateProgressFenceNVX,
        null_glCreateQueries,
        null_glCreateRenderbuffers,
        null_glCreateSamplers,
        null_glCreateShader,
        null_glCreateShaderObjectARB,
        null_glCreateShaderProgramEXT,
        null_glCreateShaderProgramv,
        null_glCreateStatesNV,
        null_glCreateSyncFromCLeventARB,
        null_glCreateTextures,
        null_glCreateTransformFeedbacks,
        null_glCreateVertexArrays,
        null_glCullParameterdvEXT,
        null_glCullParameterfvEXT,
        null_glCurrentPaletteMatrixARB,
        null_glDebugMessageCallback,
        null_glDebugMessageCallbackAMD,
        null_glDebugMessageCallbackARB,
        null_glDebugMessageControl,
        null_glDebugMessageControlARB,
        null_glDebugMessageEnableAMD,
        null_glDebugMessageInsert,
        null_glDebugMessageInsertAMD,
        null_glDebugMessageInsertARB,
        null_glDeformSGIX,
        null_glDeformationMap3dSGIX,
        null_glDeformationMap3fSGIX,
        null_glDeleteAsyncMarkersSGIX,
        null_glDeleteBufferRegion,
        null_glDeleteBuffers,
        null_glDeleteBuffersARB,
        null_glDeleteCommandListsNV,
        null_glDeleteFencesAPPLE,
        null_glDeleteFencesNV,
        null_glDeleteFragmentShaderATI,
        null_glDeleteFramebuffers,
        null_glDeleteFramebuffersEXT,
        null_glDeleteMemoryObjectsEXT,
        null_glDeleteNamedStringARB,
        null_glDeleteNamesAMD,
        null_glDeleteObjectARB,
        null_glDeleteObjectBufferATI,
        null_glDeleteOcclusionQueriesNV,
        null_glDeletePathsNV,
        null_glDeletePerfMonitorsAMD,
        null_glDeletePerfQueryINTEL,
        null_glDeleteProgram,
        null_glDeleteProgramPipelines,
        null_glDeleteProgramsARB,
        null_glDeleteProgramsNV,
        null_glDeleteQueries,
        null_glDeleteQueriesARB,
        null_glDeleteQueryResourceTagNV,
        null_glDeleteRenderbuffers,
        null_glDeleteRenderbuffersEXT,
        null_glDeleteSamplers,
        null_glDeleteSemaphoresEXT,
        null_glDeleteShader,
        null_glDeleteStatesNV,
        null_glDeleteSync,
        null_glDeleteTexturesEXT,
        null_glDeleteTransformFeedbacks,
        null_glDeleteTransformFeedbacksNV,
        null_glDeleteVertexArrays,
        null_glDeleteVertexArraysAPPLE,
        null_glDeleteVertexShaderEXT,
        null_glDepthBoundsEXT,
        null_glDepthBoundsdNV,
        null_glDepthRangeArraydvNV,
        null_glDepthRangeArrayv,
        null_glDepthRangeIndexed,
        null_glDepthRangeIndexeddNV,
        null_glDepthRangedNV,
        null_glDepthRangef,
        null_glDepthRangefOES,
        null_glDepthRangexOES,
        null_glDetachObjectARB,
        null_glDetachShader,
        null_glDetailTexFuncSGIS,
        null_glDisableClientStateIndexedEXT,
        null_glDisableClientStateiEXT,
        null_glDisableIndexedEXT,
        null_glDisableVariantClientStateEXT,
        null_glDisableVertexArrayAttrib,
        null_glDisableVertexArrayAttribEXT,
        null_glDisableVertexArrayEXT,
        null_glDisableVertexAttribAPPLE,
        null_glDisableVertexAttribArray,
        null_glDisableVertexAttribArrayARB,
        null_glDisablei,
        null_glDispatchCompute,
        null_glDispatchComputeGroupSizeARB,
        null_glDispatchComputeIndirect,
        null_glDrawArraysEXT,
        null_glDrawArraysIndirect,
        null_glDrawArraysInstanced,
        null_glDrawArraysInstancedARB,
        null_glDrawArraysInstancedBaseInstance,
        null_glDrawArraysInstancedEXT,
        null_glDrawBufferRegion,
        null_glDrawBuffers,
        null_glDrawBuffersARB,
        null_glDrawBuffersATI,
        null_glDrawCommandsAddressNV,
        null_glDrawCommandsNV,
        null_glDrawCommandsStatesAddressNV,
        null_glDrawCommandsStatesNV,
        null_glDrawElementArrayAPPLE,
        null_glDrawElementArrayATI,
        null_glDrawElementsBaseVertex,
        null_glDrawElementsIndirect,
        null_glDrawElementsInstanced,
        null_glDrawElementsInstancedARB,
        null_glDrawElementsInstancedBaseInstance,
        null_glDrawElementsInstancedBaseVertex,
        null_glDrawElementsInstancedBaseVertexBaseInstance,
        null_glDrawElementsInstancedEXT,
        null_glDrawMeshArraysSUN,
        null_glDrawMeshTasksIndirectNV,
        null_glDrawMeshTasksNV,
        null_glDrawRangeElementArrayAPPLE,
        null_glDrawRangeElementArrayATI,
        null_glDrawRangeElements,
        null_glDrawRangeElementsBaseVertex,
        null_glDrawRangeElementsEXT,
        null_glDrawTextureNV,
        null_glDrawTransformFeedback,
        null_glDrawTransformFeedbackInstanced,
        null_glDrawTransformFeedbackNV,
        null_glDrawTransformFeedbackStream,
        null_glDrawTransformFeedbackStreamInstanced,
        null_glDrawVkImageNV,
        null_glEGLImageTargetTexStorageEXT,
        null_glEGLImageTargetTextureStorageEXT,
        null_glEdgeFlagFormatNV,
        null_glEdgeFlagPointerEXT,
        null_glEdgeFlagPointerListIBM,
        null_glElementPointerAPPLE,
        null_glElementPointerATI,
        null_glEnableClientStateIndexedEXT,
        null_glEnableClientStateiEXT,
        null_glEnableIndexedEXT,
        null_glEnableVariantClientStateEXT,
        null_glEnableVertexArrayAttrib,
        null_glEnableVertexArrayAttribEXT,
        null_glEnableVertexArrayEXT,
        null_glEnableVertexAttribAPPLE,
        null_glEnableVertexAttribArray,
        null_glEnableVertexAttribArrayARB,
        null_glEnablei,
        null_glEndConditionalRender,
        null_glEndConditionalRenderNV,
        null_glEndConditionalRenderNVX,
        null_glEndFragmentShaderATI,
        null_glEndOcclusionQueryNV,
        null_glEndPerfMonitorAMD,
        null_glEndPerfQueryINTEL,
        null_glEndQuery,
        null_glEndQueryARB,
        null_glEndQueryIndexed,
        null_glEndTransformFeedback,
        null_glEndTransformFeedbackEXT,
        null_glEndTransformFeedbackNV,
        null_glEndVertexShaderEXT,
        null_glEndVideoCaptureNV,
        null_glEvalCoord1xOES,
        null_glEvalCoord1xvOES,
        null_glEvalCoord2xOES,
        null_glEvalCoord2xvOES,
        null_glEvalMapsNV,
        null_glEvaluateDepthValuesARB,
        null_glExecuteProgramNV,
        null_glExtractComponentEXT,
        null_glFeedbackBufferxOES,
        null_glFenceSync,
        null_glFinalCombinerInputNV,
        null_glFinishAsyncSGIX,
        null_glFinishFenceAPPLE,
        null_glFinishFenceNV,
        null_glFinishObjectAPPLE,
        null_glFinishTextureSUNX,
        null_glFlushMappedBufferRange,
        null_glFlushMappedBufferRangeAPPLE,
        null_glFlushMappedNamedBufferRange,
        null_glFlushMappedNamedBufferRangeEXT,
        null_glFlushPixelDataRangeNV,
        null_glFlushRasterSGIX,
        null_glFlushStaticDataIBM,
        null_glFlushVertexArrayRangeAPPLE,
        null_glFlushVertexArrayRangeNV,
        null_glFogCoordFormatNV,
        null_glFogCoordPointer,
        null_glFogCoordPointerEXT,
        null_glFogCoordPointerListIBM,
        null_glFogCoordd,
        null_glFogCoorddEXT,
        null_glFogCoorddv,
        null_glFogCoorddvEXT,
        null_glFogCoordf,
        null_glFogCoordfEXT,
        null_glFogCoordfv,
        null_glFogCoordfvEXT,
        null_glFogCoordhNV,
        null_glFogCoordhvNV,
        null_glFogFuncSGIS,
        null_glFogxOES,
        null_glFogxvOES,
        null_glFragmentColorMaterialSGIX,
        null_glFragmentCoverageColorNV,
        null_glFragmentLightModelfSGIX,
        null_glFragmentLightModelfvSGIX,
        null_glFragmentLightModeliSGIX,
        null_glFragmentLightModelivSGIX,
        null_glFragmentLightfSGIX,
        null_glFragmentLightfvSGIX,
        null_glFragmentLightiSGIX,
        null_glFragmentLightivSGIX,
        null_glFragmentMaterialfSGIX,
        null_glFragmentMaterialfvSGIX,
        null_glFragmentMaterialiSGIX,
        null_glFragmentMaterialivSGIX,
        null_glFrameTerminatorGREMEDY,
        null_glFrameZoomSGIX,
        null_glFramebufferDrawBufferEXT,
        null_glFramebufferDrawBuffersEXT,
        null_glFramebufferFetchBarrierEXT,
        null_glFramebufferParameteri,
        null_glFramebufferParameteriMESA,
        null_glFramebufferReadBufferEXT,
        null_glFramebufferRenderbuffer,
        null_glFramebufferRenderbufferEXT,
        null_glFramebufferSampleLocationsfvARB,
        null_glFramebufferSampleLocationsfvNV,
        null_glFramebufferSamplePositionsfvAMD,
        null_glFramebufferTexture,
        null_glFramebufferTexture1D,
        null_glFramebufferTexture1DEXT,
        null_glFramebufferTexture2D,
        null_glFramebufferTexture2DEXT,
        null_glFramebufferTexture3D,
        null_glFramebufferTexture3DEXT,
        null_glFramebufferTextureARB,
        null_glFramebufferTextureEXT,
        null_glFramebufferTextureFaceARB,
        null_glFramebufferTextureFaceEXT,
        null_glFramebufferTextureLayer,
        null_glFramebufferTextureLayerARB,
        null_glFramebufferTextureLayerEXT,
        null_glFramebufferTextureMultiviewOVR,
        null_glFreeObjectBufferATI,
        null_glFrustumfOES,
        null_glFrustumxOES,
        null_glGenAsyncMarkersSGIX,
        null_glGenBuffers,
        null_glGenBuffersARB,
        null_glGenFencesAPPLE,
        null_glGenFencesNV,
        null_glGenFragmentShadersATI,
        null_glGenFramebuffers,
        null_glGenFramebuffersEXT,
        null_glGenNamesAMD,
        null_glGenOcclusionQueriesNV,
        null_glGenPathsNV,
        null_glGenPerfMonitorsAMD,
        null_glGenProgramPipelines,
        null_glGenProgramsARB,
        null_glGenProgramsNV,
        null_glGenQueries,
        null_glGenQueriesARB,
        null_glGenQueryResourceTagNV,
        null_glGenRenderbuffers,
        null_glGenRenderbuffersEXT,
        null_glGenSamplers,
        null_glGenSemaphoresEXT,
        null_glGenSymbolsEXT,
        null_glGenTexturesEXT,
        null_glGenTransformFeedbacks,
        null_glGenTransformFeedbacksNV,
        null_glGenVertexArrays,
        null_glGenVertexArraysAPPLE,
        null_glGenVertexShadersEXT,
        null_glGenerateMipmap,
        null_glGenerateMipmapEXT,
        null_glGenerateMultiTexMipmapEXT,
        null_glGenerateTextureMipmap,
        null_glGenerateTextureMipmapEXT,
        null_glGetActiveAtomicCounterBufferiv,
        null_glGetActiveAttrib,
        null_glGetActiveAttribARB,
        null_glGetActiveSubroutineName,
        null_glGetActiveSubroutineUniformName,
        null_glGetActiveSubroutineUniformiv,
        null_glGetActiveUniform,
        null_glGetActiveUniformARB,
        null_glGetActiveUniformBlockName,
        null_glGetActiveUniformBlockiv,
        null_glGetActiveUniformName,
        null_glGetActiveUniformsiv,
        null_glGetActiveVaryingNV,
        null_glGetArrayObjectfvATI,
        null_glGetArrayObjectivATI,
        null_glGetAttachedObjectsARB,
        null_glGetAttachedShaders,
        null_glGetAttribLocation,
        null_glGetAttribLocationARB,
        null_glGetBooleanIndexedvEXT,
        null_glGetBooleani_v,
        null_glGetBufferParameteri64v,
        null_glGetBufferParameteriv,
        null_glGetBufferParameterivARB,
        null_glGetBufferParameterui64vNV,
        null_glGetBufferPointerv,
        null_glGetBufferPointervARB,
        null_glGetBufferSubData,
        null_glGetBufferSubDataARB,
        null_glGetClipPlanefOES,
        null_glGetClipPlanexOES,
        null_glGetColorTable,
        null_glGetColorTableEXT,
        null_glGetColorTableParameterfv,
        null_glGetColorTableParameterfvEXT,
        null_glGetColorTableParameterfvSGI,
        null_glGetColorTableParameteriv,
        null_glGetColorTableParameterivEXT,
        null_glGetColorTableParameterivSGI,
        null_glGetColorTableSGI,
        null_glGetCombinerInputParameterfvNV,
        null_glGetCombinerInputParameterivNV,
        null_glGetCombinerOutputParameterfvNV,
        null_glGetCombinerOutputParameterivNV,
        null_glGetCombinerStageParameterfvNV,
        null_glGetCommandHeaderNV,
        null_glGetCompressedMultiTexImageEXT,
        null_glGetCompressedTexImage,
        null_glGetCompressedTexImageARB,
        null_glGetCompressedTextureImage,
        null_glGetCompressedTextureImageEXT,
        null_glGetCompressedTextureSubImage,
        null_glGetConvolutionFilter,
        null_glGetConvolutionFilterEXT,
        null_glGetConvolutionParameterfv,
        null_glGetConvolutionParameterfvEXT,
        null_glGetConvolutionParameteriv,
        null_glGetConvolutionParameterivEXT,
        null_glGetConvolutionParameterxvOES,
        null_glGetCoverageModulationTableNV,
        null_glGetDebugMessageLog,
        null_glGetDebugMessageLogAMD,
        null_glGetDebugMessageLogARB,
        null_glGetDetailTexFuncSGIS,
        null_glGetDoubleIndexedvEXT,
        null_glGetDoublei_v,
        null_glGetDoublei_vEXT,
        null_glGetFenceivNV,
        null_glGetFinalCombinerInputParameterfvNV,
        null_glGetFinalCombinerInputParameterivNV,
        null_glGetFirstPerfQueryIdINTEL,
        null_glGetFixedvOES,
        null_glGetFloatIndexedvEXT,
        null_glGetFloati_v,
        null_glGetFloati_vEXT,
        null_glGetFogFuncSGIS,
        null_glGetFragDataIndex,
        null_glGetFragDataLocation,
        null_glGetFragDataLocationEXT,
        null_glGetFragmentLightfvSGIX,
        null_glGetFragmentLightivSGIX,
        null_glGetFragmentMaterialfvSGIX,
        null_glGetFragmentMaterialivSGIX,
        null_glGetFramebufferAttachmentParameteriv,
        null_glGetFramebufferAttachmentParameterivEXT,
        null_glGetFramebufferParameterfvAMD,
        null_glGetFramebufferParameteriv,
        null_glGetFramebufferParameterivEXT,
        null_glGetFramebufferParameterivMESA,
        null_glGetGraphicsResetStatus,
        null_glGetGraphicsResetStatusARB,
        null_glGetHandleARB,
        null_glGetHistogram,
        null_glGetHistogramEXT,
        null_glGetHistogramParameterfv,
        null_glGetHistogramParameterfvEXT,
        null_glGetHistogramParameteriv,
        null_glGetHistogramParameterivEXT,
        null_glGetHistogramParameterxvOES,
        null_glGetImageHandleARB,
        null_glGetImageHandleNV,
        null_glGetImageTransformParameterfvHP,
        null_glGetImageTransformParameterivHP,
        null_glGetInfoLogARB,
        null_glGetInstrumentsSGIX,
        null_glGetInteger64i_v,
        null_glGetInteger64v,
        null_glGetIntegerIndexedvEXT,
        null_glGetIntegeri_v,
        null_glGetIntegerui64i_vNV,
        null_glGetIntegerui64vNV,
        null_glGetInternalformatSampleivNV,
        null_glGetInternalformati64v,
        null_glGetInternalformativ,
        null_glGetInvariantBooleanvEXT,
        null_glGetInvariantFloatvEXT,
        null_glGetInvariantIntegervEXT,
        null_glGetLightxOES,
        null_glGetListParameterfvSGIX,
        null_glGetListParameterivSGIX,
        null_glGetLocalConstantBooleanvEXT,
        null_glGetLocalConstantFloatvEXT,
        null_glGetLocalConstantIntegervEXT,
        null_glGetMapAttribParameterfvNV,
        null_glGetMapAttribParameterivNV,
        null_glGetMapControlPointsNV,
        null_glGetMapParameterfvNV,
        null_glGetMapParameterivNV,
        null_glGetMapxvOES,
        null_glGetMaterialxOES,
        null_glGetMemoryObjectDetachedResourcesuivNV,
        null_glGetMemoryObjectParameterivEXT,
        null_glGetMinmax,
        null_glGetMinmaxEXT,
        null_glGetMinmaxParameterfv,
        null_glGetMinmaxParameterfvEXT,
        null_glGetMinmaxParameteriv,
        null_glGetMinmaxParameterivEXT,
        null_glGetMultiTexEnvfvEXT,
        null_glGetMultiTexEnvivEXT,
        null_glGetMultiTexGendvEXT,
        null_glGetMultiTexGenfvEXT,
        null_glGetMultiTexGenivEXT,
        null_glGetMultiTexImageEXT,
        null_glGetMultiTexLevelParameterfvEXT,
        null_glGetMultiTexLevelParameterivEXT,
        null_glGetMultiTexParameterIivEXT,
        null_glGetMultiTexParameterIuivEXT,
        null_glGetMultiTexParameterfvEXT,
        null_glGetMultiTexParameterivEXT,
        null_glGetMultisamplefv,
        null_glGetMultisamplefvNV,
        null_glGetNamedBufferParameteri64v,
        null_glGetNamedBufferParameteriv,
        null_glGetNamedBufferParameterivEXT,
        null_glGetNamedBufferParameterui64vNV,
        null_glGetNamedBufferPointerv,
        null_glGetNamedBufferPointervEXT,
        null_glGetNamedBufferSubData,
        null_glGetNamedBufferSubDataEXT,
        null_glGetNamedFramebufferAttachmentParameteriv,
        null_glGetNamedFramebufferAttachmentParameterivEXT,
        null_glGetNamedFramebufferParameterfvAMD,
        null_glGetNamedFramebufferParameteriv,
        null_glGetNamedFramebufferParameterivEXT,
        null_glGetNamedProgramLocalParameterIivEXT,
        null_glGetNamedProgramLocalParameterIuivEXT,
        null_glGetNamedProgramLocalParameterdvEXT,
        null_glGetNamedProgramLocalParameterfvEXT,
        null_glGetNamedProgramStringEXT,
        null_glGetNamedProgramivEXT,
        null_glGetNamedRenderbufferParameteriv,
        null_glGetNamedRenderbufferParameterivEXT,
        null_glGetNamedStringARB,
        null_glGetNamedStringivARB,
        null_glGetNextPerfQueryIdINTEL,
        null_glGetObjectBufferfvATI,
        null_glGetObjectBufferivATI,
        null_glGetObjectLabel,
        null_glGetObjectLabelEXT,
        null_glGetObjectParameterfvARB,
        null_glGetObjectParameterivAPPLE,
        null_glGetObjectParameterivARB,
        null_glGetObjectPtrLabel,
        null_glGetOcclusionQueryivNV,
        null_glGetOcclusionQueryuivNV,
        null_glGetPathColorGenfvNV,
        null_glGetPathColorGenivNV,
        null_glGetPathCommandsNV,
        null_glGetPathCoordsNV,
        null_glGetPathDashArrayNV,
        null_glGetPathLengthNV,
        null_glGetPathMetricRangeNV,
        null_glGetPathMetricsNV,
        null_glGetPathParameterfvNV,
        null_glGetPathParameterivNV,
        null_glGetPathSpacingNV,
        null_glGetPathTexGenfvNV,
        null_glGetPathTexGenivNV,
        null_glGetPerfCounterInfoINTEL,
        null_glGetPerfMonitorCounterDataAMD,
        null_glGetPerfMonitorCounterInfoAMD,
        null_glGetPerfMonitorCounterStringAMD,
        null_glGetPerfMonitorCountersAMD,
        null_glGetPerfMonitorGroupStringAMD,
        null_glGetPerfMonitorGroupsAMD,
        null_glGetPerfQueryDataINTEL,
        null_glGetPerfQueryIdByNameINTEL,
        null_glGetPerfQueryInfoINTEL,
        null_glGetPixelMapxv,
        null_glGetPixelTexGenParameterfvSGIS,
        null_glGetPixelTexGenParameterivSGIS,
        null_glGetPixelTransformParameterfvEXT,
        null_glGetPixelTransformParameterivEXT,
        null_glGetPointerIndexedvEXT,
        null_glGetPointeri_vEXT,
        null_glGetPointervEXT,
        null_glGetProgramBinary,
        null_glGetProgramEnvParameterIivNV,
        null_glGetProgramEnvParameterIuivNV,
        null_glGetProgramEnvParameterdvARB,
        null_glGetProgramEnvParameterfvARB,
        null_glGetProgramInfoLog,
        null_glGetProgramInterfaceiv,
        null_glGetProgramLocalParameterIivNV,
        null_glGetProgramLocalParameterIuivNV,
        null_glGetProgramLocalParameterdvARB,
        null_glGetProgramLocalParameterfvARB,
        null_glGetProgramNamedParameterdvNV,
        null_glGetProgramNamedParameterfvNV,
        null_glGetProgramParameterdvNV,
        null_glGetProgramParameterfvNV,
        null_glGetProgramPipelineInfoLog,
        null_glGetProgramPipelineiv,
        null_glGetProgramResourceIndex,
        null_glGetProgramResourceLocation,
        null_glGetProgramResourceLocationIndex,
        null_glGetProgramResourceName,
        null_glGetProgramResourcefvNV,
        null_glGetProgramResourceiv,
        null_glGetProgramStageiv,
        null_glGetProgramStringARB,
        null_glGetProgramStringNV,
        null_glGetProgramSubroutineParameteruivNV,
        null_glGetProgramiv,
        null_glGetProgramivARB,
        null_glGetProgramivNV,
        null_glGetQueryBufferObjecti64v,
        null_glGetQueryBufferObjectiv,
        null_glGetQueryBufferObjectui64v,
        null_glGetQueryBufferObjectuiv,
        null_glGetQueryIndexediv,
        null_glGetQueryObjecti64v,
        null_glGetQueryObjecti64vEXT,
        null_glGetQueryObjectiv,
        null_glGetQueryObjectivARB,
        null_glGetQueryObjectui64v,
        null_glGetQueryObjectui64vEXT,
        null_glGetQueryObjectuiv,
        null_glGetQueryObjectuivARB,
        null_glGetQueryiv,
        null_glGetQueryivARB,
        null_glGetRenderbufferParameteriv,
        null_glGetRenderbufferParameterivEXT,
        null_glGetSamplerParameterIiv,
        null_glGetSamplerParameterIuiv,
        null_glGetSamplerParameterfv,
        null_glGetSamplerParameteriv,
        null_glGetSemaphoreParameterui64vEXT,
        null_glGetSeparableFilter,
        null_glGetSeparableFilterEXT,
        null_glGetShaderInfoLog,
        null_glGetShaderPrecisionFormat,
        null_glGetShaderSource,
        null_glGetShaderSourceARB,
        null_glGetShaderiv,
        null_glGetShadingRateImagePaletteNV,
        null_glGetShadingRateSampleLocationivNV,
        null_glGetSharpenTexFuncSGIS,
        null_glGetStageIndexNV,
        null_glGetStringi,
        null_glGetSubroutineIndex,
        null_glGetSubroutineUniformLocation,
        null_glGetSynciv,
        null_glGetTexBumpParameterfvATI,
        null_glGetTexBumpParameterivATI,
        null_glGetTexEnvxvOES,
        null_glGetTexFilterFuncSGIS,
        null_glGetTexGenxvOES,
        null_glGetTexLevelParameterxvOES,
        null_glGetTexParameterIiv,
        null_glGetTexParameterIivEXT,
        null_glGetTexParameterIuiv,
        null_glGetTexParameterIuivEXT,
        null_glGetTexParameterPointervAPPLE,
        null_glGetTexParameterxvOES,
        null_glGetTextureHandleARB,
        null_glGetTextureHandleNV,
        null_glGetTextureImage,
        null_glGetTextureImageEXT,
        null_glGetTextureLevelParameterfv,
        null_glGetTextureLevelParameterfvEXT,
        null_glGetTextureLevelParameteriv,
        null_glGetTextureLevelParameterivEXT,
        null_glGetTextureParameterIiv,
        null_glGetTextureParameterIivEXT,
        null_glGetTextureParameterIuiv,
        null_glGetTextureParameterIuivEXT,
        null_glGetTextureParameterfv,
        null_glGetTextureParameterfvEXT,
        null_glGetTextureParameteriv,
        null_glGetTextureParameterivEXT,
        null_glGetTextureSamplerHandleARB,
        null_glGetTextureSamplerHandleNV,
        null_glGetTextureSubImage,
        null_glGetTrackMatrixivNV,
        null_glGetTransformFeedbackVarying,
        null_glGetTransformFeedbackVaryingEXT,
        null_glGetTransformFeedbackVaryingNV,
        null_glGetTransformFeedbacki64_v,
        null_glGetTransformFeedbacki_v,
        null_glGetTransformFeedbackiv,
        null_glGetUniformBlockIndex,
        null_glGetUniformBufferSizeEXT,
        null_glGetUniformIndices,
        null_glGetUniformLocation,
        null_glGetUniformLocationARB,
        null_glGetUniformOffsetEXT,
        null_glGetUniformSubroutineuiv,
        null_glGetUniformdv,
        null_glGetUniformfv,
        null_glGetUniformfvARB,
        null_glGetUniformi64vARB,
        null_glGetUniformi64vNV,
        null_glGetUniformiv,
        null_glGetUniformivARB,
        null_glGetUniformui64vARB,
        null_glGetUniformui64vNV,
        null_glGetUniformuiv,
        null_glGetUniformuivEXT,
        null_glGetUnsignedBytei_vEXT,
        null_glGetUnsignedBytevEXT,
        null_glGetVariantArrayObjectfvATI,
        null_glGetVariantArrayObjectivATI,
        null_glGetVariantBooleanvEXT,
        null_glGetVariantFloatvEXT,
        null_glGetVariantIntegervEXT,
        null_glGetVariantPointervEXT,
        null_glGetVaryingLocationNV,
        null_glGetVertexArrayIndexed64iv,
        null_glGetVertexArrayIndexediv,
        null_glGetVertexArrayIntegeri_vEXT,
        null_glGetVertexArrayIntegervEXT,
        null_glGetVertexArrayPointeri_vEXT,
        null_glGetVertexArrayPointervEXT,
        null_glGetVertexArrayiv,
        null_glGetVertexAttribArrayObjectfvATI,
        null_glGetVertexAttribArrayObjectivATI,
        null_glGetVertexAttribIiv,
        null_glGetVertexAttribIivEXT,
        null_glGetVertexAttribIuiv,
        null_glGetVertexAttribIuivEXT,
        null_glGetVertexAttribLdv,
        null_glGetVertexAttribLdvEXT,
        null_glGetVertexAttribLi64vNV,
        null_glGetVertexAttribLui64vARB,
        null_glGetVertexAttribLui64vNV,
        null_glGetVertexAttribPointerv,
        null_glGetVertexAttribPointervARB,
        null_glGetVertexAttribPointervNV,
        null_glGetVertexAttribdv,
        null_glGetVertexAttribdvARB,
        null_glGetVertexAttribdvNV,
        null_glGetVertexAttribfv,
        null_glGetVertexAttribfvARB,
        null_glGetVertexAttribfvNV,
        null_glGetVertexAttribiv,
        null_glGetVertexAttribivARB,
        null_glGetVertexAttribivNV,
        null_glGetVideoCaptureStreamdvNV,
        null_glGetVideoCaptureStreamfvNV,
        null_glGetVideoCaptureStreamivNV,
        null_glGetVideoCaptureivNV,
        null_glGetVideoi64vNV,
        null_glGetVideoivNV,
        null_glGetVideoui64vNV,
        null_glGetVideouivNV,
        null_glGetVkProcAddrNV,
        null_glGetnColorTable,
        null_glGetnColorTableARB,
        null_glGetnCompressedTexImage,
        null_glGetnCompressedTexImageARB,
        null_glGetnConvolutionFilter,
        null_glGetnConvolutionFilterARB,
        null_glGetnHistogram,
        null_glGetnHistogramARB,
        null_glGetnMapdv,
        null_glGetnMapdvARB,
        null_glGetnMapfv,
        null_glGetnMapfvARB,
        null_glGetnMapiv,
        null_glGetnMapivARB,
        null_glGetnMinmax,
        null_glGetnMinmaxARB,
        null_glGetnPixelMapfv,
        null_glGetnPixelMapfvARB,
        null_glGetnPixelMapuiv,
        null_glGetnPixelMapuivARB,
        null_glGetnPixelMapusv,
        null_glGetnPixelMapusvARB,
        null_glGetnPolygonStipple,
        null_glGetnPolygonStippleARB,
        null_glGetnSeparableFilter,
        null_glGetnSeparableFilterARB,
        null_glGetnTexImage,
        null_glGetnTexImageARB,
        null_glGetnUniformdv,
        null_glGetnUniformdvARB,
        null_glGetnUniformfv,
        null_glGetnUniformfvARB,
        null_glGetnUniformi64vARB,
        null_glGetnUniformiv,
        null_glGetnUniformivARB,
        null_glGetnUniformui64vARB,
        null_glGetnUniformuiv,
        null_glGetnUniformuivARB,
        null_glGlobalAlphaFactorbSUN,
        null_glGlobalAlphaFactordSUN,
        null_glGlobalAlphaFactorfSUN,
        null_glGlobalAlphaFactoriSUN,
        null_glGlobalAlphaFactorsSUN,
        null_glGlobalAlphaFactorubSUN,
        null_glGlobalAlphaFactoruiSUN,
        null_glGlobalAlphaFactorusSUN,
        null_glHintPGI,
        null_glHistogram,
        null_glHistogramEXT,
        null_glIglooInterfaceSGIX,
        null_glImageTransformParameterfHP,
        null_glImageTransformParameterfvHP,
        null_glImageTransformParameteriHP,
        null_glImageTransformParameterivHP,
        null_glImportMemoryFdEXT,
        null_glImportMemoryWin32HandleEXT,
        null_glImportMemoryWin32NameEXT,
        null_glImportSemaphoreFdEXT,
        null_glImportSemaphoreWin32HandleEXT,
        null_glImportSemaphoreWin32NameEXT,
        null_glImportSyncEXT,
        null_glIndexFormatNV,
        null_glIndexFuncEXT,
        null_glIndexMaterialEXT,
        null_glIndexPointerEXT,
        null_glIndexPointerListIBM,
        null_glIndexxOES,
        null_glIndexxvOES,
        null_glInsertComponentEXT,
        null_glInsertEventMarkerEXT,
        null_glInstrumentsBufferSGIX,
        null_glInterpolatePathsNV,
        null_glInvalidateBufferData,
        null_glInvalidateBufferSubData,
        null_glInvalidateFramebuffer,
        null_glInvalidateNamedFramebufferData,
        null_glInvalidateNamedFramebufferSubData,
        null_glInvalidateSubFramebuffer,
        null_glInvalidateTexImage,
        null_glInvalidateTexSubImage,
        null_glIsAsyncMarkerSGIX,
        null_glIsBuffer,
        null_glIsBufferARB,
        null_glIsBufferResidentNV,
        null_glIsCommandListNV,
        null_glIsEnabledIndexedEXT,
        null_glIsEnabledi,
        null_glIsFenceAPPLE,
        null_glIsFenceNV,
        null_glIsFramebuffer,
        null_glIsFramebufferEXT,
        null_glIsImageHandleResidentARB,
        null_glIsImageHandleResidentNV,
        null_glIsMemoryObjectEXT,
        null_glIsNameAMD,
        null_glIsNamedBufferResidentNV,
        null_glIsNamedStringARB,
        null_glIsObjectBufferATI,
        null_glIsOcclusionQueryNV,
        null_glIsPathNV,
        null_glIsPointInFillPathNV,
        null_glIsPointInStrokePathNV,
        null_glIsProgram,
        null_glIsProgramARB,
        null_glIsProgramNV,
        null_glIsProgramPipeline,
        null_glIsQuery,
        null_glIsQueryARB,
        null_glIsRenderbuffer,
        null_glIsRenderbufferEXT,
        null_glIsSampler,
        null_glIsSemaphoreEXT,
        null_glIsShader,
        null_glIsStateNV,
        null_glIsSync,
        null_glIsTextureEXT,
        null_glIsTextureHandleResidentARB,
        null_glIsTextureHandleResidentNV,
        null_glIsTransformFeedback,
        null_glIsTransformFeedbackNV,
        null_glIsVariantEnabledEXT,
        null_glIsVertexArray,
        null_glIsVertexArrayAPPLE,
        null_glIsVertexAttribEnabledAPPLE,
        null_glLGPUCopyImageSubDataNVX,
        null_glLGPUInterlockNVX,
        null_glLGPUNamedBufferSubDataNVX,
        null_glLabelObjectEXT,
        null_glLightEnviSGIX,
        null_glLightModelxOES,
        null_glLightModelxvOES,
        null_glLightxOES,
        null_glLightxvOES,
        null_glLineWidthxOES,
        null_glLinkProgram,
        null_glLinkProgramARB,
        null_glListDrawCommandsStatesClientNV,
        null_glListParameterfSGIX,
        null_glListParameterfvSGIX,
        null_glListParameteriSGIX,
        null_glListParameterivSGIX,
        null_glLoadIdentityDeformationMapSGIX,
        null_glLoadMatrixxOES,
        null_glLoadProgramNV,
        null_glLoadTransposeMatrixd,
        null_glLoadTransposeMatrixdARB,
        null_glLoadTransposeMatrixf,
        null_glLoadTransposeMatrixfARB,
        null_glLoadTransposeMatrixxOES,
        null_glLockArraysEXT,
        null_glMTexCoord2fSGIS,
        null_glMTexCoord2fvSGIS,
        null_glMakeBufferNonResidentNV,
        null_glMakeBufferResidentNV,
        null_glMakeImageHandleNonResidentARB,
        null_glMakeImageHandleNonResidentNV,
        null_glMakeImageHandleResidentARB,
        null_glMakeImageHandleResidentNV,
        null_glMakeNamedBufferNonResidentNV,
        null_glMakeNamedBufferResidentNV,
        null_glMakeTextureHandleNonResidentARB,
        null_glMakeTextureHandleNonResidentNV,
        null_glMakeTextureHandleResidentARB,
        null_glMakeTextureHandleResidentNV,
        null_glMap1xOES,
        null_glMap2xOES,
        null_glMapBuffer,
        null_glMapBufferARB,
        null_glMapBufferRange,
        null_glMapControlPointsNV,
        null_glMapGrid1xOES,
        null_glMapGrid2xOES,
        null_glMapNamedBuffer,
        null_glMapNamedBufferEXT,
        null_glMapNamedBufferRange,
        null_glMapNamedBufferRangeEXT,
        null_glMapObjectBufferATI,
        null_glMapParameterfvNV,
        null_glMapParameterivNV,
        null_glMapTexture2DINTEL,
        null_glMapVertexAttrib1dAPPLE,
        null_glMapVertexAttrib1fAPPLE,
        null_glMapVertexAttrib2dAPPLE,
        null_glMapVertexAttrib2fAPPLE,
        null_glMaterialxOES,
        null_glMaterialxvOES,
        null_glMatrixFrustumEXT,
        null_glMatrixIndexPointerARB,
        null_glMatrixIndexubvARB,
        null_glMatrixIndexuivARB,
        null_glMatrixIndexusvARB,
        null_glMatrixLoad3x2fNV,
        null_glMatrixLoad3x3fNV,
        null_glMatrixLoadIdentityEXT,
        null_glMatrixLoadTranspose3x3fNV,
        null_glMatrixLoadTransposedEXT,
        null_glMatrixLoadTransposefEXT,
        null_glMatrixLoaddEXT,
        null_glMatrixLoadfEXT,
        null_glMatrixMult3x2fNV,
        null_glMatrixMult3x3fNV,
        null_glMatrixMultTranspose3x3fNV,
        null_glMatrixMultTransposedEXT,
        null_glMatrixMultTransposefEXT,
        null_glMatrixMultdEXT,
        null_glMatrixMultfEXT,
        null_glMatrixOrthoEXT,
        null_glMatrixPopEXT,
        null_glMatrixPushEXT,
        null_glMatrixRotatedEXT,
        null_glMatrixRotatefEXT,
        null_glMatrixScaledEXT,
        null_glMatrixScalefEXT,
        null_glMatrixTranslatedEXT,
        null_glMatrixTranslatefEXT,
        null_glMaxShaderCompilerThreadsARB,
        null_glMaxShaderCompilerThreadsKHR,
        null_glMemoryBarrier,
        null_glMemoryBarrierByRegion,
        null_glMemoryBarrierEXT,
        null_glMemoryObjectParameterivEXT,
        null_glMinSampleShading,
        null_glMinSampleShadingARB,
        null_glMinmax,
        null_glMinmaxEXT,
        null_glMultMatrixxOES,
        null_glMultTransposeMatrixd,
        null_glMultTransposeMatrixdARB,
        null_glMultTransposeMatrixf,
        null_glMultTransposeMatrixfARB,
        null_glMultTransposeMatrixxOES,
        null_glMultiDrawArrays,
        null_glMultiDrawArraysEXT,
        null_glMultiDrawArraysIndirect,
        null_glMultiDrawArraysIndirectAMD,
        null_glMultiDrawArraysIndirectBindlessCountNV,
        null_glMultiDrawArraysIndirectBindlessNV,
        null_glMultiDrawArraysIndirectCount,
        null_glMultiDrawArraysIndirectCountARB,
        null_glMultiDrawElementArrayAPPLE,
        null_glMultiDrawElements,
        null_glMultiDrawElementsBaseVertex,
        null_glMultiDrawElementsEXT,
        null_glMultiDrawElementsIndirect,
        null_glMultiDrawElementsIndirectAMD,
        null_glMultiDrawElementsIndirectBindlessCountNV,
        null_glMultiDrawElementsIndirectBindlessNV,
        null_glMultiDrawElementsIndirectCount,
        null_glMultiDrawElementsIndirectCountARB,
        null_glMultiDrawMeshTasksIndirectCountNV,
        null_glMultiDrawMeshTasksIndirectNV,
        null_glMultiDrawRangeElementArrayAPPLE,
        null_glMultiModeDrawArraysIBM,
        null_glMultiModeDrawElementsIBM,
        null_glMultiTexBufferEXT,
        null_glMultiTexCoord1bOES,
        null_glMultiTexCoord1bvOES,
        null_glMultiTexCoord1d,
        null_glMultiTexCoord1dARB,
        null_glMultiTexCoord1dSGIS,
        null_glMultiTexCoord1dv,
        null_glMultiTexCoord1dvARB,
        null_glMultiTexCoord1dvSGIS,
        null_glMultiTexCoord1f,
        null_glMultiTexCoord1fARB,
        null_glMultiTexCoord1fSGIS,
        null_glMultiTexCoord1fv,
        null_glMultiTexCoord1fvARB,
        null_glMultiTexCoord1fvSGIS,
        null_glMultiTexCoord1hNV,
        null_glMultiTexCoord1hvNV,
        null_glMultiTexCoord1i,
        null_glMultiTexCoord1iARB,
        null_glMultiTexCoord1iSGIS,
        null_glMultiTexCoord1iv,
        null_glMultiTexCoord1ivARB,
        null_glMultiTexCoord1ivSGIS,
        null_glMultiTexCoord1s,
        null_glMultiTexCoord1sARB,
        null_glMultiTexCoord1sSGIS,
        null_glMultiTexCoord1sv,
        null_glMultiTexCoord1svARB,
        null_glMultiTexCoord1svSGIS,
        null_glMultiTexCoord1xOES,
        null_glMultiTexCoord1xvOES,
        null_glMultiTexCoord2bOES,
        null_glMultiTexCoord2bvOES,
        null_glMultiTexCoord2d,
        null_glMultiTexCoord2dARB,
        null_glMultiTexCoord2dSGIS,
        null_glMultiTexCoord2dv,
        null_glMultiTexCoord2dvARB,
        null_glMultiTexCoord2dvSGIS,
        null_glMultiTexCoord2f,
        null_glMultiTexCoord2fARB,
        null_glMultiTexCoord2fSGIS,
        null_glMultiTexCoord2fv,
        null_glMultiTexCoord2fvARB,
        null_glMultiTexCoord2fvSGIS,
        null_glMultiTexCoord2hNV,
        null_glMultiTexCoord2hvNV,
        null_glMultiTexCoord2i,
        null_glMultiTexCoord2iARB,
        null_glMultiTexCoord2iSGIS,
        null_glMultiTexCoord2iv,
        null_glMultiTexCoord2ivARB,
        null_glMultiTexCoord2ivSGIS,
        null_glMultiTexCoord2s,
        null_glMultiTexCoord2sARB,
        null_glMultiTexCoord2sSGIS,
        null_glMultiTexCoord2sv,
        null_glMultiTexCoord2svARB,
        null_glMultiTexCoord2svSGIS,
        null_glMultiTexCoord2xOES,
        null_glMultiTexCoord2xvOES,
        null_glMultiTexCoord3bOES,
        null_glMultiTexCoord3bvOES,
        null_glMultiTexCoord3d,
        null_glMultiTexCoord3dARB,
        null_glMultiTexCoord3dSGIS,
        null_glMultiTexCoord3dv,
        null_glMultiTexCoord3dvARB,
        null_glMultiTexCoord3dvSGIS,
        null_glMultiTexCoord3f,
        null_glMultiTexCoord3fARB,
        null_glMultiTexCoord3fSGIS,
        null_glMultiTexCoord3fv,
        null_glMultiTexCoord3fvARB,
        null_glMultiTexCoord3fvSGIS,
        null_glMultiTexCoord3hNV,
        null_glMultiTexCoord3hvNV,
        null_glMultiTexCoord3i,
        null_glMultiTexCoord3iARB,
        null_glMultiTexCoord3iSGIS,
        null_glMultiTexCoord3iv,
        null_glMultiTexCoord3ivARB,
        null_glMultiTexCoord3ivSGIS,
        null_glMultiTexCoord3s,
        null_glMultiTexCoord3sARB,
        null_glMultiTexCoord3sSGIS,
        null_glMultiTexCoord3sv,
        null_glMultiTexCoord3svARB,
        null_glMultiTexCoord3svSGIS,
        null_glMultiTexCoord3xOES,
        null_glMultiTexCoord3xvOES,
        null_glMultiTexCoord4bOES,
        null_glMultiTexCoord4bvOES,
        null_glMultiTexCoord4d,
        null_glMultiTexCoord4dARB,
        null_glMultiTexCoord4dSGIS,
        null_glMultiTexCoord4dv,
        null_glMultiTexCoord4dvARB,
        null_glMultiTexCoord4dvSGIS,
        null_glMultiTexCoord4f,
        null_glMultiTexCoord4fARB,
        null_glMultiTexCoord4fSGIS,
        null_glMultiTexCoord4fv,
        null_glMultiTexCoord4fvARB,
        null_glMultiTexCoord4fvSGIS,
        null_glMultiTexCoord4hNV,
        null_glMultiTexCoord4hvNV,
        null_glMultiTexCoord4i,
        null_glMultiTexCoord4iARB,
        null_glMultiTexCoord4iSGIS,
        null_glMultiTexCoord4iv,
        null_glMultiTexCoord4ivARB,
        null_glMultiTexCoord4ivSGIS,
        null_glMultiTexCoord4s,
        null_glMultiTexCoord4sARB,
        null_glMultiTexCoord4sSGIS,
        null_glMultiTexCoord4sv,
        null_glMultiTexCoord4svARB,
        null_glMultiTexCoord4svSGIS,
        null_glMultiTexCoord4xOES,
        null_glMultiTexCoord4xvOES,
        null_glMultiTexCoordP1ui,
        null_glMultiTexCoordP1uiv,
        null_glMultiTexCoordP2ui,
        null_glMultiTexCoordP2uiv,
        null_glMultiTexCoordP3ui,
        null_glMultiTexCoordP3uiv,
        null_glMultiTexCoordP4ui,
        null_glMultiTexCoordP4uiv,
        null_glMultiTexCoordPointerEXT,
        null_glMultiTexCoordPointerSGIS,
        null_glMultiTexEnvfEXT,
        null_glMultiTexEnvfvEXT,
        null_glMultiTexEnviEXT,
        null_glMultiTexEnvivEXT,
        null_glMultiTexGendEXT,
        null_glMultiTexGendvEXT,
        null_glMultiTexGenfEXT,
        null_glMultiTexGenfvEXT,
        null_glMultiTexGeniEXT,
        null_glMultiTexGenivEXT,
        null_glMultiTexImage1DEXT,
        null_glMultiTexImage2DEXT,
        null_glMultiTexImage3DEXT,
        null_glMultiTexParameterIivEXT,
        null_glMultiTexParameterIuivEXT,
        null_glMultiTexParameterfEXT,
        null_glMultiTexParameterfvEXT,
        null_glMultiTexParameteriEXT,
        null_glMultiTexParameterivEXT,
        null_glMultiTexRenderbufferEXT,
        null_glMultiTexSubImage1DEXT,
        null_glMultiTexSubImage2DEXT,
        null_glMultiTexSubImage3DEXT,
        null_glMulticastBarrierNV,
        null_glMulticastBlitFramebufferNV,
        null_glMulticastBufferSubDataNV,
        null_glMulticastCopyBufferSubDataNV,
        null_glMulticastCopyImageSubDataNV,
        null_glMulticastFramebufferSampleLocationsfvNV,
        null_glMulticastGetQueryObjecti64vNV,
        null_glMulticastGetQueryObjectivNV,
        null_glMulticastGetQueryObjectui64vNV,
        null_glMulticastGetQueryObjectuivNV,
        null_glMulticastScissorArrayvNVX,
        null_glMulticastViewportArrayvNVX,
        null_glMulticastViewportPositionWScaleNVX,
        null_glMulticastWaitSyncNV,
        null_glNamedBufferAttachMemoryNV,
        null_glNamedBufferData,
        null_glNamedBufferDataEXT,
        null_glNamedBufferPageCommitmentARB,
        null_glNamedBufferPageCommitmentEXT,
        null_glNamedBufferStorage,
        null_glNamedBufferStorageEXT,
        null_glNamedBufferStorageExternalEXT,
        null_glNamedBufferStorageMemEXT,
        null_glNamedBufferSubData,
        null_glNamedBufferSubDataEXT,
        null_glNamedCopyBufferSubDataEXT,
        null_glNamedFramebufferDrawBuffer,
        null_glNamedFramebufferDrawBuffers,
        null_glNamedFramebufferParameteri,
        null_glNamedFramebufferParameteriEXT,
        null_glNamedFramebufferReadBuffer,
        null_glNamedFramebufferRenderbuffer,
        null_glNamedFramebufferRenderbufferEXT,
        null_glNamedFramebufferSampleLocationsfvARB,
        null_glNamedFramebufferSampleLocationsfvNV,
        null_glNamedFramebufferSamplePositionsfvAMD,
        null_glNamedFramebufferTexture,
        null_glNamedFramebufferTexture1DEXT,
        null_glNamedFramebufferTexture2DEXT,
        null_glNamedFramebufferTexture3DEXT,
        null_glNamedFramebufferTextureEXT,
        null_glNamedFramebufferTextureFaceEXT,
        null_glNamedFramebufferTextureLayer,
        null_glNamedFramebufferTextureLayerEXT,
        null_glNamedProgramLocalParameter4dEXT,
        null_glNamedProgramLocalParameter4dvEXT,
        null_glNamedProgramLocalParameter4fEXT,
        null_glNamedProgramLocalParameter4fvEXT,
        null_glNamedProgramLocalParameterI4iEXT,
        null_glNamedProgramLocalParameterI4ivEXT,
        null_glNamedProgramLocalParameterI4uiEXT,
        null_glNamedProgramLocalParameterI4uivEXT,
        null_glNamedProgramLocalParameters4fvEXT,
        null_glNamedProgramLocalParametersI4ivEXT,
        null_glNamedProgramLocalParametersI4uivEXT,
        null_glNamedProgramStringEXT,
        null_glNamedRenderbufferStorage,
        null_glNamedRenderbufferStorageEXT,
        null_glNamedRenderbufferStorageMultisample,
        null_glNamedRenderbufferStorageMultisampleAdvancedAMD,
        null_glNamedRenderbufferStorageMultisampleCoverageEXT,
        null_glNamedRenderbufferStorageMultisampleEXT,
        null_glNamedStringARB,
        null_glNewBufferRegion,
        null_glNewObjectBufferATI,
        null_glNormal3fVertex3fSUN,
        null_glNormal3fVertex3fvSUN,
        null_glNormal3hNV,
        null_glNormal3hvNV,
        null_glNormal3xOES,
        null_glNormal3xvOES,
        null_glNormalFormatNV,
        null_glNormalP3ui,
        null_glNormalP3uiv,
        null_glNormalPointerEXT,
        null_glNormalPointerListIBM,
        null_glNormalPointervINTEL,
        null_glNormalStream3bATI,
        null_glNormalStream3bvATI,
        null_glNormalStream3dATI,
        null_glNormalStream3dvATI,
        null_glNormalStream3fATI,
        null_glNormalStream3fvATI,
        null_glNormalStream3iATI,
        null_glNormalStream3ivATI,
        null_glNormalStream3sATI,
        null_glNormalStream3svATI,
        null_glObjectLabel,
        null_glObjectPtrLabel,
        null_glObjectPurgeableAPPLE,
        null_glObjectUnpurgeableAPPLE,
        null_glOrthofOES,
        null_glOrthoxOES,
        null_glPNTrianglesfATI,
        null_glPNTrianglesiATI,
        null_glPassTexCoordATI,
        null_glPassThroughxOES,
        null_glPatchParameterfv,
        null_glPatchParameteri,
        null_glPathColorGenNV,
        null_glPathCommandsNV,
        null_glPathCoordsNV,
        null_glPathCoverDepthFuncNV,
        null_glPathDashArrayNV,
        null_glPathFogGenNV,
        null_glPathGlyphIndexArrayNV,
        null_glPathGlyphIndexRangeNV,
        null_glPathGlyphRangeNV,
        null_glPathGlyphsNV,
        null_glPathMemoryGlyphIndexArrayNV,
        null_glPathParameterfNV,
        null_glPathParameterfvNV,
        null_glPathParameteriNV,
        null_glPathParameterivNV,
        null_glPathStencilDepthOffsetNV,
        null_glPathStencilFuncNV,
        null_glPathStringNV,
        null_glPathSubCommandsNV,
        null_glPathSubCoordsNV,
        null_glPathTexGenNV,
        null_glPauseTransformFeedback,
        null_glPauseTransformFeedbackNV,
        null_glPixelDataRangeNV,
        null_glPixelMapx,
        null_glPixelStorex,
        null_glPixelTexGenParameterfSGIS,
        null_glPixelTexGenParameterfvSGIS,
        null_glPixelTexGenParameteriSGIS,
        null_glPixelTexGenParameterivSGIS,
        null_glPixelTexGenSGIX,
        null_glPixelTransferxOES,
        null_glPixelTransformParameterfEXT,
        null_glPixelTransformParameterfvEXT,
        null_glPixelTransformParameteriEXT,
        null_glPixelTransformParameterivEXT,
        null_glPixelZoomxOES,
        null_glPointAlongPathNV,
        null_glPointParameterf,
        null_glPointParameterfARB,
        null_glPointParameterfEXT,
        null_glPointParameterfSGIS,
        null_glPointParameterfv,
        null_glPointParameterfvARB,
        null_glPointParameterfvEXT,
        null_glPointParameterfvSGIS,
        null_glPointParameteri,
        null_glPointParameteriNV,
        null_glPointParameteriv,
        null_glPointParameterivNV,
        null_glPointParameterxvOES,
        null_glPointSizexOES,
        null_glPollAsyncSGIX,
        null_glPollInstrumentsSGIX,
        null_glPolygonOffsetClamp,
        null_glPolygonOffsetClampEXT,
        null_glPolygonOffsetEXT,
        null_glPolygonOffsetxOES,
        null_glPopDebugGroup,
        null_glPopGroupMarkerEXT,
        null_glPresentFrameDualFillNV,
        null_glPresentFrameKeyedNV,
        null_glPrimitiveBoundingBoxARB,
        null_glPrimitiveRestartIndex,
        null_glPrimitiveRestartIndexNV,
        null_glPrimitiveRestartNV,
        null_glPrioritizeTexturesEXT,
        null_glPrioritizeTexturesxOES,
        null_glProgramBinary,
        null_glProgramBufferParametersIivNV,
        null_glProgramBufferParametersIuivNV,
        null_glProgramBufferParametersfvNV,
        null_glProgramEnvParameter4dARB,
        null_glProgramEnvParameter4dvARB,
        null_glProgramEnvParameter4fARB,
        null_glProgramEnvParameter4fvARB,
        null_glProgramEnvParameterI4iNV,
        null_glProgramEnvParameterI4ivNV,
        null_glProgramEnvParameterI4uiNV,
        null_glProgramEnvParameterI4uivNV,
        null_glProgramEnvParameters4fvEXT,
        null_glProgramEnvParametersI4ivNV,
        null_glProgramEnvParametersI4uivNV,
        null_glProgramLocalParameter4dARB,
        null_glProgramLocalParameter4dvARB,
        null_glProgramLocalParameter4fARB,
        null_glProgramLocalParameter4fvARB,
        null_glProgramLocalParameterI4iNV,
        null_glProgramLocalParameterI4ivNV,
        null_glProgramLocalParameterI4uiNV,
        null_glProgramLocalParameterI4uivNV,
        null_glProgramLocalParameters4fvEXT,
        null_glProgramLocalParametersI4ivNV,
        null_glProgramLocalParametersI4uivNV,
        null_glProgramNamedParameter4dNV,
        null_glProgramNamedParameter4dvNV,
        null_glProgramNamedParameter4fNV,
        null_glProgramNamedParameter4fvNV,
        null_glProgramParameter4dNV,
        null_glProgramParameter4dvNV,
        null_glProgramParameter4fNV,
        null_glProgramParameter4fvNV,
        null_glProgramParameteri,
        null_glProgramParameteriARB,
        null_glProgramParameteriEXT,
        null_glProgramParameters4dvNV,
        null_glProgramParameters4fvNV,
        null_glProgramPathFragmentInputGenNV,
        null_glProgramStringARB,
        null_glProgramSubroutineParametersuivNV,
        null_glProgramUniform1d,
        null_glProgramUniform1dEXT,
        null_glProgramUniform1dv,
        null_glProgramUniform1dvEXT,
        null_glProgramUniform1f,
        null_glProgramUniform1fEXT,
        null_glProgramUniform1fv,
        null_glProgramUniform1fvEXT,
        null_glProgramUniform1i,
        null_glProgramUniform1i64ARB,
        null_glProgramUniform1i64NV,
        null_glProgramUniform1i64vARB,
        null_glProgramUniform1i64vNV,
        null_glProgramUniform1iEXT,
        null_glProgramUniform1iv,
        null_glProgramUniform1ivEXT,
        null_glProgramUniform1ui,
        null_glProgramUniform1ui64ARB,
        null_glProgramUniform1ui64NV,
        null_glProgramUniform1ui64vARB,
        null_glProgramUniform1ui64vNV,
        null_glProgramUniform1uiEXT,
        null_glProgramUniform1uiv,
        null_glProgramUniform1uivEXT,
        null_glProgramUniform2d,
        null_glProgramUniform2dEXT,
        null_glProgramUniform2dv,
        null_glProgramUniform2dvEXT,
        null_glProgramUniform2f,
        null_glProgramUniform2fEXT,
        null_glProgramUniform2fv,
        null_glProgramUniform2fvEXT,
        null_glProgramUniform2i,
        null_glProgramUniform2i64ARB,
        null_glProgramUniform2i64NV,
        null_glProgramUniform2i64vARB,
        null_glProgramUniform2i64vNV,
        null_glProgramUniform2iEXT,
        null_glProgramUniform2iv,
        null_glProgramUniform2ivEXT,
        null_glProgramUniform2ui,
        null_glProgramUniform2ui64ARB,
        null_glProgramUniform2ui64NV,
        null_glProgramUniform2ui64vARB,
        null_glProgramUniform2ui64vNV,
        null_glProgramUniform2uiEXT,
        null_glProgramUniform2uiv,
        null_glProgramUniform2uivEXT,
        null_glProgramUniform3d,
        null_glProgramUniform3dEXT,
        null_glProgramUniform3dv,
        null_glProgramUniform3dvEXT,
        null_glProgramUniform3f,
        null_glProgramUniform3fEXT,
        null_glProgramUniform3fv,
        null_glProgramUniform3fvEXT,
        null_glProgramUniform3i,
        null_glProgramUniform3i64ARB,
        null_glProgramUniform3i64NV,
        null_glProgramUniform3i64vARB,
        null_glProgramUniform3i64vNV,
        null_glProgramUniform3iEXT,
        null_glProgramUniform3iv,
        null_glProgramUniform3ivEXT,
        null_glProgramUniform3ui,
        null_glProgramUniform3ui64ARB,
        null_glProgramUniform3ui64NV,
        null_glProgramUniform3ui64vARB,
        null_glProgramUniform3ui64vNV,
        null_glProgramUniform3uiEXT,
        null_glProgramUniform3uiv,
        null_glProgramUniform3uivEXT,
        null_glProgramUniform4d,
        null_glProgramUniform4dEXT,
        null_glProgramUniform4dv,
        null_glProgramUniform4dvEXT,
        null_glProgramUniform4f,
        null_glProgramUniform4fEXT,
        null_glProgramUniform4fv,
        null_glProgramUniform4fvEXT,
        null_glProgramUniform4i,
        null_glProgramUniform4i64ARB,
        null_glProgramUniform4i64NV,
        null_glProgramUniform4i64vARB,
        null_glProgramUniform4i64vNV,
        null_glProgramUniform4iEXT,
        null_glProgramUniform4iv,
        null_glProgramUniform4ivEXT,
        null_glProgramUniform4ui,
        null_glProgramUniform4ui64ARB,
        null_glProgramUniform4ui64NV,
        null_glProgramUniform4ui64vARB,
        null_glProgramUniform4ui64vNV,
        null_glProgramUniform4uiEXT,
        null_glProgramUniform4uiv,
        null_glProgramUniform4uivEXT,
        null_glProgramUniformHandleui64ARB,
        null_glProgramUniformHandleui64NV,
        null_glProgramUniformHandleui64vARB,
        null_glProgramUniformHandleui64vNV,
        null_glProgramUniformMatrix2dv,
        null_glProgramUniformMatrix2dvEXT,
        null_glProgramUniformMatrix2fv,
        null_glProgramUniformMatrix2fvEXT,
        null_glProgramUniformMatrix2x3dv,
        null_glProgramUniformMatrix2x3dvEXT,
        null_glProgramUniformMatrix2x3fv,
        null_glProgramUniformMatrix2x3fvEXT,
        null_glProgramUniformMatrix2x4dv,
        null_glProgramUniformMatrix2x4dvEXT,
        null_glProgramUniformMatrix2x4fv,
        null_glProgramUniformMatrix2x4fvEXT,
        null_glProgramUniformMatrix3dv,
        null_glProgramUniformMatrix3dvEXT,
        null_glProgramUniformMatrix3fv,
        null_glProgramUniformMatrix3fvEXT,
        null_glProgramUniformMatrix3x2dv,
        null_glProgramUniformMatrix3x2dvEXT,
        null_glProgramUniformMatrix3x2fv,
        null_glProgramUniformMatrix3x2fvEXT,
        null_glProgramUniformMatrix3x4dv,
        null_glProgramUniformMatrix3x4dvEXT,
        null_glProgramUniformMatrix3x4fv,
        null_glProgramUniformMatrix3x4fvEXT,
        null_glProgramUniformMatrix4dv,
        null_glProgramUniformMatrix4dvEXT,
        null_glProgramUniformMatrix4fv,
        null_glProgramUniformMatrix4fvEXT,
        null_glProgramUniformMatrix4x2dv,
        null_glProgramUniformMatrix4x2dvEXT,
        null_glProgramUniformMatrix4x2fv,
        null_glProgramUniformMatrix4x2fvEXT,
        null_glProgramUniformMatrix4x3dv,
        null_glProgramUniformMatrix4x3dvEXT,
        null_glProgramUniformMatrix4x3fv,
        null_glProgramUniformMatrix4x3fvEXT,
        null_glProgramUniformui64NV,
        null_glProgramUniformui64vNV,
        null_glProgramVertexLimitNV,
        null_glProvokingVertex,
        null_glProvokingVertexEXT,
        null_glPushClientAttribDefaultEXT,
        null_glPushDebugGroup,
        null_glPushGroupMarkerEXT,
        null_glQueryCounter,
        null_glQueryMatrixxOES,
        null_glQueryObjectParameteruiAMD,
        null_glQueryResourceNV,
        null_glQueryResourceTagNV,
        null_glRasterPos2xOES,
        null_glRasterPos2xvOES,
        null_glRasterPos3xOES,
        null_glRasterPos3xvOES,
        null_glRasterPos4xOES,
        null_glRasterPos4xvOES,
        null_glRasterSamplesEXT,
        null_glReadBufferRegion,
        null_glReadInstrumentsSGIX,
        null_glReadnPixels,
        null_glReadnPixelsARB,
        null_glRectxOES,
        null_glRectxvOES,
        null_glReferencePlaneSGIX,
        null_glReleaseKeyedMutexWin32EXT,
        null_glReleaseShaderCompiler,
        null_glRenderGpuMaskNV,
        null_glRenderbufferStorage,
        null_glRenderbufferStorageEXT,
        null_glRenderbufferStorageMultisample,
        null_glRenderbufferStorageMultisampleAdvancedAMD,
        null_glRenderbufferStorageMultisampleCoverageNV,
        null_glRenderbufferStorageMultisampleEXT,
        null_glReplacementCodePointerSUN,
        null_glReplacementCodeubSUN,
        null_glReplacementCodeubvSUN,
        null_glReplacementCodeuiColor3fVertex3fSUN,
        null_glReplacementCodeuiColor3fVertex3fvSUN,
        null_glReplacementCodeuiColor4fNormal3fVertex3fSUN,
        null_glReplacementCodeuiColor4fNormal3fVertex3fvSUN,
        null_glReplacementCodeuiColor4ubVertex3fSUN,
        null_glReplacementCodeuiColor4ubVertex3fvSUN,
        null_glReplacementCodeuiNormal3fVertex3fSUN,
        null_glReplacementCodeuiNormal3fVertex3fvSUN,
        null_glReplacementCodeuiSUN,
        null_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN,
        null_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN,
        null_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN,
        null_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN,
        null_glReplacementCodeuiTexCoord2fVertex3fSUN,
        null_glReplacementCodeuiTexCoord2fVertex3fvSUN,
        null_glReplacementCodeuiVertex3fSUN,
        null_glReplacementCodeuiVertex3fvSUN,
        null_glReplacementCodeuivSUN,
        null_glReplacementCodeusSUN,
        null_glReplacementCodeusvSUN,
        null_glRequestResidentProgramsNV,
        null_glResetHistogram,
        null_glResetHistogramEXT,
        null_glResetMemoryObjectParameterNV,
        null_glResetMinmax,
        null_glResetMinmaxEXT,
        null_glResizeBuffersMESA,
        null_glResolveDepthValuesNV,
        null_glResumeTransformFeedback,
        null_glResumeTransformFeedbackNV,
        null_glRotatexOES,
        null_glSampleCoverage,
        null_glSampleCoverageARB,
        null_glSampleMapATI,
        null_glSampleMaskEXT,
        null_glSampleMaskIndexedNV,
        null_glSampleMaskSGIS,
        null_glSampleMaski,
        null_glSamplePatternEXT,
        null_glSamplePatternSGIS,
        null_glSamplerParameterIiv,
        null_glSamplerParameterIuiv,
        null_glSamplerParameterf,
        null_glSamplerParameterfv,
        null_glSamplerParameteri,
        null_glSamplerParameteriv,
        null_glScalexOES,
        null_glScissorArrayv,
        null_glScissorExclusiveArrayvNV,
        null_glScissorExclusiveNV,
        null_glScissorIndexed,
        null_glScissorIndexedv,
        null_glSecondaryColor3b,
        null_glSecondaryColor3bEXT,
        null_glSecondaryColor3bv,
        null_glSecondaryColor3bvEXT,
        null_glSecondaryColor3d,
        null_glSecondaryColor3dEXT,
        null_glSecondaryColor3dv,
        null_glSecondaryColor3dvEXT,
        null_glSecondaryColor3f,
        null_glSecondaryColor3fEXT,
        null_glSecondaryColor3fv,
        null_glSecondaryColor3fvEXT,
        null_glSecondaryColor3hNV,
        null_glSecondaryColor3hvNV,
        null_glSecondaryColor3i,
        null_glSecondaryColor3iEXT,
        null_glSecondaryColor3iv,
        null_glSecondaryColor3ivEXT,
        null_glSecondaryColor3s,
        null_glSecondaryColor3sEXT,
        null_glSecondaryColor3sv,
        null_glSecondaryColor3svEXT,
        null_glSecondaryColor3ub,
        null_glSecondaryColor3ubEXT,
        null_glSecondaryColor3ubv,
        null_glSecondaryColor3ubvEXT,
        null_glSecondaryColor3ui,
        null_glSecondaryColor3uiEXT,
        null_glSecondaryColor3uiv,
        null_glSecondaryColor3uivEXT,
        null_glSecondaryColor3us,
        null_glSecondaryColor3usEXT,
        null_glSecondaryColor3usv,
        null_glSecondaryColor3usvEXT,
        null_glSecondaryColorFormatNV,
        null_glSecondaryColorP3ui,
        null_glSecondaryColorP3uiv,
        null_glSecondaryColorPointer,
        null_glSecondaryColorPointerEXT,
        null_glSecondaryColorPointerListIBM,
        null_glSelectPerfMonitorCountersAMD,
        null_glSelectTextureCoordSetSGIS,
        null_glSelectTextureSGIS,
        null_glSemaphoreParameterui64vEXT,
        null_glSeparableFilter2D,
        null_glSeparableFilter2DEXT,
        null_glSetFenceAPPLE,
        null_glSetFenceNV,
        null_glSetFragmentShaderConstantATI,
        null_glSetInvariantEXT,
        null_glSetLocalConstantEXT,
        null_glSetMultisamplefvAMD,
        null_glShaderBinary,
        null_glShaderOp1EXT,
        null_glShaderOp2EXT,
        null_glShaderOp3EXT,
        null_glShaderSource,
        null_glShaderSourceARB,
        null_glShaderStorageBlockBinding,
        null_glShadingRateImageBarrierNV,
        null_glShadingRateImagePaletteNV,
        null_glShadingRateSampleOrderCustomNV,
        null_glShadingRateSampleOrderNV,
        null_glSharpenTexFuncSGIS,
        null_glSignalSemaphoreEXT,
        null_glSignalSemaphoreui64NVX,
        null_glSignalVkFenceNV,
        null_glSignalVkSemaphoreNV,
        null_glSpecializeShader,
        null_glSpecializeShaderARB,
        null_glSpriteParameterfSGIX,
        null_glSpriteParameterfvSGIX,
        null_glSpriteParameteriSGIX,
        null_glSpriteParameterivSGIX,
        null_glStartInstrumentsSGIX,
        null_glStateCaptureNV,
        null_glStencilClearTagEXT,
        null_glStencilFillPathInstancedNV,
        null_glStencilFillPathNV,
        null_glStencilFuncSeparate,
        null_glStencilFuncSeparateATI,
        null_glStencilMaskSeparate,
        null_glStencilOpSeparate,
        null_glStencilOpSeparateATI,
        null_glStencilOpValueAMD,
        null_glStencilStrokePathInstancedNV,
        null_glStencilStrokePathNV,
        null_glStencilThenCoverFillPathInstancedNV,
        null_glStencilThenCoverFillPathNV,
        null_glStencilThenCoverStrokePathInstancedNV,
        null_glStencilThenCoverStrokePathNV,
        null_glStopInstrumentsSGIX,
        null_glStringMarkerGREMEDY,
        null_glSubpixelPrecisionBiasNV,
        null_glSwizzleEXT,
        null_glSyncTextureINTEL,
        null_glTagSampleBufferSGIX,
        null_glTangent3bEXT,
        null_glTangent3bvEXT,
        null_glTangent3dEXT,
        null_glTangent3dvEXT,
        null_glTangent3fEXT,
        null_glTangent3fvEXT,
        null_glTangent3iEXT,
        null_glTangent3ivEXT,
        null_glTangent3sEXT,
        null_glTangent3svEXT,
        null_glTangentPointerEXT,
        null_glTbufferMask3DFX,
        null_glTessellationFactorAMD,
        null_glTessellationModeAMD,
        null_glTestFenceAPPLE,
        null_glTestFenceNV,
        null_glTestObjectAPPLE,
        null_glTexAttachMemoryNV,
        null_glTexBuffer,
        null_glTexBufferARB,
        null_glTexBufferEXT,
        null_glTexBufferRange,
        null_glTexBumpParameterfvATI,
        null_glTexBumpParameterivATI,
        null_glTexCoord1bOES,
        null_glTexCoord1bvOES,
        null_glTexCoord1hNV,
        null_glTexCoord1hvNV,
        null_glTexCoord1xOES,
        null_glTexCoord1xvOES,
        null_glTexCoord2bOES,
        null_glTexCoord2bvOES,
        null_glTexCoord2fColor3fVertex3fSUN,
        null_glTexCoord2fColor3fVertex3fvSUN,
        null_glTexCoord2fColor4fNormal3fVertex3fSUN,
        null_glTexCoord2fColor4fNormal3fVertex3fvSUN,
        null_glTexCoord2fColor4ubVertex3fSUN,
        null_glTexCoord2fColor4ubVertex3fvSUN,
        null_glTexCoord2fNormal3fVertex3fSUN,
        null_glTexCoord2fNormal3fVertex3fvSUN,
        null_glTexCoord2fVertex3fSUN,
        null_glTexCoord2fVertex3fvSUN,
        null_glTexCoord2hNV,
        null_glTexCoord2hvNV,
        null_glTexCoord2xOES,
        null_glTexCoord2xvOES,
        null_glTexCoord3bOES,
        null_glTexCoord3bvOES,
        null_glTexCoord3hNV,
        null_glTexCoord3hvNV,
        null_glTexCoord3xOES,
        null_glTexCoord3xvOES,
        null_glTexCoord4bOES,
        null_glTexCoord4bvOES,
        null_glTexCoord4fColor4fNormal3fVertex4fSUN,
        null_glTexCoord4fColor4fNormal3fVertex4fvSUN,
        null_glTexCoord4fVertex4fSUN,
        null_glTexCoord4fVertex4fvSUN,
        null_glTexCoord4hNV,
        null_glTexCoord4hvNV,
        null_glTexCoord4xOES,
        null_glTexCoord4xvOES,
        null_glTexCoordFormatNV,
        null_glTexCoordP1ui,
        null_glTexCoordP1uiv,
        null_glTexCoordP2ui,
        null_glTexCoordP2uiv,
        null_glTexCoordP3ui,
        null_glTexCoordP3uiv,
        null_glTexCoordP4ui,
        null_glTexCoordP4uiv,
        null_glTexCoordPointerEXT,
        null_glTexCoordPointerListIBM,
        null_glTexCoordPointervINTEL,
        null_glTexEnvxOES,
        null_glTexEnvxvOES,
        null_glTexFilterFuncSGIS,
        null_glTexGenxOES,
        null_glTexGenxvOES,
        null_glTexImage2DMultisample,
        null_glTexImage2DMultisampleCoverageNV,
        null_glTexImage3D,
        null_glTexImage3DEXT,
        null_glTexImage3DMultisample,
        null_glTexImage3DMultisampleCoverageNV,
        null_glTexImage4DSGIS,
        null_glTexPageCommitmentARB,
        null_glTexParameterIiv,
        null_glTexParameterIivEXT,
        null_glTexParameterIuiv,
        null_glTexParameterIuivEXT,
        null_glTexParameterxOES,
        null_glTexParameterxvOES,
        null_glTexRenderbufferNV,
        null_glTexStorage1D,
        null_glTexStorage2D,
        null_glTexStorage2DMultisample,
        null_glTexStorage3D,
        null_glTexStorage3DMultisample,
        null_glTexStorageMem1DEXT,
        null_glTexStorageMem2DEXT,
        null_glTexStorageMem2DMultisampleEXT,
        null_glTexStorageMem3DEXT,
        null_glTexStorageMem3DMultisampleEXT,
        null_glTexStorageSparseAMD,
        null_glTexSubImage1DEXT,
        null_glTexSubImage2DEXT,
        null_glTexSubImage3D,
        null_glTexSubImage3DEXT,
        null_glTexSubImage4DSGIS,
        null_glTextureAttachMemoryNV,
        null_glTextureBarrier,
        null_glTextureBarrierNV,
        null_glTextureBuffer,
        null_glTextureBufferEXT,
        null_glTextureBufferRange,
        null_glTextureBufferRangeEXT,
        null_glTextureColorMaskSGIS,
        null_glTextureImage1DEXT,
        null_glTextureImage2DEXT,
        null_glTextureImage2DMultisampleCoverageNV,
        null_glTextureImage2DMultisampleNV,
        null_glTextureImage3DEXT,
        null_glTextureImage3DMultisampleCoverageNV,
        null_glTextureImage3DMultisampleNV,
        null_glTextureLightEXT,
        null_glTextureMaterialEXT,
        null_glTextureNormalEXT,
        null_glTexturePageCommitmentEXT,
        null_glTextureParameterIiv,
        null_glTextureParameterIivEXT,
        null_glTextureParameterIuiv,
        null_glTextureParameterIuivEXT,
        null_glTextureParameterf,
        null_glTextureParameterfEXT,
        null_glTextureParameterfv,
        null_glTextureParameterfvEXT,
        null_glTextureParameteri,
        null_glTextureParameteriEXT,
        null_glTextureParameteriv,
        null_glTextureParameterivEXT,
        null_glTextureRangeAPPLE,
        null_glTextureRenderbufferEXT,
        null_glTextureStorage1D,
        null_glTextureStorage1DEXT,
        null_glTextureStorage2D,
        null_glTextureStorage2DEXT,
        null_glTextureStorage2DMultisample,
        null_glTextureStorage2DMultisampleEXT,
        null_glTextureStorage3D,
        null_glTextureStorage3DEXT,
        null_glTextureStorage3DMultisample,
        null_glTextureStorage3DMultisampleEXT,
        null_glTextureStorageMem1DEXT,
        null_glTextureStorageMem2DEXT,
        null_glTextureStorageMem2DMultisampleEXT,
        null_glTextureStorageMem3DEXT,
        null_glTextureStorageMem3DMultisampleEXT,
        null_glTextureStorageSparseAMD,
        null_glTextureSubImage1D,
        null_glTextureSubImage1DEXT,
        null_glTextureSubImage2D,
        null_glTextureSubImage2DEXT,
        null_glTextureSubImage3D,
        null_glTextureSubImage3DEXT,
        null_glTextureView,
        null_glTrackMatrixNV,
        null_glTransformFeedbackAttribsNV,
        null_glTransformFeedbackBufferBase,
        null_glTransformFeedbackBufferRange,
        null_glTransformFeedbackStreamAttribsNV,
        null_glTransformFeedbackVaryings,
        null_glTransformFeedbackVaryingsEXT,
        null_glTransformFeedbackVaryingsNV,
        null_glTransformPathNV,
        null_glTranslatexOES,
        null_glUniform1d,
        null_glUniform1dv,
        null_glUniform1f,
        null_glUniform1fARB,
        null_glUniform1fv,
        null_glUniform1fvARB,
        null_glUniform1i,
        null_glUniform1i64ARB,
        null_glUniform1i64NV,
        null_glUniform1i64vARB,
        null_glUniform1i64vNV,
        null_glUniform1iARB,
        null_glUniform1iv,
        null_glUniform1ivARB,
        null_glUniform1ui,
        null_glUniform1ui64ARB,
        null_glUniform1ui64NV,
        null_glUniform1ui64vARB,
        null_glUniform1ui64vNV,
        null_glUniform1uiEXT,
        null_glUniform1uiv,
        null_glUniform1uivEXT,
        null_glUniform2d,
        null_glUniform2dv,
        null_glUniform2f,
        null_glUniform2fARB,
        null_glUniform2fv,
        null_glUniform2fvARB,
        null_glUniform2i,
        null_glUniform2i64ARB,
        null_glUniform2i64NV,
        null_glUniform2i64vARB,
        null_glUniform2i64vNV,
        null_glUniform2iARB,
        null_glUniform2iv,
        null_glUniform2ivARB,
        null_glUniform2ui,
        null_glUniform2ui64ARB,
        null_glUniform2ui64NV,
        null_glUniform2ui64vARB,
        null_glUniform2ui64vNV,
        null_glUniform2uiEXT,
        null_glUniform2uiv,
        null_glUniform2uivEXT,
        null_glUniform3d,
        null_glUniform3dv,
        null_glUniform3f,
        null_glUniform3fARB,
        null_glUniform3fv,
        null_glUniform3fvARB,
        null_glUniform3i,
        null_glUniform3i64ARB,
        null_glUniform3i64NV,
        null_glUniform3i64vARB,
        null_glUniform3i64vNV,
        null_glUniform3iARB,
        null_glUniform3iv,
        null_glUniform3ivARB,
        null_glUniform3ui,
        null_glUniform3ui64ARB,
        null_glUniform3ui64NV,
        null_glUniform3ui64vARB,
        null_glUniform3ui64vNV,
        null_glUniform3uiEXT,
        null_glUniform3uiv,
        null_glUniform3uivEXT,
        null_glUniform4d,
        null_glUniform4dv,
        null_glUniform4f,
        null_glUniform4fARB,
        null_glUniform4fv,
        null_glUniform4fvARB,
        null_glUniform4i,
        null_glUniform4i64ARB,
        null_glUniform4i64NV,
        null_glUniform4i64vARB,
        null_glUniform4i64vNV,
        null_glUniform4iARB,
        null_glUniform4iv,
        null_glUniform4ivARB,
        null_glUniform4ui,
        null_glUniform4ui64ARB,
        null_glUniform4ui64NV,
        null_glUniform4ui64vARB,
        null_glUniform4ui64vNV,
        null_glUniform4uiEXT,
        null_glUniform4uiv,
        null_glUniform4uivEXT,
        null_glUniformBlockBinding,
        null_glUniformBufferEXT,
        null_glUniformHandleui64ARB,
        null_glUniformHandleui64NV,
        null_glUniformHandleui64vARB,
        null_glUniformHandleui64vNV,
        null_glUniformMatrix2dv,
        null_glUniformMatrix2fv,
        null_glUniformMatrix2fvARB,
        null_glUniformMatrix2x3dv,
        null_glUniformMatrix2x3fv,
        null_glUniformMatrix2x4dv,
        null_glUniformMatrix2x4fv,
        null_glUniformMatrix3dv,
        null_glUniformMatrix3fv,
        null_glUniformMatrix3fvARB,
        null_glUniformMatrix3x2dv,
        null_glUniformMatrix3x2fv,
        null_glUniformMatrix3x4dv,
        null_glUniformMatrix3x4fv,
        null_glUniformMatrix4dv,
        null_glUniformMatrix4fv,
        null_glUniformMatrix4fvARB,
        null_glUniformMatrix4x2dv,
        null_glUniformMatrix4x2fv,
        null_glUniformMatrix4x3dv,
        null_glUniformMatrix4x3fv,
        null_glUniformSubroutinesuiv,
        null_glUniformui64NV,
        null_glUniformui64vNV,
        null_glUnlockArraysEXT,
        null_glUnmapBuffer,
        null_glUnmapBufferARB,
        null_glUnmapNamedBuffer,
        null_glUnmapNamedBufferEXT,
        null_glUnmapObjectBufferATI,
        null_glUnmapTexture2DINTEL,
        null_glUpdateObjectBufferATI,
        null_glUploadGpuMaskNVX,
        null_glUseProgram,
        null_glUseProgramObjectARB,
        null_glUseProgramStages,
        null_glUseShaderProgramEXT,
        null_glVDPAUFiniNV,
        null_glVDPAUGetSurfaceivNV,
        null_glVDPAUInitNV,
        null_glVDPAUIsSurfaceNV,
        null_glVDPAUMapSurfacesNV,
        null_glVDPAURegisterOutputSurfaceNV,
        null_glVDPAURegisterVideoSurfaceNV,
        null_glVDPAURegisterVideoSurfaceWithPictureStructureNV,
        null_glVDPAUSurfaceAccessNV,
        null_glVDPAUUnmapSurfacesNV,
        null_glVDPAUUnregisterSurfaceNV,
        null_glValidateProgram,
        null_glValidateProgramARB,
        null_glValidateProgramPipeline,
        null_glVariantArrayObjectATI,
        null_glVariantPointerEXT,
        null_glVariantbvEXT,
        null_glVariantdvEXT,
        null_glVariantfvEXT,
        null_glVariantivEXT,
        null_glVariantsvEXT,
        null_glVariantubvEXT,
        null_glVariantuivEXT,
        null_glVariantusvEXT,
        null_glVertex2bOES,
        null_glVertex2bvOES,
        null_glVertex2hNV,
        null_glVertex2hvNV,
        null_glVertex2xOES,
        null_glVertex2xvOES,
        null_glVertex3bOES,
        null_glVertex3bvOES,
        null_glVertex3hNV,
        null_glVertex3hvNV,
        null_glVertex3xOES,
        null_glVertex3xvOES,
        null_glVertex4bOES,
        null_glVertex4bvOES,
        null_glVertex4hNV,
        null_glVertex4hvNV,
        null_glVertex4xOES,
        null_glVertex4xvOES,
        null_glVertexArrayAttribBinding,
        null_glVertexArrayAttribFormat,
        null_glVertexArrayAttribIFormat,
        null_glVertexArrayAttribLFormat,
        null_glVertexArrayBindVertexBufferEXT,
        null_glVertexArrayBindingDivisor,
        null_glVertexArrayColorOffsetEXT,
        null_glVertexArrayEdgeFlagOffsetEXT,
        null_glVertexArrayElementBuffer,
        null_glVertexArrayFogCoordOffsetEXT,
        null_glVertexArrayIndexOffsetEXT,
        null_glVertexArrayMultiTexCoordOffsetEXT,
        null_glVertexArrayNormalOffsetEXT,
        null_glVertexArrayParameteriAPPLE,
        null_glVertexArrayRangeAPPLE,
        null_glVertexArrayRangeNV,
        null_glVertexArraySecondaryColorOffsetEXT,
        null_glVertexArrayTexCoordOffsetEXT,
        null_glVertexArrayVertexAttribBindingEXT,
        null_glVertexArrayVertexAttribDivisorEXT,
        null_glVertexArrayVertexAttribFormatEXT,
        null_glVertexArrayVertexAttribIFormatEXT,
        null_glVertexArrayVertexAttribIOffsetEXT,
        null_glVertexArrayVertexAttribLFormatEXT,
        null_glVertexArrayVertexAttribLOffsetEXT,
        null_glVertexArrayVertexAttribOffsetEXT,
        null_glVertexArrayVertexBindingDivisorEXT,
        null_glVertexArrayVertexBuffer,
        null_glVertexArrayVertexBuffers,
        null_glVertexArrayVertexOffsetEXT,
        null_glVertexAttrib1d,
        null_glVertexAttrib1dARB,
        null_glVertexAttrib1dNV,
        null_glVertexAttrib1dv,
        null_glVertexAttrib1dvARB,
        null_glVertexAttrib1dvNV,
        null_glVertexAttrib1f,
        null_glVertexAttrib1fARB,
        null_glVertexAttrib1fNV,
        null_glVertexAttrib1fv,
        null_glVertexAttrib1fvARB,
        null_glVertexAttrib1fvNV,
        null_glVertexAttrib1hNV,
        null_glVertexAttrib1hvNV,
        null_glVertexAttrib1s,
        null_glVertexAttrib1sARB,
        null_glVertexAttrib1sNV,
        null_glVertexAttrib1sv,
        null_glVertexAttrib1svARB,
        null_glVertexAttrib1svNV,
        null_glVertexAttrib2d,
        null_glVertexAttrib2dARB,
        null_glVertexAttrib2dNV,
        null_glVertexAttrib2dv,
        null_glVertexAttrib2dvARB,
        null_glVertexAttrib2dvNV,
        null_glVertexAttrib2f,
        null_glVertexAttrib2fARB,
        null_glVertexAttrib2fNV,
        null_glVertexAttrib2fv,
        null_glVertexAttrib2fvARB,
        null_glVertexAttrib2fvNV,
        null_glVertexAttrib2hNV,
        null_glVertexAttrib2hvNV,
        null_glVertexAttrib2s,
        null_glVertexAttrib2sARB,
        null_glVertexAttrib2sNV,
        null_glVertexAttrib2sv,
        null_glVertexAttrib2svARB,
        null_glVertexAttrib2svNV,
        null_glVertexAttrib3d,
        null_glVertexAttrib3dARB,
        null_glVertexAttrib3dNV,
        null_glVertexAttrib3dv,
        null_glVertexAttrib3dvARB,
        null_glVertexAttrib3dvNV,
        null_glVertexAttrib3f,
        null_glVertexAttrib3fARB,
        null_glVertexAttrib3fNV,
        null_glVertexAttrib3fv,
        null_glVertexAttrib3fvARB,
        null_glVertexAttrib3fvNV,
        null_glVertexAttrib3hNV,
        null_glVertexAttrib3hvNV,
        null_glVertexAttrib3s,
        null_glVertexAttrib3sARB,
        null_glVertexAttrib3sNV,
        null_glVertexAttrib3sv,
        null_glVertexAttrib3svARB,
        null_glVertexAttrib3svNV,
        null_glVertexAttrib4Nbv,
        null_glVertexAttrib4NbvARB,
        null_glVertexAttrib4Niv,
        null_glVertexAttrib4NivARB,
        null_glVertexAttrib4Nsv,
        null_glVertexAttrib4NsvARB,
        null_glVertexAttrib4Nub,
        null_glVertexAttrib4NubARB,
        null_glVertexAttrib4Nubv,
        null_glVertexAttrib4NubvARB,
        null_glVertexAttrib4Nuiv,
        null_glVertexAttrib4NuivARB,
        null_glVertexAttrib4Nusv,
        null_glVertexAttrib4NusvARB,
        null_glVertexAttrib4bv,
        null_glVertexAttrib4bvARB,
        null_glVertexAttrib4d,
        null_glVertexAttrib4dARB,
        null_glVertexAttrib4dNV,
        null_glVertexAttrib4dv,
        null_glVertexAttrib4dvARB,
        null_glVertexAttrib4dvNV,
        null_glVertexAttrib4f,
        null_glVertexAttrib4fARB,
        null_glVertexAttrib4fNV,
        null_glVertexAttrib4fv,
        null_glVertexAttrib4fvARB,
        null_glVertexAttrib4fvNV,
        null_glVertexAttrib4hNV,
        null_glVertexAttrib4hvNV,
        null_glVertexAttrib4iv,
        null_glVertexAttrib4ivARB,
        null_glVertexAttrib4s,
        null_glVertexAttrib4sARB,
        null_glVertexAttrib4sNV,
        null_glVertexAttrib4sv,
        null_glVertexAttrib4svARB,
        null_glVertexAttrib4svNV,
        null_glVertexAttrib4ubNV,
        null_glVertexAttrib4ubv,
        null_glVertexAttrib4ubvARB,
        null_glVertexAttrib4ubvNV,
        null_glVertexAttrib4uiv,
        null_glVertexAttrib4uivARB,
        null_glVertexAttrib4usv,
        null_glVertexAttrib4usvARB,
        null_glVertexAttribArrayObjectATI,
        null_glVertexAttribBinding,
        null_glVertexAttribDivisor,
        null_glVertexAttribDivisorARB,
        null_glVertexAttribFormat,
        null_glVertexAttribFormatNV,
        null_glVertexAttribI1i,
        null_glVertexAttribI1iEXT,
        null_glVertexAttribI1iv,
        null_glVertexAttribI1ivEXT,
        null_glVertexAttribI1ui,
        null_glVertexAttribI1uiEXT,
        null_glVertexAttribI1uiv,
        null_glVertexAttribI1uivEXT,
        null_glVertexAttribI2i,
        null_glVertexAttribI2iEXT,
        null_glVertexAttribI2iv,
        null_glVertexAttribI2ivEXT,
        null_glVertexAttribI2ui,
        null_glVertexAttribI2uiEXT,
        null_glVertexAttribI2uiv,
        null_glVertexAttribI2uivEXT,
        null_glVertexAttribI3i,
        null_glVertexAttribI3iEXT,
        null_glVertexAttribI3iv,
        null_glVertexAttribI3ivEXT,
        null_glVertexAttribI3ui,
        null_glVertexAttribI3uiEXT,
        null_glVertexAttribI3uiv,
        null_glVertexAttribI3uivEXT,
        null_glVertexAttribI4bv,
        null_glVertexAttribI4bvEXT,
        null_glVertexAttribI4i,
        null_glVertexAttribI4iEXT,
        null_glVertexAttribI4iv,
        null_glVertexAttribI4ivEXT,
        null_glVertexAttribI4sv,
        null_glVertexAttribI4svEXT,
        null_glVertexAttribI4ubv,
        null_glVertexAttribI4ubvEXT,
        null_glVertexAttribI4ui,
        null_glVertexAttribI4uiEXT,
        null_glVertexAttribI4uiv,
        null_glVertexAttribI4uivEXT,
        null_glVertexAttribI4usv,
        null_glVertexAttribI4usvEXT,
        null_glVertexAttribIFormat,
        null_glVertexAttribIFormatNV,
        null_glVertexAttribIPointer,
        null_glVertexAttribIPointerEXT,
        null_glVertexAttribL1d,
        null_glVertexAttribL1dEXT,
        null_glVertexAttribL1dv,
        null_glVertexAttribL1dvEXT,
        null_glVertexAttribL1i64NV,
        null_glVertexAttribL1i64vNV,
        null_glVertexAttribL1ui64ARB,
        null_glVertexAttribL1ui64NV,
        null_glVertexAttribL1ui64vARB,
        null_glVertexAttribL1ui64vNV,
        null_glVertexAttribL2d,
        null_glVertexAttribL2dEXT,
        null_glVertexAttribL2dv,
        null_glVertexAttribL2dvEXT,
        null_glVertexAttribL2i64NV,
        null_glVertexAttribL2i64vNV,
        null_glVertexAttribL2ui64NV,
        null_glVertexAttribL2ui64vNV,
        null_glVertexAttribL3d,
        null_glVertexAttribL3dEXT,
        null_glVertexAttribL3dv,
        null_glVertexAttribL3dvEXT,
        null_glVertexAttribL3i64NV,
        null_glVertexAttribL3i64vNV,
        null_glVertexAttribL3ui64NV,
        null_glVertexAttribL3ui64vNV,
        null_glVertexAttribL4d,
        null_glVertexAttribL4dEXT,
        null_glVertexAttribL4dv,
        null_glVertexAttribL4dvEXT,
        null_glVertexAttribL4i64NV,
        null_glVertexAttribL4i64vNV,
        null_glVertexAttribL4ui64NV,
        null_glVertexAttribL4ui64vNV,
        null_glVertexAttribLFormat,
        null_glVertexAttribLFormatNV,
        null_glVertexAttribLPointer,
        null_glVertexAttribLPointerEXT,
        null_glVertexAttribP1ui,
        null_glVertexAttribP1uiv,
        null_glVertexAttribP2ui,
        null_glVertexAttribP2uiv,
        null_glVertexAttribP3ui,
        null_glVertexAttribP3uiv,
        null_glVertexAttribP4ui,
        null_glVertexAttribP4uiv,
        null_glVertexAttribParameteriAMD,
        null_glVertexAttribPointer,
        null_glVertexAttribPointerARB,
        null_glVertexAttribPointerNV,
        null_glVertexAttribs1dvNV,
        null_glVertexAttribs1fvNV,
        null_glVertexAttribs1hvNV,
        null_glVertexAttribs1svNV,
        null_glVertexAttribs2dvNV,
        null_glVertexAttribs2fvNV,
        null_glVertexAttribs2hvNV,
        null_glVertexAttribs2svNV,
        null_glVertexAttribs3dvNV,
        null_glVertexAttribs3fvNV,
        null_glVertexAttribs3hvNV,
        null_glVertexAttribs3svNV,
        null_glVertexAttribs4dvNV,
        null_glVertexAttribs4fvNV,
        null_glVertexAttribs4hvNV,
        null_glVertexAttribs4svNV,
        null_glVertexAttribs4ubvNV,
        null_glVertexBindingDivisor,
        null_glVertexBlendARB,
        null_glVertexBlendEnvfATI,
        null_glVertexBlendEnviATI,
        null_glVertexFormatNV,
        null_glVertexP2ui,
        null_glVertexP2uiv,
        null_glVertexP3ui,
        null_glVertexP3uiv,
        null_glVertexP4ui,
        null_glVertexP4uiv,
        null_glVertexPointerEXT,
        null_glVertexPointerListIBM,
        null_glVertexPointervINTEL,
        null_glVertexStream1dATI,
        null_glVertexStream1dvATI,
        null_glVertexStream1fATI,
        null_glVertexStream1fvATI,
        null_glVertexStream1iATI,
        null_glVertexStream1ivATI,
        null_glVertexStream1sATI,
        null_glVertexStream1svATI,
        null_glVertexStream2dATI,
        null_glVertexStream2dvATI,
        null_glVertexStream2fATI,
        null_glVertexStream2fvATI,
        null_glVertexStream2iATI,
        null_glVertexStream2ivATI,
        null_glVertexStream2sATI,
        null_glVertexStream2svATI,
        null_glVertexStream3dATI,
        null_glVertexStream3dvATI,
        null_glVertexStream3fATI,
        null_glVertexStream3fvATI,
        null_glVertexStream3iATI,
        null_glVertexStream3ivATI,
        null_glVertexStream3sATI,
        null_glVertexStream3svATI,
        null_glVertexStream4dATI,
        null_glVertexStream4dvATI,
        null_glVertexStream4fATI,
        null_glVertexStream4fvATI,
        null_glVertexStream4iATI,
        null_glVertexStream4ivATI,
        null_glVertexStream4sATI,
        null_glVertexStream4svATI,
        null_glVertexWeightPointerEXT,
        null_glVertexWeightfEXT,
        null_glVertexWeightfvEXT,
        null_glVertexWeighthNV,
        null_glVertexWeighthvNV,
        null_glVideoCaptureNV,
        null_glVideoCaptureStreamParameterdvNV,
        null_glVideoCaptureStreamParameterfvNV,
        null_glVideoCaptureStreamParameterivNV,
        null_glViewportArrayv,
        null_glViewportIndexedf,
        null_glViewportIndexedfv,
        null_glViewportPositionWScaleNV,
        null_glViewportSwizzleNV,
        null_glWaitSemaphoreEXT,
        null_glWaitSemaphoreui64NVX,
        null_glWaitSync,
        null_glWaitVkSemaphoreNV,
        null_glWeightPathsNV,
        null_glWeightPointerARB,
        null_glWeightbvARB,
        null_glWeightdvARB,
        null_glWeightfvARB,
        null_glWeightivARB,
        null_glWeightsvARB,
        null_glWeightubvARB,
        null_glWeightuivARB,
        null_glWeightusvARB,
        null_glWindowPos2d,
        null_glWindowPos2dARB,
        null_glWindowPos2dMESA,
        null_glWindowPos2dv,
        null_glWindowPos2dvARB,
        null_glWindowPos2dvMESA,
        null_glWindowPos2f,
        null_glWindowPos2fARB,
        null_glWindowPos2fMESA,
        null_glWindowPos2fv,
        null_glWindowPos2fvARB,
        null_glWindowPos2fvMESA,
        null_glWindowPos2i,
        null_glWindowPos2iARB,
        null_glWindowPos2iMESA,
        null_glWindowPos2iv,
        null_glWindowPos2ivARB,
        null_glWindowPos2ivMESA,
        null_glWindowPos2s,
        null_glWindowPos2sARB,
        null_glWindowPos2sMESA,
        null_glWindowPos2sv,
        null_glWindowPos2svARB,
        null_glWindowPos2svMESA,
        null_glWindowPos3d,
        null_glWindowPos3dARB,
        null_glWindowPos3dMESA,
        null_glWindowPos3dv,
        null_glWindowPos3dvARB,
        null_glWindowPos3dvMESA,
        null_glWindowPos3f,
        null_glWindowPos3fARB,
        null_glWindowPos3fMESA,
        null_glWindowPos3fv,
        null_glWindowPos3fvARB,
        null_glWindowPos3fvMESA,
        null_glWindowPos3i,
        null_glWindowPos3iARB,
        null_glWindowPos3iMESA,
        null_glWindowPos3iv,
        null_glWindowPos3ivARB,
        null_glWindowPos3ivMESA,
        null_glWindowPos3s,
        null_glWindowPos3sARB,
        null_glWindowPos3sMESA,
        null_glWindowPos3sv,
        null_glWindowPos3svARB,
        null_glWindowPos3svMESA,
        null_glWindowPos4dMESA,
        null_glWindowPos4dvMESA,
        null_glWindowPos4fMESA,
        null_glWindowPos4fvMESA,
        null_glWindowPos4iMESA,
        null_glWindowPos4ivMESA,
        null_glWindowPos4sMESA,
        null_glWindowPos4svMESA,
        null_glWindowRectanglesEXT,
        null_glWriteMaskEXT,
        null_wglAllocateMemoryNV,
        null_wglBindTexImageARB,
        null_wglChoosePixelFormatARB,
        null_wglCreateContextAttribsARB,
        null_wglCreatePbufferARB,
        null_wglDestroyPbufferARB,
        null_wglFreeMemoryNV,
        null_wglGetCurrentReadDCARB,
        null_wglGetExtensionsStringARB,
        null_wglGetExtensionsStringEXT,
        null_wglGetPbufferDCARB,
        null_wglGetPixelFormatAttribfvARB,
        null_wglGetPixelFormatAttribivARB,
        null_wglGetSwapIntervalEXT,
        null_wglMakeContextCurrentARB,
        null_wglQueryCurrentRendererIntegerWINE,
        null_wglQueryCurrentRendererStringWINE,
        null_wglQueryPbufferARB,
        null_wglQueryRendererIntegerWINE,
        null_wglQueryRendererStringWINE,
        null_wglReleasePbufferDCARB,
        null_wglReleaseTexImageARB,
        null_wglSetPbufferAttribARB,
        null_wglSetPixelFormatWINE,
        null_wglSwapIntervalEXT,
    },
};

const int extension_registry_size = 2694;
const struct registry_entry extension_registry[2694] =
{
    { "glAccumxOES", "GL_OES_fixed_point" },
    { "glAcquireKeyedMutexWin32EXT", "GL_EXT_win32_keyed_mutex" },
    { "glActiveProgramEXT", "GL_EXT_separate_shader_objects" },
    { "glActiveShaderProgram", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glActiveStencilFaceEXT", "GL_EXT_stencil_two_side" },
    { "glActiveTexture", "GL_VERSION_1_3" },
    { "glActiveTextureARB", "GL_ARB_multitexture" },
    { "glActiveVaryingNV", "GL_NV_transform_feedback" },
    { "glAlphaFragmentOp1ATI", "GL_ATI_fragment_shader" },
    { "glAlphaFragmentOp2ATI", "GL_ATI_fragment_shader" },
    { "glAlphaFragmentOp3ATI", "GL_ATI_fragment_shader" },
    { "glAlphaFuncxOES", "GL_OES_fixed_point" },
    { "glAlphaToCoverageDitherControlNV", "GL_NV_alpha_to_coverage_dither_control" },
    { "glApplyFramebufferAttachmentCMAAINTEL", "GL_INTEL_framebuffer_CMAA" },
    { "glApplyTextureEXT", "GL_EXT_light_texture" },
    { "glAreProgramsResidentNV", "GL_NV_vertex_program" },
    { "glAreTexturesResidentEXT", "GL_EXT_texture_object" },
    { "glArrayElementEXT", "GL_EXT_vertex_array" },
    { "glArrayObjectATI", "GL_ATI_vertex_array_object" },
    { "glAsyncCopyBufferSubDataNVX", "GL_NVX_gpu_multicast2" },
    { "glAsyncCopyImageSubDataNVX", "GL_NVX_gpu_multicast2" },
    { "glAsyncMarkerSGIX", "GL_SGIX_async" },
    { "glAttachObjectARB", "GL_ARB_shader_objects" },
    { "glAttachShader", "GL_VERSION_2_0" },
    { "glBeginConditionalRender", "GL_VERSION_3_0" },
    { "glBeginConditionalRenderNV", "GL_NV_conditional_render" },
    { "glBeginConditionalRenderNVX", "GL_NVX_conditional_render" },
    { "glBeginFragmentShaderATI", "GL_ATI_fragment_shader" },
    { "glBeginOcclusionQueryNV", "GL_NV_occlusion_query" },
    { "glBeginPerfMonitorAMD", "GL_AMD_performance_monitor" },
    { "glBeginPerfQueryINTEL", "GL_INTEL_performance_query" },
    { "glBeginQuery", "GL_VERSION_1_5" },
    { "glBeginQueryARB", "GL_ARB_occlusion_query" },
    { "glBeginQueryIndexed", "GL_ARB_transform_feedback3 GL_VERSION_4_0" },
    { "glBeginTransformFeedback", "GL_VERSION_3_0" },
    { "glBeginTransformFeedbackEXT", "GL_EXT_transform_feedback" },
    { "glBeginTransformFeedbackNV", "GL_NV_transform_feedback" },
    { "glBeginVertexShaderEXT", "GL_EXT_vertex_shader" },
    { "glBeginVideoCaptureNV", "GL_NV_video_capture" },
    { "glBindAttribLocation", "GL_VERSION_2_0" },
    { "glBindAttribLocationARB", "GL_ARB_vertex_shader" },
    { "glBindBuffer", "GL_VERSION_1_5" },
    { "glBindBufferARB", "GL_ARB_vertex_buffer_object" },
    { "glBindBufferBase", "GL_ARB_uniform_buffer_object GL_VERSION_3_0" },
    { "glBindBufferBaseEXT", "GL_EXT_transform_feedback" },
    { "glBindBufferBaseNV", "GL_NV_transform_feedback" },
    { "glBindBufferOffsetEXT", "GL_EXT_transform_feedback" },
    { "glBindBufferOffsetNV", "GL_NV_transform_feedback" },
    { "glBindBufferRange", "GL_ARB_uniform_buffer_object GL_VERSION_3_0" },
    { "glBindBufferRangeEXT", "GL_EXT_transform_feedback" },
    { "glBindBufferRangeNV", "GL_NV_transform_feedback" },
    { "glBindBuffersBase", "GL_ARB_multi_bind GL_VERSION_4_4" },
    { "glBindBuffersRange", "GL_ARB_multi_bind GL_VERSION_4_4" },
    { "glBindFragDataLocation", "GL_VERSION_3_0" },
    { "glBindFragDataLocationEXT", "GL_EXT_gpu_shader4" },
    { "glBindFragDataLocationIndexed", "GL_ARB_blend_func_extended GL_VERSION_3_3" },
    { "glBindFragmentShaderATI", "GL_ATI_fragment_shader" },
    { "glBindFramebuffer", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glBindFramebufferEXT", "GL_EXT_framebuffer_object" },
    { "glBindImageTexture", "GL_ARB_shader_image_load_store GL_VERSION_4_2" },
    { "glBindImageTextureEXT", "GL_EXT_shader_image_load_store" },
    { "glBindImageTextures", "GL_ARB_multi_bind GL_VERSION_4_4" },
    { "glBindLightParameterEXT", "GL_EXT_vertex_shader" },
    { "glBindMaterialParameterEXT", "GL_EXT_vertex_shader" },
    { "glBindMultiTextureEXT", "GL_EXT_direct_state_access" },
    { "glBindParameterEXT", "GL_EXT_vertex_shader" },
    { "glBindProgramARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glBindProgramNV", "GL_NV_vertex_program" },
    { "glBindProgramPipeline", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glBindRenderbuffer", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glBindRenderbufferEXT", "GL_EXT_framebuffer_object" },
    { "glBindSampler", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glBindSamplers", "GL_ARB_multi_bind GL_VERSION_4_4" },
    { "glBindShadingRateImageNV", "GL_NV_shading_rate_image" },
    { "glBindTexGenParameterEXT", "GL_EXT_vertex_shader" },
    { "glBindTextureEXT", "GL_EXT_texture_object" },
    { "glBindTextureUnit", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glBindTextureUnitParameterEXT", "GL_EXT_vertex_shader" },
    { "glBindTextures", "GL_ARB_multi_bind GL_VERSION_4_4" },
    { "glBindTransformFeedback", "GL_ARB_transform_feedback2 GL_VERSION_4_0" },
    { "glBindTransformFeedbackNV", "GL_NV_transform_feedback2" },
    { "glBindVertexArray", "GL_ARB_vertex_array_object GL_VERSION_3_0" },
    { "glBindVertexArrayAPPLE", "GL_APPLE_vertex_array_object" },
    { "glBindVertexBuffer", "GL_ARB_vertex_attrib_binding GL_VERSION_4_3" },
    { "glBindVertexBuffers", "GL_ARB_multi_bind GL_VERSION_4_4" },
    { "glBindVertexShaderEXT", "GL_EXT_vertex_shader" },
    { "glBindVideoCaptureStreamBufferNV", "GL_NV_video_capture" },
    { "glBindVideoCaptureStreamTextureNV", "GL_NV_video_capture" },
    { "glBinormal3bEXT", "GL_EXT_coordinate_frame" },
    { "glBinormal3bvEXT", "GL_EXT_coordinate_frame" },
    { "glBinormal3dEXT", "GL_EXT_coordinate_frame" },
    { "glBinormal3dvEXT", "GL_EXT_coordinate_frame" },
    { "glBinormal3fEXT", "GL_EXT_coordinate_frame" },
    { "glBinormal3fvEXT", "GL_EXT_coordinate_frame" },
    { "glBinormal3iEXT", "GL_EXT_coordinate_frame" },
    { "glBinormal3ivEXT", "GL_EXT_coordinate_frame" },
    { "glBinormal3sEXT", "GL_EXT_coordinate_frame" },
    { "glBinormal3svEXT", "GL_EXT_coordinate_frame" },
    { "glBinormalPointerEXT", "GL_EXT_coordinate_frame" },
    { "glBitmapxOES", "GL_OES_fixed_point" },
    { "glBlendBarrierKHR", "GL_KHR_blend_equation_advanced" },
    { "glBlendBarrierNV", "GL_NV_blend_equation_advanced" },
    { "glBlendColor", "GL_ARB_imaging GL_VERSION_1_4" },
    { "glBlendColorEXT", "GL_EXT_blend_color" },
    { "glBlendColorxOES", "GL_OES_fixed_point" },
    { "glBlendEquation", "GL_ARB_imaging GL_VERSION_1_4" },
    { "glBlendEquationEXT", "GL_EXT_blend_minmax" },
    { "glBlendEquationIndexedAMD", "GL_AMD_draw_buffers_blend" },
    { "glBlendEquationSeparate", "GL_VERSION_2_0" },
    { "glBlendEquationSeparateEXT", "GL_EXT_blend_equation_separate" },
    { "glBlendEquationSeparateIndexedAMD", "GL_AMD_draw_buffers_blend" },
    { "glBlendEquationSeparatei", "GL_VERSION_4_0" },
    { "glBlendEquationSeparateiARB", "GL_ARB_draw_buffers_blend" },
    { "glBlendEquationi", "GL_VERSION_4_0" },
    { "glBlendEquationiARB", "GL_ARB_draw_buffers_blend" },
    { "glBlendFuncIndexedAMD", "GL_AMD_draw_buffers_blend" },
    { "glBlendFuncSeparate", "GL_VERSION_1_4" },
    { "glBlendFuncSeparateEXT", "GL_EXT_blend_func_separate" },
    { "glBlendFuncSeparateINGR", "GL_INGR_blend_func_separate" },
    { "glBlendFuncSeparateIndexedAMD", "GL_AMD_draw_buffers_blend" },
    { "glBlendFuncSeparatei", "GL_VERSION_4_0" },
    { "glBlendFuncSeparateiARB", "GL_ARB_draw_buffers_blend" },
    { "glBlendFunci", "GL_VERSION_4_0" },
    { "glBlendFunciARB", "GL_ARB_draw_buffers_blend" },
    { "glBlendParameteriNV", "GL_NV_blend_equation_advanced" },
    { "glBlitFramebuffer", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glBlitFramebufferEXT", "GL_EXT_framebuffer_blit" },
    { "glBlitNamedFramebuffer", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glBufferAddressRangeNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glBufferAttachMemoryNV", "GL_NV_memory_attachment" },
    { "glBufferData", "GL_VERSION_1_5" },
    { "glBufferDataARB", "GL_ARB_vertex_buffer_object" },
    { "glBufferPageCommitmentARB", "GL_ARB_sparse_buffer" },
    { "glBufferParameteriAPPLE", "GL_APPLE_flush_buffer_range" },
    { "glBufferRegionEnabled", "GL_KTX_buffer_region" },
    { "glBufferStorage", "GL_ARB_buffer_storage GL_VERSION_4_4" },
    { "glBufferStorageExternalEXT", "GL_EXT_external_buffer" },
    { "glBufferStorageMemEXT", "GL_EXT_memory_object" },
    { "glBufferSubData", "GL_VERSION_1_5" },
    { "glBufferSubDataARB", "GL_ARB_vertex_buffer_object" },
    { "glCallCommandListNV", "GL_NV_command_list" },
    { "glCheckFramebufferStatus", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glCheckFramebufferStatusEXT", "GL_EXT_framebuffer_object" },
    { "glCheckNamedFramebufferStatus", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCheckNamedFramebufferStatusEXT", "GL_EXT_direct_state_access" },
    { "glClampColor", "GL_VERSION_3_0" },
    { "glClampColorARB", "GL_ARB_color_buffer_float" },
    { "glClearAccumxOES", "GL_OES_fixed_point" },
    { "glClearBufferData", "GL_ARB_clear_buffer_object GL_VERSION_4_3" },
    { "glClearBufferSubData", "GL_ARB_clear_buffer_object GL_VERSION_4_3" },
    { "glClearBufferfi", "GL_VERSION_3_0" },
    { "glClearBufferfv", "GL_VERSION_3_0" },
    { "glClearBufferiv", "GL_VERSION_3_0" },
    { "glClearBufferuiv", "GL_VERSION_3_0" },
    { "glClearColorIiEXT", "GL_EXT_texture_integer" },
    { "glClearColorIuiEXT", "GL_EXT_texture_integer" },
    { "glClearColorxOES", "GL_OES_fixed_point" },
    { "glClearDepthdNV", "GL_NV_depth_buffer_float" },
    { "glClearDepthf", "GL_ARB_ES2_compatibility GL_VERSION_4_1" },
    { "glClearDepthfOES", "GL_OES_single_precision" },
    { "glClearDepthxOES", "GL_OES_fixed_point" },
    { "glClearNamedBufferData", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glClearNamedBufferDataEXT", "GL_EXT_direct_state_access" },
    { "glClearNamedBufferSubData", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glClearNamedBufferSubDataEXT", "GL_EXT_direct_state_access" },
    { "glClearNamedFramebufferfi", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glClearNamedFramebufferfv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glClearNamedFramebufferiv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glClearNamedFramebufferuiv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glClearTexImage", "GL_ARB_clear_texture GL_VERSION_4_4" },
    { "glClearTexSubImage", "GL_ARB_clear_texture GL_VERSION_4_4" },
    { "glClientActiveTexture", "GL_VERSION_1_3" },
    { "glClientActiveTextureARB", "GL_ARB_multitexture" },
    { "glClientActiveVertexStreamATI", "GL_ATI_vertex_streams" },
    { "glClientAttribDefaultEXT", "GL_EXT_direct_state_access" },
    { "glClientWaitSemaphoreui64NVX", "GL_NVX_progress_fence" },
    { "glClientWaitSync", "GL_ARB_sync GL_VERSION_3_2" },
    { "glClipControl", "GL_ARB_clip_control GL_VERSION_4_5" },
    { "glClipPlanefOES", "GL_OES_single_precision" },
    { "glClipPlanexOES", "GL_OES_fixed_point" },
    { "glColor3fVertex3fSUN", "GL_SUN_vertex" },
    { "glColor3fVertex3fvSUN", "GL_SUN_vertex" },
    { "glColor3hNV", "GL_NV_half_float" },
    { "glColor3hvNV", "GL_NV_half_float" },
    { "glColor3xOES", "GL_OES_fixed_point" },
    { "glColor3xvOES", "GL_OES_fixed_point" },
    { "glColor4fNormal3fVertex3fSUN", "GL_SUN_vertex" },
    { "glColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex" },
    { "glColor4hNV", "GL_NV_half_float" },
    { "glColor4hvNV", "GL_NV_half_float" },
    { "glColor4ubVertex2fSUN", "GL_SUN_vertex" },
    { "glColor4ubVertex2fvSUN", "GL_SUN_vertex" },
    { "glColor4ubVertex3fSUN", "GL_SUN_vertex" },
    { "glColor4ubVertex3fvSUN", "GL_SUN_vertex" },
    { "glColor4xOES", "GL_OES_fixed_point" },
    { "glColor4xvOES", "GL_OES_fixed_point" },
    { "glColorFormatNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glColorFragmentOp1ATI", "GL_ATI_fragment_shader" },
    { "glColorFragmentOp2ATI", "GL_ATI_fragment_shader" },
    { "glColorFragmentOp3ATI", "GL_ATI_fragment_shader" },
    { "glColorMaskIndexedEXT", "GL_EXT_draw_buffers2" },
    { "glColorMaski", "GL_VERSION_3_0" },
    { "glColorP3ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glColorP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glColorP4ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glColorP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glColorPointerEXT", "GL_EXT_vertex_array" },
    { "glColorPointerListIBM", "GL_IBM_vertex_array_lists" },
    { "glColorPointervINTEL", "GL_INTEL_parallel_arrays" },
    { "glColorSubTable", "GL_ARB_imaging" },
    { "glColorSubTableEXT", "GL_EXT_color_subtable" },
    { "glColorTable", "GL_ARB_imaging" },
    { "glColorTableEXT", "GL_EXT_paletted_texture" },
    { "glColorTableParameterfv", "GL_ARB_imaging" },
    { "glColorTableParameterfvSGI", "GL_SGI_color_table" },
    { "glColorTableParameteriv", "GL_ARB_imaging" },
    { "glColorTableParameterivSGI", "GL_SGI_color_table" },
    { "glColorTableSGI", "GL_SGI_color_table" },
    { "glCombinerInputNV", "GL_NV_register_combiners" },
    { "glCombinerOutputNV", "GL_NV_register_combiners" },
    { "glCombinerParameterfNV", "GL_NV_register_combiners" },
    { "glCombinerParameterfvNV", "GL_NV_register_combiners" },
    { "glCombinerParameteriNV", "GL_NV_register_combiners" },
    { "glCombinerParameterivNV", "GL_NV_register_combiners" },
    { "glCombinerStageParameterfvNV", "GL_NV_register_combiners2" },
    { "glCommandListSegmentsNV", "GL_NV_command_list" },
    { "glCompileCommandListNV", "GL_NV_command_list" },
    { "glCompileShader", "GL_VERSION_2_0" },
    { "glCompileShaderARB", "GL_ARB_shader_objects" },
    { "glCompileShaderIncludeARB", "GL_ARB_shading_language_include" },
    { "glCompressedMultiTexImage1DEXT", "GL_EXT_direct_state_access" },
    { "glCompressedMultiTexImage2DEXT", "GL_EXT_direct_state_access" },
    { "glCompressedMultiTexImage3DEXT", "GL_EXT_direct_state_access" },
    { "glCompressedMultiTexSubImage1DEXT", "GL_EXT_direct_state_access" },
    { "glCompressedMultiTexSubImage2DEXT", "GL_EXT_direct_state_access" },
    { "glCompressedMultiTexSubImage3DEXT", "GL_EXT_direct_state_access" },
    { "glCompressedTexImage1D", "GL_VERSION_1_3" },
    { "glCompressedTexImage1DARB", "GL_ARB_texture_compression" },
    { "glCompressedTexImage2D", "GL_VERSION_1_3" },
    { "glCompressedTexImage2DARB", "GL_ARB_texture_compression" },
    { "glCompressedTexImage3D", "GL_VERSION_1_3" },
    { "glCompressedTexImage3DARB", "GL_ARB_texture_compression" },
    { "glCompressedTexSubImage1D", "GL_VERSION_1_3" },
    { "glCompressedTexSubImage1DARB", "GL_ARB_texture_compression" },
    { "glCompressedTexSubImage2D", "GL_VERSION_1_3" },
    { "glCompressedTexSubImage2DARB", "GL_ARB_texture_compression" },
    { "glCompressedTexSubImage3D", "GL_VERSION_1_3" },
    { "glCompressedTexSubImage3DARB", "GL_ARB_texture_compression" },
    { "glCompressedTextureImage1DEXT", "GL_EXT_direct_state_access" },
    { "glCompressedTextureImage2DEXT", "GL_EXT_direct_state_access" },
    { "glCompressedTextureImage3DEXT", "GL_EXT_direct_state_access" },
    { "glCompressedTextureSubImage1D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCompressedTextureSubImage1DEXT", "GL_EXT_direct_state_access" },
    { "glCompressedTextureSubImage2D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCompressedTextureSubImage2DEXT", "GL_EXT_direct_state_access" },
    { "glCompressedTextureSubImage3D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCompressedTextureSubImage3DEXT", "GL_EXT_direct_state_access" },
    { "glConservativeRasterParameterfNV", "GL_NV_conservative_raster_dilate" },
    { "glConservativeRasterParameteriNV", "GL_NV_conservative_raster_pre_snap_triangles" },
    { "glConvolutionFilter1D", "GL_ARB_imaging" },
    { "glConvolutionFilter1DEXT", "GL_EXT_convolution" },
    { "glConvolutionFilter2D", "GL_ARB_imaging" },
    { "glConvolutionFilter2DEXT", "GL_EXT_convolution" },
    { "glConvolutionParameterf", "GL_ARB_imaging" },
    { "glConvolutionParameterfEXT", "GL_EXT_convolution" },
    { "glConvolutionParameterfv", "GL_ARB_imaging" },
    { "glConvolutionParameterfvEXT", "GL_EXT_convolution" },
    { "glConvolutionParameteri", "GL_ARB_imaging" },
    { "glConvolutionParameteriEXT", "GL_EXT_convolution" },
    { "glConvolutionParameteriv", "GL_ARB_imaging" },
    { "glConvolutionParameterivEXT", "GL_EXT_convolution" },
    { "glConvolutionParameterxOES", "GL_OES_fixed_point" },
    { "glConvolutionParameterxvOES", "GL_OES_fixed_point" },
    { "glCopyBufferSubData", "GL_ARB_copy_buffer GL_VERSION_3_1" },
    { "glCopyColorSubTable", "GL_ARB_imaging" },
    { "glCopyColorSubTableEXT", "GL_EXT_color_subtable" },
    { "glCopyColorTable", "GL_ARB_imaging" },
    { "glCopyColorTableSGI", "GL_SGI_color_table" },
    { "glCopyConvolutionFilter1D", "GL_ARB_imaging" },
    { "glCopyConvolutionFilter1DEXT", "GL_EXT_convolution" },
    { "glCopyConvolutionFilter2D", "GL_ARB_imaging" },
    { "glCopyConvolutionFilter2DEXT", "GL_EXT_convolution" },
    { "glCopyImageSubData", "GL_ARB_copy_image GL_VERSION_4_3" },
    { "glCopyImageSubDataNV", "GL_NV_copy_image" },
    { "glCopyMultiTexImage1DEXT", "GL_EXT_direct_state_access" },
    { "glCopyMultiTexImage2DEXT", "GL_EXT_direct_state_access" },
    { "glCopyMultiTexSubImage1DEXT", "GL_EXT_direct_state_access" },
    { "glCopyMultiTexSubImage2DEXT", "GL_EXT_direct_state_access" },
    { "glCopyMultiTexSubImage3DEXT", "GL_EXT_direct_state_access" },
    { "glCopyNamedBufferSubData", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCopyPathNV", "GL_NV_path_rendering" },
    { "glCopyTexImage1DEXT", "GL_EXT_copy_texture" },
    { "glCopyTexImage2DEXT", "GL_EXT_copy_texture" },
    { "glCopyTexSubImage1DEXT", "GL_EXT_copy_texture" },
    { "glCopyTexSubImage2DEXT", "GL_EXT_copy_texture" },
    { "glCopyTexSubImage3D", "GL_VERSION_1_2" },
    { "glCopyTexSubImage3DEXT", "GL_EXT_copy_texture" },
    { "glCopyTextureImage1DEXT", "GL_EXT_direct_state_access" },
    { "glCopyTextureImage2DEXT", "GL_EXT_direct_state_access" },
    { "glCopyTextureSubImage1D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCopyTextureSubImage1DEXT", "GL_EXT_direct_state_access" },
    { "glCopyTextureSubImage2D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCopyTextureSubImage2DEXT", "GL_EXT_direct_state_access" },
    { "glCopyTextureSubImage3D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCopyTextureSubImage3DEXT", "GL_EXT_direct_state_access" },
    { "glCoverFillPathInstancedNV", "GL_NV_path_rendering" },
    { "glCoverFillPathNV", "GL_NV_path_rendering" },
    { "glCoverStrokePathInstancedNV", "GL_NV_path_rendering" },
    { "glCoverStrokePathNV", "GL_NV_path_rendering" },
    { "glCoverageModulationNV", "GL_NV_framebuffer_mixed_samples" },
    { "glCoverageModulationTableNV", "GL_NV_framebuffer_mixed_samples" },
    { "glCreateBuffers", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCreateCommandListsNV", "GL_NV_command_list" },
    { "glCreateFramebuffers", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCreateMemoryObjectsEXT", "GL_EXT_memory_object" },
    { "glCreatePerfQueryINTEL", "GL_INTEL_performance_query" },
    { "glCreateProgram", "GL_VERSION_2_0" },
    { "glCreateProgramObjectARB", "GL_ARB_shader_objects" },
    { "glCreateProgramPipelines", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCreateProgressFenceNVX", "GL_NVX_progress_fence" },
    { "glCreateQueries", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCreateRenderbuffers", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCreateSamplers", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCreateShader", "GL_VERSION_2_0" },
    { "glCreateShaderObjectARB", "GL_ARB_shader_objects" },
    { "glCreateShaderProgramEXT", "GL_EXT_separate_shader_objects" },
    { "glCreateShaderProgramv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glCreateStatesNV", "GL_NV_command_list" },
    { "glCreateSyncFromCLeventARB", "GL_ARB_cl_event" },
    { "glCreateTextures", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCreateTransformFeedbacks", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCreateVertexArrays", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glCullParameterdvEXT", "GL_EXT_cull_vertex" },
    { "glCullParameterfvEXT", "GL_EXT_cull_vertex" },
    { "glCurrentPaletteMatrixARB", "GL_ARB_matrix_palette" },
    { "glDebugMessageCallback", "GL_KHR_debug GL_VERSION_4_3" },
    { "glDebugMessageCallbackAMD", "GL_AMD_debug_output" },
    { "glDebugMessageCallbackARB", "GL_ARB_debug_output" },
    { "glDebugMessageControl", "GL_KHR_debug GL_VERSION_4_3" },
    { "glDebugMessageControlARB", "GL_ARB_debug_output" },
    { "glDebugMessageEnableAMD", "GL_AMD_debug_output" },
    { "glDebugMessageInsert", "GL_KHR_debug GL_VERSION_4_3" },
    { "glDebugMessageInsertAMD", "GL_AMD_debug_output" },
    { "glDebugMessageInsertARB", "GL_ARB_debug_output" },
    { "glDeformSGIX", "GL_SGIX_polynomial_ffd" },
    { "glDeformationMap3dSGIX", "GL_SGIX_polynomial_ffd" },
    { "glDeformationMap3fSGIX", "GL_SGIX_polynomial_ffd" },
    { "glDeleteAsyncMarkersSGIX", "GL_SGIX_async" },
    { "glDeleteBufferRegion", "GL_KTX_buffer_region" },
    { "glDeleteBuffers", "GL_VERSION_1_5" },
    { "glDeleteBuffersARB", "GL_ARB_vertex_buffer_object" },
    { "glDeleteCommandListsNV", "GL_NV_command_list" },
    { "glDeleteFencesAPPLE", "GL_APPLE_fence" },
    { "glDeleteFencesNV", "GL_NV_fence" },
    { "glDeleteFragmentShaderATI", "GL_ATI_fragment_shader" },
    { "glDeleteFramebuffers", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glDeleteFramebuffersEXT", "GL_EXT_framebuffer_object" },
    { "glDeleteMemoryObjectsEXT", "GL_EXT_memory_object" },
    { "glDeleteNamedStringARB", "GL_ARB_shading_language_include" },
    { "glDeleteNamesAMD", "GL_AMD_name_gen_delete" },
    { "glDeleteObjectARB", "GL_ARB_shader_objects" },
    { "glDeleteObjectBufferATI", "GL_ATI_vertex_array_object" },
    { "glDeleteOcclusionQueriesNV", "GL_NV_occlusion_query" },
    { "glDeletePathsNV", "GL_NV_path_rendering" },
    { "glDeletePerfMonitorsAMD", "GL_AMD_performance_monitor" },
    { "glDeletePerfQueryINTEL", "GL_INTEL_performance_query" },
    { "glDeleteProgram", "GL_VERSION_2_0" },
    { "glDeleteProgramPipelines", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glDeleteProgramsARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glDeleteProgramsNV", "GL_NV_vertex_program" },
    { "glDeleteQueries", "GL_VERSION_1_5" },
    { "glDeleteQueriesARB", "GL_ARB_occlusion_query" },
    { "glDeleteQueryResourceTagNV", "GL_NV_query_resource_tag" },
    { "glDeleteRenderbuffers", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glDeleteRenderbuffersEXT", "GL_EXT_framebuffer_object" },
    { "glDeleteSamplers", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glDeleteSemaphoresEXT", "GL_EXT_semaphore" },
    { "glDeleteShader", "GL_VERSION_2_0" },
    { "glDeleteStatesNV", "GL_NV_command_list" },
    { "glDeleteSync", "GL_ARB_sync GL_VERSION_3_2" },
    { "glDeleteTexturesEXT", "GL_EXT_texture_object" },
    { "glDeleteTransformFeedbacks", "GL_ARB_transform_feedback2 GL_VERSION_4_0" },
    { "glDeleteTransformFeedbacksNV", "GL_NV_transform_feedback2" },
    { "glDeleteVertexArrays", "GL_ARB_vertex_array_object GL_VERSION_3_0" },
    { "glDeleteVertexArraysAPPLE", "GL_APPLE_vertex_array_object" },
    { "glDeleteVertexShaderEXT", "GL_EXT_vertex_shader" },
    { "glDepthBoundsEXT", "GL_EXT_depth_bounds_test" },
    { "glDepthBoundsdNV", "GL_NV_depth_buffer_float" },
    { "glDepthRangeArraydvNV", "GL_ARB_viewport_array" },
    { "glDepthRangeArrayv", "GL_ARB_viewport_array GL_VERSION_4_1" },
    { "glDepthRangeIndexed", "GL_ARB_viewport_array GL_VERSION_4_1" },
    { "glDepthRangeIndexeddNV", "GL_ARB_viewport_array" },
    { "glDepthRangedNV", "GL_NV_depth_buffer_float" },
    { "glDepthRangef", "GL_ARB_ES2_compatibility GL_VERSION_4_1" },
    { "glDepthRangefOES", "GL_OES_single_precision" },
    { "glDepthRangexOES", "GL_OES_fixed_point" },
    { "glDetachObjectARB", "GL_ARB_shader_objects" },
    { "glDetachShader", "GL_VERSION_2_0" },
    { "glDetailTexFuncSGIS", "GL_SGIS_detail_texture" },
    { "glDisableClientStateIndexedEXT", "GL_EXT_direct_state_access" },
    { "glDisableClientStateiEXT", "GL_EXT_direct_state_access" },
    { "glDisableIndexedEXT", "GL_EXT_direct_state_access GL_EXT_draw_buffers2" },
    { "glDisableVariantClientStateEXT", "GL_EXT_vertex_shader" },
    { "glDisableVertexArrayAttrib", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glDisableVertexArrayAttribEXT", "GL_EXT_direct_state_access" },
    { "glDisableVertexArrayEXT", "GL_EXT_direct_state_access" },
    { "glDisableVertexAttribAPPLE", "GL_APPLE_vertex_program_evaluators" },
    { "glDisableVertexAttribArray", "GL_VERSION_2_0" },
    { "glDisableVertexAttribArrayARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glDisablei", "GL_VERSION_3_0" },
    { "glDispatchCompute", "GL_ARB_compute_shader GL_VERSION_4_3" },
    { "glDispatchComputeGroupSizeARB", "GL_ARB_compute_variable_group_size" },
    { "glDispatchComputeIndirect", "GL_ARB_compute_shader GL_VERSION_4_3" },
    { "glDrawArraysEXT", "GL_EXT_vertex_array" },
    { "glDrawArraysIndirect", "GL_ARB_draw_indirect GL_VERSION_4_0" },
    { "glDrawArraysInstanced", "GL_VERSION_3_1" },
    { "glDrawArraysInstancedARB", "GL_ARB_draw_instanced" },
    { "glDrawArraysInstancedBaseInstance", "GL_ARB_base_instance GL_VERSION_4_2" },
    { "glDrawArraysInstancedEXT", "GL_EXT_draw_instanced" },
    { "glDrawBufferRegion", "GL_KTX_buffer_region" },
    { "glDrawBuffers", "GL_VERSION_2_0" },
    { "glDrawBuffersARB", "GL_ARB_draw_buffers" },
    { "glDrawBuffersATI", "GL_ATI_draw_buffers" },
    { "glDrawCommandsAddressNV", "GL_NV_command_list" },
    { "glDrawCommandsNV", "GL_NV_command_list" },
    { "glDrawCommandsStatesAddressNV", "GL_NV_command_list" },
    { "glDrawCommandsStatesNV", "GL_NV_command_list" },
    { "glDrawElementArrayAPPLE", "GL_APPLE_element_array" },
    { "glDrawElementArrayATI", "GL_ATI_element_array" },
    { "glDrawElementsBaseVertex", "GL_ARB_draw_elements_base_vertex GL_VERSION_3_2" },
    { "glDrawElementsIndirect", "GL_ARB_draw_indirect GL_VERSION_4_0" },
    { "glDrawElementsInstanced", "GL_VERSION_3_1" },
    { "glDrawElementsInstancedARB", "GL_ARB_draw_instanced" },
    { "glDrawElementsInstancedBaseInstance", "GL_ARB_base_instance GL_VERSION_4_2" },
    { "glDrawElementsInstancedBaseVertex", "GL_ARB_draw_elements_base_vertex GL_VERSION_3_2" },
    { "glDrawElementsInstancedBaseVertexBaseInstance", "GL_ARB_base_instance GL_VERSION_4_2" },
    { "glDrawElementsInstancedEXT", "GL_EXT_draw_instanced" },
    { "glDrawMeshArraysSUN", "GL_SUN_mesh_array" },
    { "glDrawMeshTasksIndirectNV", "GL_NV_mesh_shader" },
    { "glDrawMeshTasksNV", "GL_NV_mesh_shader" },
    { "glDrawRangeElementArrayAPPLE", "GL_APPLE_element_array" },
    { "glDrawRangeElementArrayATI", "GL_ATI_element_array" },
    { "glDrawRangeElements", "GL_VERSION_1_2" },
    { "glDrawRangeElementsBaseVertex", "GL_ARB_draw_elements_base_vertex GL_VERSION_3_2" },
    { "glDrawRangeElementsEXT", "GL_EXT_draw_range_elements" },
    { "glDrawTextureNV", "GL_NV_draw_texture" },
    { "glDrawTransformFeedback", "GL_ARB_transform_feedback2 GL_VERSION_4_0" },
    { "glDrawTransformFeedbackInstanced", "GL_ARB_transform_feedback_instanced GL_VERSION_4_2" },
    { "glDrawTransformFeedbackNV", "GL_NV_transform_feedback2" },
    { "glDrawTransformFeedbackStream", "GL_ARB_transform_feedback3 GL_VERSION_4_0" },
    { "glDrawTransformFeedbackStreamInstanced", "GL_ARB_transform_feedback_instanced GL_VERSION_4_2" },
    { "glDrawVkImageNV", "GL_NV_draw_vulkan_image" },
    { "glEGLImageTargetTexStorageEXT", "GL_EXT_EGL_image_storage" },
    { "glEGLImageTargetTextureStorageEXT", "GL_EXT_EGL_image_storage" },
    { "glEdgeFlagFormatNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glEdgeFlagPointerEXT", "GL_EXT_vertex_array" },
    { "glEdgeFlagPointerListIBM", "GL_IBM_vertex_array_lists" },
    { "glElementPointerAPPLE", "GL_APPLE_element_array" },
    { "glElementPointerATI", "GL_ATI_element_array" },
    { "glEnableClientStateIndexedEXT", "GL_EXT_direct_state_access" },
    { "glEnableClientStateiEXT", "GL_EXT_direct_state_access" },
    { "glEnableIndexedEXT", "GL_EXT_direct_state_access GL_EXT_draw_buffers2" },
    { "glEnableVariantClientStateEXT", "GL_EXT_vertex_shader" },
    { "glEnableVertexArrayAttrib", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glEnableVertexArrayAttribEXT", "GL_EXT_direct_state_access" },
    { "glEnableVertexArrayEXT", "GL_EXT_direct_state_access" },
    { "glEnableVertexAttribAPPLE", "GL_APPLE_vertex_program_evaluators" },
    { "glEnableVertexAttribArray", "GL_VERSION_2_0" },
    { "glEnableVertexAttribArrayARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glEnablei", "GL_VERSION_3_0" },
    { "glEndConditionalRender", "GL_VERSION_3_0" },
    { "glEndConditionalRenderNV", "GL_NV_conditional_render" },
    { "glEndConditionalRenderNVX", "GL_NVX_conditional_render" },
    { "glEndFragmentShaderATI", "GL_ATI_fragment_shader" },
    { "glEndOcclusionQueryNV", "GL_NV_occlusion_query" },
    { "glEndPerfMonitorAMD", "GL_AMD_performance_monitor" },
    { "glEndPerfQueryINTEL", "GL_INTEL_performance_query" },
    { "glEndQuery", "GL_VERSION_1_5" },
    { "glEndQueryARB", "GL_ARB_occlusion_query" },
    { "glEndQueryIndexed", "GL_ARB_transform_feedback3 GL_VERSION_4_0" },
    { "glEndTransformFeedback", "GL_VERSION_3_0" },
    { "glEndTransformFeedbackEXT", "GL_EXT_transform_feedback" },
    { "glEndTransformFeedbackNV", "GL_NV_transform_feedback" },
    { "glEndVertexShaderEXT", "GL_EXT_vertex_shader" },
    { "glEndVideoCaptureNV", "GL_NV_video_capture" },
    { "glEvalCoord1xOES", "GL_OES_fixed_point" },
    { "glEvalCoord1xvOES", "GL_OES_fixed_point" },
    { "glEvalCoord2xOES", "GL_OES_fixed_point" },
    { "glEvalCoord2xvOES", "GL_OES_fixed_point" },
    { "glEvalMapsNV", "GL_NV_evaluators" },
    { "glEvaluateDepthValuesARB", "GL_ARB_sample_locations" },
    { "glExecuteProgramNV", "GL_NV_vertex_program" },
    { "glExtractComponentEXT", "GL_EXT_vertex_shader" },
    { "glFeedbackBufferxOES", "GL_OES_fixed_point" },
    { "glFenceSync", "GL_ARB_sync GL_VERSION_3_2" },
    { "glFinalCombinerInputNV", "GL_NV_register_combiners" },
    { "glFinishAsyncSGIX", "GL_SGIX_async" },
    { "glFinishFenceAPPLE", "GL_APPLE_fence" },
    { "glFinishFenceNV", "GL_NV_fence" },
    { "glFinishObjectAPPLE", "GL_APPLE_fence" },
    { "glFinishTextureSUNX", "GL_SUNX_constant_data" },
    { "glFlushMappedBufferRange", "GL_ARB_map_buffer_range GL_VERSION_3_0" },
    { "glFlushMappedBufferRangeAPPLE", "GL_APPLE_flush_buffer_range" },
    { "glFlushMappedNamedBufferRange", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glFlushMappedNamedBufferRangeEXT", "GL_EXT_direct_state_access" },
    { "glFlushPixelDataRangeNV", "GL_NV_pixel_data_range" },
    { "glFlushRasterSGIX", "GL_SGIX_flush_raster" },
    { "glFlushStaticDataIBM", "GL_IBM_static_data" },
    { "glFlushVertexArrayRangeAPPLE", "GL_APPLE_vertex_array_range" },
    { "glFlushVertexArrayRangeNV", "GL_NV_vertex_array_range" },
    { "glFogCoordFormatNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glFogCoordPointer", "GL_VERSION_1_4" },
    { "glFogCoordPointerEXT", "GL_EXT_fog_coord" },
    { "glFogCoordPointerListIBM", "GL_IBM_vertex_array_lists" },
    { "glFogCoordd", "GL_VERSION_1_4" },
    { "glFogCoorddEXT", "GL_EXT_fog_coord" },
    { "glFogCoorddv", "GL_VERSION_1_4" },
    { "glFogCoorddvEXT", "GL_EXT_fog_coord" },
    { "glFogCoordf", "GL_VERSION_1_4" },
    { "glFogCoordfEXT", "GL_EXT_fog_coord" },
    { "glFogCoordfv", "GL_VERSION_1_4" },
    { "glFogCoordfvEXT", "GL_EXT_fog_coord" },
    { "glFogCoordhNV", "GL_NV_half_float" },
    { "glFogCoordhvNV", "GL_NV_half_float" },
    { "glFogFuncSGIS", "GL_SGIS_fog_function" },
    { "glFogxOES", "GL_OES_fixed_point" },
    { "glFogxvOES", "GL_OES_fixed_point" },
    { "glFragmentColorMaterialSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentCoverageColorNV", "GL_NV_fragment_coverage_to_color" },
    { "glFragmentLightModelfSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentLightModelfvSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentLightModeliSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentLightModelivSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentLightfSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentLightfvSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentLightiSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentLightivSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentMaterialfSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentMaterialfvSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentMaterialiSGIX", "GL_SGIX_fragment_lighting" },
    { "glFragmentMaterialivSGIX", "GL_SGIX_fragment_lighting" },
    { "glFrameTerminatorGREMEDY", "GL_GREMEDY_frame_terminator" },
    { "glFrameZoomSGIX", "GL_SGIX_framezoom" },
    { "glFramebufferDrawBufferEXT", "GL_EXT_direct_state_access" },
    { "glFramebufferDrawBuffersEXT", "GL_EXT_direct_state_access" },
    { "glFramebufferFetchBarrierEXT", "GL_EXT_shader_framebuffer_fetch_non_coherent" },
    { "glFramebufferParameteri", "GL_ARB_framebuffer_no_attachments GL_VERSION_4_3" },
    { "glFramebufferParameteriMESA", "GL_MESA_framebuffer_flip_y" },
    { "glFramebufferReadBufferEXT", "GL_EXT_direct_state_access" },
    { "glFramebufferRenderbuffer", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glFramebufferRenderbufferEXT", "GL_EXT_framebuffer_object" },
    { "glFramebufferSampleLocationsfvARB", "GL_ARB_sample_locations" },
    { "glFramebufferSampleLocationsfvNV", "GL_NV_sample_locations" },
    { "glFramebufferSamplePositionsfvAMD", "GL_AMD_framebuffer_sample_positions" },
    { "glFramebufferTexture", "GL_VERSION_3_2" },
    { "glFramebufferTexture1D", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glFramebufferTexture1DEXT", "GL_EXT_framebuffer_object" },
    { "glFramebufferTexture2D", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glFramebufferTexture2DEXT", "GL_EXT_framebuffer_object" },
    { "glFramebufferTexture3D", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glFramebufferTexture3DEXT", "GL_EXT_framebuffer_object" },
    { "glFramebufferTextureARB", "GL_ARB_geometry_shader4" },
    { "glFramebufferTextureEXT", "GL_NV_geometry_program4" },
    { "glFramebufferTextureFaceARB", "GL_ARB_geometry_shader4" },
    { "glFramebufferTextureFaceEXT", "GL_NV_geometry_program4" },
    { "glFramebufferTextureLayer", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glFramebufferTextureLayerARB", "GL_ARB_geometry_shader4" },
    { "glFramebufferTextureLayerEXT", "GL_EXT_texture_array GL_NV_geometry_program4" },
    { "glFramebufferTextureMultiviewOVR", "GL_OVR_multiview" },
    { "glFreeObjectBufferATI", "GL_ATI_vertex_array_object" },
    { "glFrustumfOES", "GL_OES_single_precision" },
    { "glFrustumxOES", "GL_OES_fixed_point" },
    { "glGenAsyncMarkersSGIX", "GL_SGIX_async" },
    { "glGenBuffers", "GL_VERSION_1_5" },
    { "glGenBuffersARB", "GL_ARB_vertex_buffer_object" },
    { "glGenFencesAPPLE", "GL_APPLE_fence" },
    { "glGenFencesNV", "GL_NV_fence" },
    { "glGenFragmentShadersATI", "GL_ATI_fragment_shader" },
    { "glGenFramebuffers", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glGenFramebuffersEXT", "GL_EXT_framebuffer_object" },
    { "glGenNamesAMD", "GL_AMD_name_gen_delete" },
    { "glGenOcclusionQueriesNV", "GL_NV_occlusion_query" },
    { "glGenPathsNV", "GL_NV_path_rendering" },
    { "glGenPerfMonitorsAMD", "GL_AMD_performance_monitor" },
    { "glGenProgramPipelines", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glGenProgramsARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glGenProgramsNV", "GL_NV_vertex_program" },
    { "glGenQueries", "GL_VERSION_1_5" },
    { "glGenQueriesARB", "GL_ARB_occlusion_query" },
    { "glGenQueryResourceTagNV", "GL_NV_query_resource_tag" },
    { "glGenRenderbuffers", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glGenRenderbuffersEXT", "GL_EXT_framebuffer_object" },
    { "glGenSamplers", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glGenSemaphoresEXT", "GL_EXT_semaphore" },
    { "glGenSymbolsEXT", "GL_EXT_vertex_shader" },
    { "glGenTexturesEXT", "GL_EXT_texture_object" },
    { "glGenTransformFeedbacks", "GL_ARB_transform_feedback2 GL_VERSION_4_0" },
    { "glGenTransformFeedbacksNV", "GL_NV_transform_feedback2" },
    { "glGenVertexArrays", "GL_ARB_vertex_array_object GL_VERSION_3_0" },
    { "glGenVertexArraysAPPLE", "GL_APPLE_vertex_array_object" },
    { "glGenVertexShadersEXT", "GL_EXT_vertex_shader" },
    { "glGenerateMipmap", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glGenerateMipmapEXT", "GL_EXT_framebuffer_object" },
    { "glGenerateMultiTexMipmapEXT", "GL_EXT_direct_state_access" },
    { "glGenerateTextureMipmap", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGenerateTextureMipmapEXT", "GL_EXT_direct_state_access" },
    { "glGetActiveAtomicCounterBufferiv", "GL_ARB_shader_atomic_counters GL_VERSION_4_2" },
    { "glGetActiveAttrib", "GL_VERSION_2_0" },
    { "glGetActiveAttribARB", "GL_ARB_vertex_shader" },
    { "glGetActiveSubroutineName", "GL_ARB_shader_subroutine GL_VERSION_4_0" },
    { "glGetActiveSubroutineUniformName", "GL_ARB_shader_subroutine GL_VERSION_4_0" },
    { "glGetActiveSubroutineUniformiv", "GL_ARB_shader_subroutine GL_VERSION_4_0" },
    { "glGetActiveUniform", "GL_VERSION_2_0" },
    { "glGetActiveUniformARB", "GL_ARB_shader_objects" },
    { "glGetActiveUniformBlockName", "GL_ARB_uniform_buffer_object GL_VERSION_3_1" },
    { "glGetActiveUniformBlockiv", "GL_ARB_uniform_buffer_object GL_VERSION_3_1" },
    { "glGetActiveUniformName", "GL_ARB_uniform_buffer_object GL_VERSION_3_1" },
    { "glGetActiveUniformsiv", "GL_ARB_uniform_buffer_object GL_VERSION_3_1" },
    { "glGetActiveVaryingNV", "GL_NV_transform_feedback" },
    { "glGetArrayObjectfvATI", "GL_ATI_vertex_array_object" },
    { "glGetArrayObjectivATI", "GL_ATI_vertex_array_object" },
    { "glGetAttachedObjectsARB", "GL_ARB_shader_objects" },
    { "glGetAttachedShaders", "GL_VERSION_2_0" },
    { "glGetAttribLocation", "GL_VERSION_2_0" },
    { "glGetAttribLocationARB", "GL_ARB_vertex_shader" },
    { "glGetBooleanIndexedvEXT", "GL_EXT_direct_state_access GL_EXT_draw_buffers2" },
    { "glGetBooleani_v", "GL_VERSION_3_0" },
    { "glGetBufferParameteri64v", "GL_VERSION_3_2" },
    { "glGetBufferParameteriv", "GL_VERSION_1_5" },
    { "glGetBufferParameterivARB", "GL_ARB_vertex_buffer_object" },
    { "glGetBufferParameterui64vNV", "GL_NV_shader_buffer_load" },
    { "glGetBufferPointerv", "GL_VERSION_1_5" },
    { "glGetBufferPointervARB", "GL_ARB_vertex_buffer_object" },
    { "glGetBufferSubData", "GL_VERSION_1_5" },
    { "glGetBufferSubDataARB", "GL_ARB_vertex_buffer_object" },
    { "glGetClipPlanefOES", "GL_OES_single_precision" },
    { "glGetClipPlanexOES", "GL_OES_fixed_point" },
    { "glGetColorTable", "GL_ARB_imaging" },
    { "glGetColorTableEXT", "GL_EXT_paletted_texture" },
    { "glGetColorTableParameterfv", "GL_ARB_imaging" },
    { "glGetColorTableParameterfvEXT", "GL_EXT_paletted_texture" },
    { "glGetColorTableParameterfvSGI", "GL_SGI_color_table" },
    { "glGetColorTableParameteriv", "GL_ARB_imaging" },
    { "glGetColorTableParameterivEXT", "GL_EXT_paletted_texture" },
    { "glGetColorTableParameterivSGI", "GL_SGI_color_table" },
    { "glGetColorTableSGI", "GL_SGI_color_table" },
    { "glGetCombinerInputParameterfvNV", "GL_NV_register_combiners" },
    { "glGetCombinerInputParameterivNV", "GL_NV_register_combiners" },
    { "glGetCombinerOutputParameterfvNV", "GL_NV_register_combiners" },
    { "glGetCombinerOutputParameterivNV", "GL_NV_register_combiners" },
    { "glGetCombinerStageParameterfvNV", "GL_NV_register_combiners2" },
    { "glGetCommandHeaderNV", "GL_NV_command_list" },
    { "glGetCompressedMultiTexImageEXT", "GL_EXT_direct_state_access" },
    { "glGetCompressedTexImage", "GL_VERSION_1_3" },
    { "glGetCompressedTexImageARB", "GL_ARB_texture_compression" },
    { "glGetCompressedTextureImage", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetCompressedTextureImageEXT", "GL_EXT_direct_state_access" },
    { "glGetCompressedTextureSubImage", "GL_ARB_get_texture_sub_image GL_VERSION_4_5" },
    { "glGetConvolutionFilter", "GL_ARB_imaging" },
    { "glGetConvolutionFilterEXT", "GL_EXT_convolution" },
    { "glGetConvolutionParameterfv", "GL_ARB_imaging" },
    { "glGetConvolutionParameterfvEXT", "GL_EXT_convolution" },
    { "glGetConvolutionParameteriv", "GL_ARB_imaging" },
    { "glGetConvolutionParameterivEXT", "GL_EXT_convolution" },
    { "glGetConvolutionParameterxvOES", "GL_OES_fixed_point" },
    { "glGetCoverageModulationTableNV", "GL_NV_framebuffer_mixed_samples" },
    { "glGetDebugMessageLog", "GL_KHR_debug GL_VERSION_4_3" },
    { "glGetDebugMessageLogAMD", "GL_AMD_debug_output" },
    { "glGetDebugMessageLogARB", "GL_ARB_debug_output" },
    { "glGetDetailTexFuncSGIS", "GL_SGIS_detail_texture" },
    { "glGetDoubleIndexedvEXT", "GL_EXT_direct_state_access" },
    { "glGetDoublei_v", "GL_ARB_viewport_array GL_VERSION_4_1" },
    { "glGetDoublei_vEXT", "GL_EXT_direct_state_access" },
    { "glGetFenceivNV", "GL_NV_fence" },
    { "glGetFinalCombinerInputParameterfvNV", "GL_NV_register_combiners" },
    { "glGetFinalCombinerInputParameterivNV", "GL_NV_register_combiners" },
    { "glGetFirstPerfQueryIdINTEL", "GL_INTEL_performance_query" },
    { "glGetFixedvOES", "GL_OES_fixed_point" },
    { "glGetFloatIndexedvEXT", "GL_EXT_direct_state_access" },
    { "glGetFloati_v", "GL_ARB_viewport_array GL_VERSION_4_1" },
    { "glGetFloati_vEXT", "GL_EXT_direct_state_access" },
    { "glGetFogFuncSGIS", "GL_SGIS_fog_function" },
    { "glGetFragDataIndex", "GL_ARB_blend_func_extended GL_VERSION_3_3" },
    { "glGetFragDataLocation", "GL_VERSION_3_0" },
    { "glGetFragDataLocationEXT", "GL_EXT_gpu_shader4" },
    { "glGetFragmentLightfvSGIX", "GL_SGIX_fragment_lighting" },
    { "glGetFragmentLightivSGIX", "GL_SGIX_fragment_lighting" },
    { "glGetFragmentMaterialfvSGIX", "GL_SGIX_fragment_lighting" },
    { "glGetFragmentMaterialivSGIX", "GL_SGIX_fragment_lighting" },
    { "glGetFramebufferAttachmentParameteriv", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glGetFramebufferAttachmentParameterivEXT", "GL_EXT_framebuffer_object" },
    { "glGetFramebufferParameterfvAMD", "GL_AMD_framebuffer_sample_positions" },
    { "glGetFramebufferParameteriv", "GL_ARB_framebuffer_no_attachments GL_VERSION_4_3" },
    { "glGetFramebufferParameterivEXT", "GL_EXT_direct_state_access" },
    { "glGetFramebufferParameterivMESA", "GL_MESA_framebuffer_flip_y" },
    { "glGetGraphicsResetStatus", "GL_KHR_robustness GL_VERSION_4_5" },
    { "glGetGraphicsResetStatusARB", "GL_ARB_robustness" },
    { "glGetHandleARB", "GL_ARB_shader_objects" },
    { "glGetHistogram", "GL_ARB_imaging" },
    { "glGetHistogramEXT", "GL_EXT_histogram" },
    { "glGetHistogramParameterfv", "GL_ARB_imaging" },
    { "glGetHistogramParameterfvEXT", "GL_EXT_histogram" },
    { "glGetHistogramParameteriv", "GL_ARB_imaging" },
    { "glGetHistogramParameterivEXT", "GL_EXT_histogram" },
    { "glGetHistogramParameterxvOES", "GL_OES_fixed_point" },
    { "glGetImageHandleARB", "GL_ARB_bindless_texture" },
    { "glGetImageHandleNV", "GL_NV_bindless_texture" },
    { "glGetImageTransformParameterfvHP", "GL_HP_image_transform" },
    { "glGetImageTransformParameterivHP", "GL_HP_image_transform" },
    { "glGetInfoLogARB", "GL_ARB_shader_objects" },
    { "glGetInstrumentsSGIX", "GL_SGIX_instruments" },
    { "glGetInteger64i_v", "GL_VERSION_3_2" },
    { "glGetInteger64v", "GL_ARB_sync GL_VERSION_3_2" },
    { "glGetIntegerIndexedvEXT", "GL_EXT_direct_state_access GL_EXT_draw_buffers2" },
    { "glGetIntegeri_v", "GL_ARB_uniform_buffer_object GL_VERSION_3_0" },
    { "glGetIntegerui64i_vNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glGetIntegerui64vNV", "GL_NV_shader_buffer_load" },
    { "glGetInternalformatSampleivNV", "GL_NV_internalformat_sample_query" },
    { "glGetInternalformati64v", "GL_ARB_internalformat_query2 GL_VERSION_4_3" },
    { "glGetInternalformativ", "GL_ARB_internalformat_query GL_VERSION_4_2" },
    { "glGetInvariantBooleanvEXT", "GL_EXT_vertex_shader" },
    { "glGetInvariantFloatvEXT", "GL_EXT_vertex_shader" },
    { "glGetInvariantIntegervEXT", "GL_EXT_vertex_shader" },
    { "glGetLightxOES", "GL_OES_fixed_point" },
    { "glGetListParameterfvSGIX", "GL_SGIX_list_priority" },
    { "glGetListParameterivSGIX", "GL_SGIX_list_priority" },
    { "glGetLocalConstantBooleanvEXT", "GL_EXT_vertex_shader" },
    { "glGetLocalConstantFloatvEXT", "GL_EXT_vertex_shader" },
    { "glGetLocalConstantIntegervEXT", "GL_EXT_vertex_shader" },
    { "glGetMapAttribParameterfvNV", "GL_NV_evaluators" },
    { "glGetMapAttribParameterivNV", "GL_NV_evaluators" },
    { "glGetMapControlPointsNV", "GL_NV_evaluators" },
    { "glGetMapParameterfvNV", "GL_NV_evaluators" },
    { "glGetMapParameterivNV", "GL_NV_evaluators" },
    { "glGetMapxvOES", "GL_OES_fixed_point" },
    { "glGetMaterialxOES", "GL_OES_fixed_point" },
    { "glGetMemoryObjectDetachedResourcesuivNV", "GL_NV_memory_attachment" },
    { "glGetMemoryObjectParameterivEXT", "GL_EXT_memory_object" },
    { "glGetMinmax", "GL_ARB_imaging" },
    { "glGetMinmaxEXT", "GL_EXT_histogram" },
    { "glGetMinmaxParameterfv", "GL_ARB_imaging" },
    { "glGetMinmaxParameterfvEXT", "GL_EXT_histogram" },
    { "glGetMinmaxParameteriv", "GL_ARB_imaging" },
    { "glGetMinmaxParameterivEXT", "GL_EXT_histogram" },
    { "glGetMultiTexEnvfvEXT", "GL_EXT_direct_state_access" },
    { "glGetMultiTexEnvivEXT", "GL_EXT_direct_state_access" },
    { "glGetMultiTexGendvEXT", "GL_EXT_direct_state_access" },
    { "glGetMultiTexGenfvEXT", "GL_EXT_direct_state_access" },
    { "glGetMultiTexGenivEXT", "GL_EXT_direct_state_access" },
    { "glGetMultiTexImageEXT", "GL_EXT_direct_state_access" },
    { "glGetMultiTexLevelParameterfvEXT", "GL_EXT_direct_state_access" },
    { "glGetMultiTexLevelParameterivEXT", "GL_EXT_direct_state_access" },
    { "glGetMultiTexParameterIivEXT", "GL_EXT_direct_state_access" },
    { "glGetMultiTexParameterIuivEXT", "GL_EXT_direct_state_access" },
    { "glGetMultiTexParameterfvEXT", "GL_EXT_direct_state_access" },
    { "glGetMultiTexParameterivEXT", "GL_EXT_direct_state_access" },
    { "glGetMultisamplefv", "GL_ARB_texture_multisample GL_VERSION_3_2" },
    { "glGetMultisamplefvNV", "GL_NV_explicit_multisample" },
    { "glGetNamedBufferParameteri64v", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetNamedBufferParameteriv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetNamedBufferParameterivEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedBufferParameterui64vNV", "GL_NV_shader_buffer_load" },
    { "glGetNamedBufferPointerv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetNamedBufferPointervEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedBufferSubData", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetNamedBufferSubDataEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedFramebufferAttachmentParameteriv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetNamedFramebufferAttachmentParameterivEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedFramebufferParameterfvAMD", "GL_AMD_framebuffer_sample_positions" },
    { "glGetNamedFramebufferParameteriv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetNamedFramebufferParameterivEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedProgramLocalParameterIivEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedProgramLocalParameterIuivEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedProgramLocalParameterdvEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedProgramLocalParameterfvEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedProgramStringEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedProgramivEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedRenderbufferParameteriv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetNamedRenderbufferParameterivEXT", "GL_EXT_direct_state_access" },
    { "glGetNamedStringARB", "GL_ARB_shading_language_include" },
    { "glGetNamedStringivARB", "GL_ARB_shading_language_include" },
    { "glGetNextPerfQueryIdINTEL", "GL_INTEL_performance_query" },
    { "glGetObjectBufferfvATI", "GL_ATI_vertex_array_object" },
    { "glGetObjectBufferivATI", "GL_ATI_vertex_array_object" },
    { "glGetObjectLabel", "GL_KHR_debug GL_VERSION_4_3" },
    { "glGetObjectLabelEXT", "GL_EXT_debug_label" },
    { "glGetObjectParameterfvARB", "GL_ARB_shader_objects" },
    { "glGetObjectParameterivAPPLE", "GL_APPLE_object_purgeable" },
    { "glGetObjectParameterivARB", "GL_ARB_shader_objects" },
    { "glGetObjectPtrLabel", "GL_KHR_debug GL_VERSION_4_3" },
    { "glGetOcclusionQueryivNV", "GL_NV_occlusion_query" },
    { "glGetOcclusionQueryuivNV", "GL_NV_occlusion_query" },
    { "glGetPathColorGenfvNV", "GL_NV_path_rendering" },
    { "glGetPathColorGenivNV", "GL_NV_path_rendering" },
    { "glGetPathCommandsNV", "GL_NV_path_rendering" },
    { "glGetPathCoordsNV", "GL_NV_path_rendering" },
    { "glGetPathDashArrayNV", "GL_NV_path_rendering" },
    { "glGetPathLengthNV", "GL_NV_path_rendering" },
    { "glGetPathMetricRangeNV", "GL_NV_path_rendering" },
    { "glGetPathMetricsNV", "GL_NV_path_rendering" },
    { "glGetPathParameterfvNV", "GL_NV_path_rendering" },
    { "glGetPathParameterivNV", "GL_NV_path_rendering" },
    { "glGetPathSpacingNV", "GL_NV_path_rendering" },
    { "glGetPathTexGenfvNV", "GL_NV_path_rendering" },
    { "glGetPathTexGenivNV", "GL_NV_path_rendering" },
    { "glGetPerfCounterInfoINTEL", "GL_INTEL_performance_query" },
    { "glGetPerfMonitorCounterDataAMD", "GL_AMD_performance_monitor" },
    { "glGetPerfMonitorCounterInfoAMD", "GL_AMD_performance_monitor" },
    { "glGetPerfMonitorCounterStringAMD", "GL_AMD_performance_monitor" },
    { "glGetPerfMonitorCountersAMD", "GL_AMD_performance_monitor" },
    { "glGetPerfMonitorGroupStringAMD", "GL_AMD_performance_monitor" },
    { "glGetPerfMonitorGroupsAMD", "GL_AMD_performance_monitor" },
    { "glGetPerfQueryDataINTEL", "GL_INTEL_performance_query" },
    { "glGetPerfQueryIdByNameINTEL", "GL_INTEL_performance_query" },
    { "glGetPerfQueryInfoINTEL", "GL_INTEL_performance_query" },
    { "glGetPixelMapxv", "GL_OES_fixed_point" },
    { "glGetPixelTexGenParameterfvSGIS", "GL_SGIS_pixel_texture" },
    { "glGetPixelTexGenParameterivSGIS", "GL_SGIS_pixel_texture" },
    { "glGetPixelTransformParameterfvEXT", "GL_EXT_pixel_transform" },
    { "glGetPixelTransformParameterivEXT", "GL_EXT_pixel_transform" },
    { "glGetPointerIndexedvEXT", "GL_EXT_direct_state_access" },
    { "glGetPointeri_vEXT", "GL_EXT_direct_state_access" },
    { "glGetPointervEXT", "GL_EXT_vertex_array" },
    { "glGetProgramBinary", "GL_ARB_get_program_binary GL_VERSION_4_1" },
    { "glGetProgramEnvParameterIivNV", "GL_NV_gpu_program4" },
    { "glGetProgramEnvParameterIuivNV", "GL_NV_gpu_program4" },
    { "glGetProgramEnvParameterdvARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glGetProgramEnvParameterfvARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glGetProgramInfoLog", "GL_VERSION_2_0" },
    { "glGetProgramInterfaceiv", "GL_ARB_program_interface_query GL_VERSION_4_3" },
    { "glGetProgramLocalParameterIivNV", "GL_NV_gpu_program4" },
    { "glGetProgramLocalParameterIuivNV", "GL_NV_gpu_program4" },
    { "glGetProgramLocalParameterdvARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glGetProgramLocalParameterfvARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glGetProgramNamedParameterdvNV", "GL_NV_fragment_program" },
    { "glGetProgramNamedParameterfvNV", "GL_NV_fragment_program" },
    { "glGetProgramParameterdvNV", "GL_NV_vertex_program" },
    { "glGetProgramParameterfvNV", "GL_NV_vertex_program" },
    { "glGetProgramPipelineInfoLog", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glGetProgramPipelineiv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glGetProgramResourceIndex", "GL_ARB_program_interface_query GL_VERSION_4_3" },
    { "glGetProgramResourceLocation", "GL_ARB_program_interface_query GL_VERSION_4_3" },
    { "glGetProgramResourceLocationIndex", "GL_ARB_program_interface_query GL_VERSION_4_3" },
    { "glGetProgramResourceName", "GL_ARB_program_interface_query GL_VERSION_4_3" },
    { "glGetProgramResourcefvNV", "GL_NV_path_rendering" },
    { "glGetProgramResourceiv", "GL_ARB_program_interface_query GL_VERSION_4_3" },
    { "glGetProgramStageiv", "GL_ARB_shader_subroutine GL_VERSION_4_0" },
    { "glGetProgramStringARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glGetProgramStringNV", "GL_NV_vertex_program" },
    { "glGetProgramSubroutineParameteruivNV", "GL_NV_gpu_program5" },
    { "glGetProgramiv", "GL_VERSION_2_0" },
    { "glGetProgramivARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glGetProgramivNV", "GL_NV_vertex_program" },
    { "glGetQueryBufferObjecti64v", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetQueryBufferObjectiv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetQueryBufferObjectui64v", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetQueryBufferObjectuiv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetQueryIndexediv", "GL_ARB_transform_feedback3 GL_VERSION_4_0" },
    { "glGetQueryObjecti64v", "GL_ARB_timer_query GL_VERSION_3_3" },
    { "glGetQueryObjecti64vEXT", "GL_EXT_timer_query" },
    { "glGetQueryObjectiv", "GL_VERSION_1_5" },
    { "glGetQueryObjectivARB", "GL_ARB_occlusion_query" },
    { "glGetQueryObjectui64v", "GL_ARB_timer_query GL_VERSION_3_3" },
    { "glGetQueryObjectui64vEXT", "GL_EXT_timer_query" },
    { "glGetQueryObjectuiv", "GL_VERSION_1_5" },
    { "glGetQueryObjectuivARB", "GL_ARB_occlusion_query" },
    { "glGetQueryiv", "GL_VERSION_1_5" },
    { "glGetQueryivARB", "GL_ARB_occlusion_query" },
    { "glGetRenderbufferParameteriv", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glGetRenderbufferParameterivEXT", "GL_EXT_framebuffer_object" },
    { "glGetSamplerParameterIiv", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glGetSamplerParameterIuiv", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glGetSamplerParameterfv", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glGetSamplerParameteriv", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glGetSemaphoreParameterui64vEXT", "GL_EXT_semaphore" },
    { "glGetSeparableFilter", "GL_ARB_imaging" },
    { "glGetSeparableFilterEXT", "GL_EXT_convolution" },
    { "glGetShaderInfoLog", "GL_VERSION_2_0" },
    { "glGetShaderPrecisionFormat", "GL_ARB_ES2_compatibility GL_VERSION_4_1" },
    { "glGetShaderSource", "GL_VERSION_2_0" },
    { "glGetShaderSourceARB", "GL_ARB_shader_objects" },
    { "glGetShaderiv", "GL_VERSION_2_0" },
    { "glGetShadingRateImagePaletteNV", "GL_NV_shading_rate_image" },
    { "glGetShadingRateSampleLocationivNV", "GL_NV_shading_rate_image" },
    { "glGetSharpenTexFuncSGIS", "GL_SGIS_sharpen_texture" },
    { "glGetStageIndexNV", "GL_NV_command_list" },
    { "glGetStringi", "GL_VERSION_3_0" },
    { "glGetSubroutineIndex", "GL_ARB_shader_subroutine GL_VERSION_4_0" },
    { "glGetSubroutineUniformLocation", "GL_ARB_shader_subroutine GL_VERSION_4_0" },
    { "glGetSynciv", "GL_ARB_sync GL_VERSION_3_2" },
    { "glGetTexBumpParameterfvATI", "GL_ATI_envmap_bumpmap" },
    { "glGetTexBumpParameterivATI", "GL_ATI_envmap_bumpmap" },
    { "glGetTexEnvxvOES", "GL_OES_fixed_point" },
    { "glGetTexFilterFuncSGIS", "GL_SGIS_texture_filter4" },
    { "glGetTexGenxvOES", "GL_OES_fixed_point" },
    { "glGetTexLevelParameterxvOES", "GL_OES_fixed_point" },
    { "glGetTexParameterIiv", "GL_VERSION_3_0" },
    { "glGetTexParameterIivEXT", "GL_EXT_texture_integer" },
    { "glGetTexParameterIuiv", "GL_VERSION_3_0" },
    { "glGetTexParameterIuivEXT", "GL_EXT_texture_integer" },
    { "glGetTexParameterPointervAPPLE", "GL_APPLE_texture_range" },
    { "glGetTexParameterxvOES", "GL_OES_fixed_point" },
    { "glGetTextureHandleARB", "GL_ARB_bindless_texture" },
    { "glGetTextureHandleNV", "GL_NV_bindless_texture" },
    { "glGetTextureImage", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetTextureImageEXT", "GL_EXT_direct_state_access" },
    { "glGetTextureLevelParameterfv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetTextureLevelParameterfvEXT", "GL_EXT_direct_state_access" },
    { "glGetTextureLevelParameteriv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetTextureLevelParameterivEXT", "GL_EXT_direct_state_access" },
    { "glGetTextureParameterIiv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetTextureParameterIivEXT", "GL_EXT_direct_state_access" },
    { "glGetTextureParameterIuiv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetTextureParameterIuivEXT", "GL_EXT_direct_state_access" },
    { "glGetTextureParameterfv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetTextureParameterfvEXT", "GL_EXT_direct_state_access" },
    { "glGetTextureParameteriv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetTextureParameterivEXT", "GL_EXT_direct_state_access" },
    { "glGetTextureSamplerHandleARB", "GL_ARB_bindless_texture" },
    { "glGetTextureSamplerHandleNV", "GL_NV_bindless_texture" },
    { "glGetTextureSubImage", "GL_ARB_get_texture_sub_image GL_VERSION_4_5" },
    { "glGetTrackMatrixivNV", "GL_NV_vertex_program" },
    { "glGetTransformFeedbackVarying", "GL_VERSION_3_0" },
    { "glGetTransformFeedbackVaryingEXT", "GL_EXT_transform_feedback" },
    { "glGetTransformFeedbackVaryingNV", "GL_NV_transform_feedback" },
    { "glGetTransformFeedbacki64_v", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetTransformFeedbacki_v", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetTransformFeedbackiv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetUniformBlockIndex", "GL_ARB_uniform_buffer_object GL_VERSION_3_1" },
    { "glGetUniformBufferSizeEXT", "GL_EXT_bindable_uniform" },
    { "glGetUniformIndices", "GL_ARB_uniform_buffer_object GL_VERSION_3_1" },
    { "glGetUniformLocation", "GL_VERSION_2_0" },
    { "glGetUniformLocationARB", "GL_ARB_shader_objects" },
    { "glGetUniformOffsetEXT", "GL_EXT_bindable_uniform" },
    { "glGetUniformSubroutineuiv", "GL_ARB_shader_subroutine GL_VERSION_4_0" },
    { "glGetUniformdv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glGetUniformfv", "GL_VERSION_2_0" },
    { "glGetUniformfvARB", "GL_ARB_shader_objects" },
    { "glGetUniformi64vARB", "GL_ARB_gpu_shader_int64" },
    { "glGetUniformi64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glGetUniformiv", "GL_VERSION_2_0" },
    { "glGetUniformivARB", "GL_ARB_shader_objects" },
    { "glGetUniformui64vARB", "GL_ARB_gpu_shader_int64" },
    { "glGetUniformui64vNV", "GL_AMD_gpu_shader_int64 GL_NV_shader_buffer_load" },
    { "glGetUniformuiv", "GL_VERSION_3_0" },
    { "glGetUniformuivEXT", "GL_EXT_gpu_shader4" },
    { "glGetUnsignedBytei_vEXT", "GL_EXT_memory_object GL_EXT_semaphore" },
    { "glGetUnsignedBytevEXT", "GL_EXT_memory_object GL_EXT_semaphore" },
    { "glGetVariantArrayObjectfvATI", "GL_ATI_vertex_array_object" },
    { "glGetVariantArrayObjectivATI", "GL_ATI_vertex_array_object" },
    { "glGetVariantBooleanvEXT", "GL_EXT_vertex_shader" },
    { "glGetVariantFloatvEXT", "GL_EXT_vertex_shader" },
    { "glGetVariantIntegervEXT", "GL_EXT_vertex_shader" },
    { "glGetVariantPointervEXT", "GL_EXT_vertex_shader" },
    { "glGetVaryingLocationNV", "GL_NV_transform_feedback" },
    { "glGetVertexArrayIndexed64iv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetVertexArrayIndexediv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetVertexArrayIntegeri_vEXT", "GL_EXT_direct_state_access" },
    { "glGetVertexArrayIntegervEXT", "GL_EXT_direct_state_access" },
    { "glGetVertexArrayPointeri_vEXT", "GL_EXT_direct_state_access" },
    { "glGetVertexArrayPointervEXT", "GL_EXT_direct_state_access" },
    { "glGetVertexArrayiv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glGetVertexAttribArrayObjectfvATI", "GL_ATI_vertex_attrib_array_object" },
    { "glGetVertexAttribArrayObjectivATI", "GL_ATI_vertex_attrib_array_object" },
    { "glGetVertexAttribIiv", "GL_VERSION_3_0" },
    { "glGetVertexAttribIivEXT", "GL_NV_vertex_program4" },
    { "glGetVertexAttribIuiv", "GL_VERSION_3_0" },
    { "glGetVertexAttribIuivEXT", "GL_NV_vertex_program4" },
    { "glGetVertexAttribLdv", "GL_ARB_vertex_attrib_64bit GL_VERSION_4_1" },
    { "glGetVertexAttribLdvEXT", "GL_EXT_vertex_attrib_64bit" },
    { "glGetVertexAttribLi64vNV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glGetVertexAttribLui64vARB", "GL_ARB_bindless_texture" },
    { "glGetVertexAttribLui64vNV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glGetVertexAttribPointerv", "GL_VERSION_2_0" },
    { "glGetVertexAttribPointervARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glGetVertexAttribPointervNV", "GL_NV_vertex_program" },
    { "glGetVertexAttribdv", "GL_VERSION_2_0" },
    { "glGetVertexAttribdvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glGetVertexAttribdvNV", "GL_NV_vertex_program" },
    { "glGetVertexAttribfv", "GL_VERSION_2_0" },
    { "glGetVertexAttribfvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glGetVertexAttribfvNV", "GL_NV_vertex_program" },
    { "glGetVertexAttribiv", "GL_VERSION_2_0" },
    { "glGetVertexAttribivARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glGetVertexAttribivNV", "GL_NV_vertex_program" },
    { "glGetVideoCaptureStreamdvNV", "GL_NV_video_capture" },
    { "glGetVideoCaptureStreamfvNV", "GL_NV_video_capture" },
    { "glGetVideoCaptureStreamivNV", "GL_NV_video_capture" },
    { "glGetVideoCaptureivNV", "GL_NV_video_capture" },
    { "glGetVideoi64vNV", "GL_NV_present_video" },
    { "glGetVideoivNV", "GL_NV_present_video" },
    { "glGetVideoui64vNV", "GL_NV_present_video" },
    { "glGetVideouivNV", "GL_NV_present_video" },
    { "glGetVkProcAddrNV", "GL_NV_draw_vulkan_image" },
    { "glGetnColorTable", "GL_VERSION_4_5" },
    { "glGetnColorTableARB", "GL_ARB_robustness" },
    { "glGetnCompressedTexImage", "GL_VERSION_4_5" },
    { "glGetnCompressedTexImageARB", "GL_ARB_robustness" },
    { "glGetnConvolutionFilter", "GL_VERSION_4_5" },
    { "glGetnConvolutionFilterARB", "GL_ARB_robustness" },
    { "glGetnHistogram", "GL_VERSION_4_5" },
    { "glGetnHistogramARB", "GL_ARB_robustness" },
    { "glGetnMapdv", "GL_VERSION_4_5" },
    { "glGetnMapdvARB", "GL_ARB_robustness" },
    { "glGetnMapfv", "GL_VERSION_4_5" },
    { "glGetnMapfvARB", "GL_ARB_robustness" },
    { "glGetnMapiv", "GL_VERSION_4_5" },
    { "glGetnMapivARB", "GL_ARB_robustness" },
    { "glGetnMinmax", "GL_VERSION_4_5" },
    { "glGetnMinmaxARB", "GL_ARB_robustness" },
    { "glGetnPixelMapfv", "GL_VERSION_4_5" },
    { "glGetnPixelMapfvARB", "GL_ARB_robustness" },
    { "glGetnPixelMapuiv", "GL_VERSION_4_5" },
    { "glGetnPixelMapuivARB", "GL_ARB_robustness" },
    { "glGetnPixelMapusv", "GL_VERSION_4_5" },
    { "glGetnPixelMapusvARB", "GL_ARB_robustness" },
    { "glGetnPolygonStipple", "GL_VERSION_4_5" },
    { "glGetnPolygonStippleARB", "GL_ARB_robustness" },
    { "glGetnSeparableFilter", "GL_VERSION_4_5" },
    { "glGetnSeparableFilterARB", "GL_ARB_robustness" },
    { "glGetnTexImage", "GL_VERSION_4_5" },
    { "glGetnTexImageARB", "GL_ARB_robustness" },
    { "glGetnUniformdv", "GL_VERSION_4_5" },
    { "glGetnUniformdvARB", "GL_ARB_robustness" },
    { "glGetnUniformfv", "GL_KHR_robustness GL_VERSION_4_5" },
    { "glGetnUniformfvARB", "GL_ARB_robustness" },
    { "glGetnUniformi64vARB", "GL_ARB_gpu_shader_int64" },
    { "glGetnUniformiv", "GL_KHR_robustness GL_VERSION_4_5" },
    { "glGetnUniformivARB", "GL_ARB_robustness" },
    { "glGetnUniformui64vARB", "GL_ARB_gpu_shader_int64" },
    { "glGetnUniformuiv", "GL_KHR_robustness GL_VERSION_4_5" },
    { "glGetnUniformuivARB", "GL_ARB_robustness" },
    { "glGlobalAlphaFactorbSUN", "GL_SUN_global_alpha" },
    { "glGlobalAlphaFactordSUN", "GL_SUN_global_alpha" },
    { "glGlobalAlphaFactorfSUN", "GL_SUN_global_alpha" },
    { "glGlobalAlphaFactoriSUN", "GL_SUN_global_alpha" },
    { "glGlobalAlphaFactorsSUN", "GL_SUN_global_alpha" },
    { "glGlobalAlphaFactorubSUN", "GL_SUN_global_alpha" },
    { "glGlobalAlphaFactoruiSUN", "GL_SUN_global_alpha" },
    { "glGlobalAlphaFactorusSUN", "GL_SUN_global_alpha" },
    { "glHintPGI", "GL_PGI_misc_hints" },
    { "glHistogram", "GL_ARB_imaging" },
    { "glHistogramEXT", "GL_EXT_histogram" },
    { "glIglooInterfaceSGIX", "GL_SGIX_igloo_interface" },
    { "glImageTransformParameterfHP", "GL_HP_image_transform" },
    { "glImageTransformParameterfvHP", "GL_HP_image_transform" },
    { "glImageTransformParameteriHP", "GL_HP_image_transform" },
    { "glImageTransformParameterivHP", "GL_HP_image_transform" },
    { "glImportMemoryFdEXT", "GL_EXT_memory_object_fd" },
    { "glImportMemoryWin32HandleEXT", "GL_EXT_memory_object_win32" },
    { "glImportMemoryWin32NameEXT", "GL_EXT_memory_object_win32" },
    { "glImportSemaphoreFdEXT", "GL_EXT_semaphore_fd" },
    { "glImportSemaphoreWin32HandleEXT", "GL_EXT_semaphore_win32" },
    { "glImportSemaphoreWin32NameEXT", "GL_EXT_semaphore_win32" },
    { "glImportSyncEXT", "GL_EXT_x11_sync_object" },
    { "glIndexFormatNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glIndexFuncEXT", "GL_EXT_index_func" },
    { "glIndexMaterialEXT", "GL_EXT_index_material" },
    { "glIndexPointerEXT", "GL_EXT_vertex_array" },
    { "glIndexPointerListIBM", "GL_IBM_vertex_array_lists" },
    { "glIndexxOES", "GL_OES_fixed_point" },
    { "glIndexxvOES", "GL_OES_fixed_point" },
    { "glInsertComponentEXT", "GL_EXT_vertex_shader" },
    { "glInsertEventMarkerEXT", "GL_EXT_debug_marker" },
    { "glInstrumentsBufferSGIX", "GL_SGIX_instruments" },
    { "glInterpolatePathsNV", "GL_NV_path_rendering" },
    { "glInvalidateBufferData", "GL_ARB_invalidate_subdata GL_VERSION_4_3" },
    { "glInvalidateBufferSubData", "GL_ARB_invalidate_subdata GL_VERSION_4_3" },
    { "glInvalidateFramebuffer", "GL_ARB_invalidate_subdata GL_VERSION_4_3" },
    { "glInvalidateNamedFramebufferData", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glInvalidateNamedFramebufferSubData", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glInvalidateSubFramebuffer", "GL_ARB_invalidate_subdata GL_VERSION_4_3" },
    { "glInvalidateTexImage", "GL_ARB_invalidate_subdata GL_VERSION_4_3" },
    { "glInvalidateTexSubImage", "GL_ARB_invalidate_subdata GL_VERSION_4_3" },
    { "glIsAsyncMarkerSGIX", "GL_SGIX_async" },
    { "glIsBuffer", "GL_VERSION_1_5" },
    { "glIsBufferARB", "GL_ARB_vertex_buffer_object" },
    { "glIsBufferResidentNV", "GL_NV_shader_buffer_load" },
    { "glIsCommandListNV", "GL_NV_command_list" },
    { "glIsEnabledIndexedEXT", "GL_EXT_direct_state_access GL_EXT_draw_buffers2" },
    { "glIsEnabledi", "GL_VERSION_3_0" },
    { "glIsFenceAPPLE", "GL_APPLE_fence" },
    { "glIsFenceNV", "GL_NV_fence" },
    { "glIsFramebuffer", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glIsFramebufferEXT", "GL_EXT_framebuffer_object" },
    { "glIsImageHandleResidentARB", "GL_ARB_bindless_texture" },
    { "glIsImageHandleResidentNV", "GL_NV_bindless_texture" },
    { "glIsMemoryObjectEXT", "GL_EXT_memory_object" },
    { "glIsNameAMD", "GL_AMD_name_gen_delete" },
    { "glIsNamedBufferResidentNV", "GL_NV_shader_buffer_load" },
    { "glIsNamedStringARB", "GL_ARB_shading_language_include" },
    { "glIsObjectBufferATI", "GL_ATI_vertex_array_object" },
    { "glIsOcclusionQueryNV", "GL_NV_occlusion_query" },
    { "glIsPathNV", "GL_NV_path_rendering" },
    { "glIsPointInFillPathNV", "GL_NV_path_rendering" },
    { "glIsPointInStrokePathNV", "GL_NV_path_rendering" },
    { "glIsProgram", "GL_VERSION_2_0" },
    { "glIsProgramARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glIsProgramNV", "GL_NV_vertex_program" },
    { "glIsProgramPipeline", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glIsQuery", "GL_VERSION_1_5" },
    { "glIsQueryARB", "GL_ARB_occlusion_query" },
    { "glIsRenderbuffer", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glIsRenderbufferEXT", "GL_EXT_framebuffer_object" },
    { "glIsSampler", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glIsSemaphoreEXT", "GL_EXT_semaphore" },
    { "glIsShader", "GL_VERSION_2_0" },
    { "glIsStateNV", "GL_NV_command_list" },
    { "glIsSync", "GL_ARB_sync GL_VERSION_3_2" },
    { "glIsTextureEXT", "GL_EXT_texture_object" },
    { "glIsTextureHandleResidentARB", "GL_ARB_bindless_texture" },
    { "glIsTextureHandleResidentNV", "GL_NV_bindless_texture" },
    { "glIsTransformFeedback", "GL_ARB_transform_feedback2 GL_VERSION_4_0" },
    { "glIsTransformFeedbackNV", "GL_NV_transform_feedback2" },
    { "glIsVariantEnabledEXT", "GL_EXT_vertex_shader" },
    { "glIsVertexArray", "GL_ARB_vertex_array_object GL_VERSION_3_0" },
    { "glIsVertexArrayAPPLE", "GL_APPLE_vertex_array_object" },
    { "glIsVertexAttribEnabledAPPLE", "GL_APPLE_vertex_program_evaluators" },
    { "glLGPUCopyImageSubDataNVX", "GL_NVX_linked_gpu_multicast" },
    { "glLGPUInterlockNVX", "GL_NVX_linked_gpu_multicast" },
    { "glLGPUNamedBufferSubDataNVX", "GL_NVX_linked_gpu_multicast" },
    { "glLabelObjectEXT", "GL_EXT_debug_label" },
    { "glLightEnviSGIX", "GL_SGIX_fragment_lighting" },
    { "glLightModelxOES", "GL_OES_fixed_point" },
    { "glLightModelxvOES", "GL_OES_fixed_point" },
    { "glLightxOES", "GL_OES_fixed_point" },
    { "glLightxvOES", "GL_OES_fixed_point" },
    { "glLineWidthxOES", "GL_OES_fixed_point" },
    { "glLinkProgram", "GL_VERSION_2_0" },
    { "glLinkProgramARB", "GL_ARB_shader_objects" },
    { "glListDrawCommandsStatesClientNV", "GL_NV_command_list" },
    { "glListParameterfSGIX", "GL_SGIX_list_priority" },
    { "glListParameterfvSGIX", "GL_SGIX_list_priority" },
    { "glListParameteriSGIX", "GL_SGIX_list_priority" },
    { "glListParameterivSGIX", "GL_SGIX_list_priority" },
    { "glLoadIdentityDeformationMapSGIX", "GL_SGIX_polynomial_ffd" },
    { "glLoadMatrixxOES", "GL_OES_fixed_point" },
    { "glLoadProgramNV", "GL_NV_vertex_program" },
    { "glLoadTransposeMatrixd", "GL_VERSION_1_3" },
    { "glLoadTransposeMatrixdARB", "GL_ARB_transpose_matrix" },
    { "glLoadTransposeMatrixf", "GL_VERSION_1_3" },
    { "glLoadTransposeMatrixfARB", "GL_ARB_transpose_matrix" },
    { "glLoadTransposeMatrixxOES", "GL_OES_fixed_point" },
    { "glLockArraysEXT", "GL_EXT_compiled_vertex_array" },
    { "glMTexCoord2fSGIS", "GL_SGIS_multitexture" },
    { "glMTexCoord2fvSGIS", "GL_SGIS_multitexture" },
    { "glMakeBufferNonResidentNV", "GL_NV_shader_buffer_load" },
    { "glMakeBufferResidentNV", "GL_NV_shader_buffer_load" },
    { "glMakeImageHandleNonResidentARB", "GL_ARB_bindless_texture" },
    { "glMakeImageHandleNonResidentNV", "GL_NV_bindless_texture" },
    { "glMakeImageHandleResidentARB", "GL_ARB_bindless_texture" },
    { "glMakeImageHandleResidentNV", "GL_NV_bindless_texture" },
    { "glMakeNamedBufferNonResidentNV", "GL_NV_shader_buffer_load" },
    { "glMakeNamedBufferResidentNV", "GL_NV_shader_buffer_load" },
    { "glMakeTextureHandleNonResidentARB", "GL_ARB_bindless_texture" },
    { "glMakeTextureHandleNonResidentNV", "GL_NV_bindless_texture" },
    { "glMakeTextureHandleResidentARB", "GL_ARB_bindless_texture" },
    { "glMakeTextureHandleResidentNV", "GL_NV_bindless_texture" },
    { "glMap1xOES", "GL_OES_fixed_point" },
    { "glMap2xOES", "GL_OES_fixed_point" },
    { "glMapBuffer", "GL_VERSION_1_5" },
    { "glMapBufferARB", "GL_ARB_vertex_buffer_object" },
    { "glMapBufferRange", "GL_ARB_map_buffer_range GL_VERSION_3_0" },
    { "glMapControlPointsNV", "GL_NV_evaluators" },
    { "glMapGrid1xOES", "GL_OES_fixed_point" },
    { "glMapGrid2xOES", "GL_OES_fixed_point" },
    { "glMapNamedBuffer", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glMapNamedBufferEXT", "GL_EXT_direct_state_access" },
    { "glMapNamedBufferRange", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glMapNamedBufferRangeEXT", "GL_EXT_direct_state_access" },
    { "glMapObjectBufferATI", "GL_ATI_map_object_buffer" },
    { "glMapParameterfvNV", "GL_NV_evaluators" },
    { "glMapParameterivNV", "GL_NV_evaluators" },
    { "glMapTexture2DINTEL", "GL_INTEL_map_texture" },
    { "glMapVertexAttrib1dAPPLE", "GL_APPLE_vertex_program_evaluators" },
    { "glMapVertexAttrib1fAPPLE", "GL_APPLE_vertex_program_evaluators" },
    { "glMapVertexAttrib2dAPPLE", "GL_APPLE_vertex_program_evaluators" },
    { "glMapVertexAttrib2fAPPLE", "GL_APPLE_vertex_program_evaluators" },
    { "glMaterialxOES", "GL_OES_fixed_point" },
    { "glMaterialxvOES", "GL_OES_fixed_point" },
    { "glMatrixFrustumEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixIndexPointerARB", "GL_ARB_matrix_palette" },
    { "glMatrixIndexubvARB", "GL_ARB_matrix_palette" },
    { "glMatrixIndexuivARB", "GL_ARB_matrix_palette" },
    { "glMatrixIndexusvARB", "GL_ARB_matrix_palette" },
    { "glMatrixLoad3x2fNV", "GL_NV_path_rendering" },
    { "glMatrixLoad3x3fNV", "GL_NV_path_rendering" },
    { "glMatrixLoadIdentityEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixLoadTranspose3x3fNV", "GL_NV_path_rendering" },
    { "glMatrixLoadTransposedEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixLoadTransposefEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixLoaddEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixLoadfEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixMult3x2fNV", "GL_NV_path_rendering" },
    { "glMatrixMult3x3fNV", "GL_NV_path_rendering" },
    { "glMatrixMultTranspose3x3fNV", "GL_NV_path_rendering" },
    { "glMatrixMultTransposedEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixMultTransposefEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixMultdEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixMultfEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixOrthoEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixPopEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixPushEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixRotatedEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixRotatefEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixScaledEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixScalefEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixTranslatedEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMatrixTranslatefEXT", "GL_EXT_direct_state_access GL_NV_path_rendering" },
    { "glMaxShaderCompilerThreadsARB", "GL_ARB_parallel_shader_compile" },
    { "glMaxShaderCompilerThreadsKHR", "GL_KHR_parallel_shader_compile" },
    { "glMemoryBarrier", "GL_ARB_shader_image_load_store GL_VERSION_4_2" },
    { "glMemoryBarrierByRegion", "GL_ARB_ES3_1_compatibility GL_VERSION_4_5" },
    { "glMemoryBarrierEXT", "GL_EXT_shader_image_load_store" },
    { "glMemoryObjectParameterivEXT", "GL_EXT_memory_object" },
    { "glMinSampleShading", "GL_VERSION_4_0" },
    { "glMinSampleShadingARB", "GL_ARB_sample_shading" },
    { "glMinmax", "GL_ARB_imaging" },
    { "glMinmaxEXT", "GL_EXT_histogram" },
    { "glMultMatrixxOES", "GL_OES_fixed_point" },
    { "glMultTransposeMatrixd", "GL_VERSION_1_3" },
    { "glMultTransposeMatrixdARB", "GL_ARB_transpose_matrix" },
    { "glMultTransposeMatrixf", "GL_VERSION_1_3" },
    { "glMultTransposeMatrixfARB", "GL_ARB_transpose_matrix" },
    { "glMultTransposeMatrixxOES", "GL_OES_fixed_point" },
    { "glMultiDrawArrays", "GL_VERSION_1_4" },
    { "glMultiDrawArraysEXT", "GL_EXT_multi_draw_arrays" },
    { "glMultiDrawArraysIndirect", "GL_ARB_multi_draw_indirect GL_VERSION_4_3" },
    { "glMultiDrawArraysIndirectAMD", "GL_AMD_multi_draw_indirect" },
    { "glMultiDrawArraysIndirectBindlessCountNV", "GL_NV_bindless_multi_draw_indirect_count" },
    { "glMultiDrawArraysIndirectBindlessNV", "GL_NV_bindless_multi_draw_indirect" },
    { "glMultiDrawArraysIndirectCount", "GL_VERSION_4_6" },
    { "glMultiDrawArraysIndirectCountARB", "GL_ARB_indirect_parameters" },
    { "glMultiDrawElementArrayAPPLE", "GL_APPLE_element_array" },
    { "glMultiDrawElements", "GL_VERSION_1_4" },
    { "glMultiDrawElementsBaseVertex", "GL_ARB_draw_elements_base_vertex GL_VERSION_3_2" },
    { "glMultiDrawElementsEXT", "GL_EXT_multi_draw_arrays" },
    { "glMultiDrawElementsIndirect", "GL_ARB_multi_draw_indirect GL_VERSION_4_3" },
    { "glMultiDrawElementsIndirectAMD", "GL_AMD_multi_draw_indirect" },
    { "glMultiDrawElementsIndirectBindlessCountNV", "GL_NV_bindless_multi_draw_indirect_count" },
    { "glMultiDrawElementsIndirectBindlessNV", "GL_NV_bindless_multi_draw_indirect" },
    { "glMultiDrawElementsIndirectCount", "GL_VERSION_4_6" },
    { "glMultiDrawElementsIndirectCountARB", "GL_ARB_indirect_parameters" },
    { "glMultiDrawMeshTasksIndirectCountNV", "GL_NV_mesh_shader" },
    { "glMultiDrawMeshTasksIndirectNV", "GL_NV_mesh_shader" },
    { "glMultiDrawRangeElementArrayAPPLE", "GL_APPLE_element_array" },
    { "glMultiModeDrawArraysIBM", "GL_IBM_multimode_draw_arrays" },
    { "glMultiModeDrawElementsIBM", "GL_IBM_multimode_draw_arrays" },
    { "glMultiTexBufferEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexCoord1bOES", "GL_OES_byte_coordinates" },
    { "glMultiTexCoord1bvOES", "GL_OES_byte_coordinates" },
    { "glMultiTexCoord1d", "GL_VERSION_1_3" },
    { "glMultiTexCoord1dARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord1dSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord1dv", "GL_VERSION_1_3" },
    { "glMultiTexCoord1dvARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord1dvSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord1f", "GL_VERSION_1_3" },
    { "glMultiTexCoord1fARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord1fSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord1fv", "GL_VERSION_1_3" },
    { "glMultiTexCoord1fvARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord1fvSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord1hNV", "GL_NV_half_float" },
    { "glMultiTexCoord1hvNV", "GL_NV_half_float" },
    { "glMultiTexCoord1i", "GL_VERSION_1_3" },
    { "glMultiTexCoord1iARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord1iSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord1iv", "GL_VERSION_1_3" },
    { "glMultiTexCoord1ivARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord1ivSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord1s", "GL_VERSION_1_3" },
    { "glMultiTexCoord1sARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord1sSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord1sv", "GL_VERSION_1_3" },
    { "glMultiTexCoord1svARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord1svSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord1xOES", "GL_OES_fixed_point" },
    { "glMultiTexCoord1xvOES", "GL_OES_fixed_point" },
    { "glMultiTexCoord2bOES", "GL_OES_byte_coordinates" },
    { "glMultiTexCoord2bvOES", "GL_OES_byte_coordinates" },
    { "glMultiTexCoord2d", "GL_VERSION_1_3" },
    { "glMultiTexCoord2dARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord2dSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord2dv", "GL_VERSION_1_3" },
    { "glMultiTexCoord2dvARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord2dvSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord2f", "GL_VERSION_1_3" },
    { "glMultiTexCoord2fARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord2fSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord2fv", "GL_VERSION_1_3" },
    { "glMultiTexCoord2fvARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord2fvSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord2hNV", "GL_NV_half_float" },
    { "glMultiTexCoord2hvNV", "GL_NV_half_float" },
    { "glMultiTexCoord2i", "GL_VERSION_1_3" },
    { "glMultiTexCoord2iARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord2iSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord2iv", "GL_VERSION_1_3" },
    { "glMultiTexCoord2ivARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord2ivSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord2s", "GL_VERSION_1_3" },
    { "glMultiTexCoord2sARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord2sSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord2sv", "GL_VERSION_1_3" },
    { "glMultiTexCoord2svARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord2svSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord2xOES", "GL_OES_fixed_point" },
    { "glMultiTexCoord2xvOES", "GL_OES_fixed_point" },
    { "glMultiTexCoord3bOES", "GL_OES_byte_coordinates" },
    { "glMultiTexCoord3bvOES", "GL_OES_byte_coordinates" },
    { "glMultiTexCoord3d", "GL_VERSION_1_3" },
    { "glMultiTexCoord3dARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord3dSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord3dv", "GL_VERSION_1_3" },
    { "glMultiTexCoord3dvARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord3dvSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord3f", "GL_VERSION_1_3" },
    { "glMultiTexCoord3fARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord3fSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord3fv", "GL_VERSION_1_3" },
    { "glMultiTexCoord3fvARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord3fvSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord3hNV", "GL_NV_half_float" },
    { "glMultiTexCoord3hvNV", "GL_NV_half_float" },
    { "glMultiTexCoord3i", "GL_VERSION_1_3" },
    { "glMultiTexCoord3iARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord3iSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord3iv", "GL_VERSION_1_3" },
    { "glMultiTexCoord3ivARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord3ivSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord3s", "GL_VERSION_1_3" },
    { "glMultiTexCoord3sARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord3sSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord3sv", "GL_VERSION_1_3" },
    { "glMultiTexCoord3svARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord3svSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord3xOES", "GL_OES_fixed_point" },
    { "glMultiTexCoord3xvOES", "GL_OES_fixed_point" },
    { "glMultiTexCoord4bOES", "GL_OES_byte_coordinates" },
    { "glMultiTexCoord4bvOES", "GL_OES_byte_coordinates" },
    { "glMultiTexCoord4d", "GL_VERSION_1_3" },
    { "glMultiTexCoord4dARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord4dSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord4dv", "GL_VERSION_1_3" },
    { "glMultiTexCoord4dvARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord4dvSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord4f", "GL_VERSION_1_3" },
    { "glMultiTexCoord4fARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord4fSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord4fv", "GL_VERSION_1_3" },
    { "glMultiTexCoord4fvARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord4fvSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord4hNV", "GL_NV_half_float" },
    { "glMultiTexCoord4hvNV", "GL_NV_half_float" },
    { "glMultiTexCoord4i", "GL_VERSION_1_3" },
    { "glMultiTexCoord4iARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord4iSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord4iv", "GL_VERSION_1_3" },
    { "glMultiTexCoord4ivARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord4ivSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord4s", "GL_VERSION_1_3" },
    { "glMultiTexCoord4sARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord4sSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord4sv", "GL_VERSION_1_3" },
    { "glMultiTexCoord4svARB", "GL_ARB_multitexture" },
    { "glMultiTexCoord4svSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexCoord4xOES", "GL_OES_fixed_point" },
    { "glMultiTexCoord4xvOES", "GL_OES_fixed_point" },
    { "glMultiTexCoordP1ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glMultiTexCoordP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glMultiTexCoordP2ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glMultiTexCoordP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glMultiTexCoordP3ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glMultiTexCoordP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glMultiTexCoordP4ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glMultiTexCoordP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glMultiTexCoordPointerEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexCoordPointerSGIS", "GL_SGIS_multitexture" },
    { "glMultiTexEnvfEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexEnvfvEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexEnviEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexEnvivEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexGendEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexGendvEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexGenfEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexGenfvEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexGeniEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexGenivEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexImage1DEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexImage2DEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexImage3DEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexParameterIivEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexParameterIuivEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexParameterfEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexParameterfvEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexParameteriEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexParameterivEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexRenderbufferEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexSubImage1DEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexSubImage2DEXT", "GL_EXT_direct_state_access" },
    { "glMultiTexSubImage3DEXT", "GL_EXT_direct_state_access" },
    { "glMulticastBarrierNV", "GL_NV_gpu_multicast" },
    { "glMulticastBlitFramebufferNV", "GL_NV_gpu_multicast" },
    { "glMulticastBufferSubDataNV", "GL_NV_gpu_multicast" },
    { "glMulticastCopyBufferSubDataNV", "GL_NV_gpu_multicast" },
    { "glMulticastCopyImageSubDataNV", "GL_NV_gpu_multicast" },
    { "glMulticastFramebufferSampleLocationsfvNV", "GL_NV_gpu_multicast" },
    { "glMulticastGetQueryObjecti64vNV", "GL_NV_gpu_multicast" },
    { "glMulticastGetQueryObjectivNV", "GL_NV_gpu_multicast" },
    { "glMulticastGetQueryObjectui64vNV", "GL_NV_gpu_multicast" },
    { "glMulticastGetQueryObjectuivNV", "GL_NV_gpu_multicast" },
    { "glMulticastScissorArrayvNVX", "GL_NVX_gpu_multicast2" },
    { "glMulticastViewportArrayvNVX", "GL_NVX_gpu_multicast2" },
    { "glMulticastViewportPositionWScaleNVX", "GL_NVX_gpu_multicast2" },
    { "glMulticastWaitSyncNV", "GL_NV_gpu_multicast" },
    { "glNamedBufferAttachMemoryNV", "GL_NV_memory_attachment" },
    { "glNamedBufferData", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedBufferDataEXT", "GL_EXT_direct_state_access" },
    { "glNamedBufferPageCommitmentARB", "GL_ARB_sparse_buffer" },
    { "glNamedBufferPageCommitmentEXT", "GL_ARB_sparse_buffer" },
    { "glNamedBufferStorage", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedBufferStorageEXT", "GL_EXT_direct_state_access" },
    { "glNamedBufferStorageExternalEXT", "GL_EXT_external_buffer" },
    { "glNamedBufferStorageMemEXT", "GL_EXT_memory_object" },
    { "glNamedBufferSubData", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedBufferSubDataEXT", "GL_EXT_direct_state_access" },
    { "glNamedCopyBufferSubDataEXT", "GL_EXT_direct_state_access" },
    { "glNamedFramebufferDrawBuffer", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedFramebufferDrawBuffers", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedFramebufferParameteri", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedFramebufferParameteriEXT", "GL_EXT_direct_state_access" },
    { "glNamedFramebufferReadBuffer", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedFramebufferRenderbuffer", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedFramebufferRenderbufferEXT", "GL_EXT_direct_state_access" },
    { "glNamedFramebufferSampleLocationsfvARB", "GL_ARB_sample_locations" },
    { "glNamedFramebufferSampleLocationsfvNV", "GL_NV_sample_locations" },
    { "glNamedFramebufferSamplePositionsfvAMD", "GL_AMD_framebuffer_sample_positions" },
    { "glNamedFramebufferTexture", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedFramebufferTexture1DEXT", "GL_EXT_direct_state_access" },
    { "glNamedFramebufferTexture2DEXT", "GL_EXT_direct_state_access" },
    { "glNamedFramebufferTexture3DEXT", "GL_EXT_direct_state_access" },
    { "glNamedFramebufferTextureEXT", "GL_EXT_direct_state_access" },
    { "glNamedFramebufferTextureFaceEXT", "GL_EXT_direct_state_access" },
    { "glNamedFramebufferTextureLayer", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedFramebufferTextureLayerEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramLocalParameter4dEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramLocalParameter4dvEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramLocalParameter4fEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramLocalParameter4fvEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramLocalParameterI4iEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramLocalParameterI4ivEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramLocalParameterI4uiEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramLocalParameterI4uivEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramLocalParameters4fvEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramLocalParametersI4ivEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramLocalParametersI4uivEXT", "GL_EXT_direct_state_access" },
    { "glNamedProgramStringEXT", "GL_EXT_direct_state_access" },
    { "glNamedRenderbufferStorage", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedRenderbufferStorageEXT", "GL_EXT_direct_state_access" },
    { "glNamedRenderbufferStorageMultisample", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glNamedRenderbufferStorageMultisampleAdvancedAMD", "GL_AMD_framebuffer_multisample_advanced" },
    { "glNamedRenderbufferStorageMultisampleCoverageEXT", "GL_EXT_direct_state_access" },
    { "glNamedRenderbufferStorageMultisampleEXT", "GL_EXT_direct_state_access" },
    { "glNamedStringARB", "GL_ARB_shading_language_include" },
    { "glNewBufferRegion", "GL_KTX_buffer_region" },
    { "glNewObjectBufferATI", "GL_ATI_vertex_array_object" },
    { "glNormal3fVertex3fSUN", "GL_SUN_vertex" },
    { "glNormal3fVertex3fvSUN", "GL_SUN_vertex" },
    { "glNormal3hNV", "GL_NV_half_float" },
    { "glNormal3hvNV", "GL_NV_half_float" },
    { "glNormal3xOES", "GL_OES_fixed_point" },
    { "glNormal3xvOES", "GL_OES_fixed_point" },
    { "glNormalFormatNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glNormalP3ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glNormalP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glNormalPointerEXT", "GL_EXT_vertex_array" },
    { "glNormalPointerListIBM", "GL_IBM_vertex_array_lists" },
    { "glNormalPointervINTEL", "GL_INTEL_parallel_arrays" },
    { "glNormalStream3bATI", "GL_ATI_vertex_streams" },
    { "glNormalStream3bvATI", "GL_ATI_vertex_streams" },
    { "glNormalStream3dATI", "GL_ATI_vertex_streams" },
    { "glNormalStream3dvATI", "GL_ATI_vertex_streams" },
    { "glNormalStream3fATI", "GL_ATI_vertex_streams" },
    { "glNormalStream3fvATI", "GL_ATI_vertex_streams" },
    { "glNormalStream3iATI", "GL_ATI_vertex_streams" },
    { "glNormalStream3ivATI", "GL_ATI_vertex_streams" },
    { "glNormalStream3sATI", "GL_ATI_vertex_streams" },
    { "glNormalStream3svATI", "GL_ATI_vertex_streams" },
    { "glObjectLabel", "GL_KHR_debug GL_VERSION_4_3" },
    { "glObjectPtrLabel", "GL_KHR_debug GL_VERSION_4_3" },
    { "glObjectPurgeableAPPLE", "GL_APPLE_object_purgeable" },
    { "glObjectUnpurgeableAPPLE", "GL_APPLE_object_purgeable" },
    { "glOrthofOES", "GL_OES_single_precision" },
    { "glOrthoxOES", "GL_OES_fixed_point" },
    { "glPNTrianglesfATI", "GL_ATI_pn_triangles" },
    { "glPNTrianglesiATI", "GL_ATI_pn_triangles" },
    { "glPassTexCoordATI", "GL_ATI_fragment_shader" },
    { "glPassThroughxOES", "GL_OES_fixed_point" },
    { "glPatchParameterfv", "GL_ARB_tessellation_shader GL_VERSION_4_0" },
    { "glPatchParameteri", "GL_ARB_tessellation_shader GL_VERSION_4_0" },
    { "glPathColorGenNV", "GL_NV_path_rendering" },
    { "glPathCommandsNV", "GL_NV_path_rendering" },
    { "glPathCoordsNV", "GL_NV_path_rendering" },
    { "glPathCoverDepthFuncNV", "GL_NV_path_rendering" },
    { "glPathDashArrayNV", "GL_NV_path_rendering" },
    { "glPathFogGenNV", "GL_NV_path_rendering" },
    { "glPathGlyphIndexArrayNV", "GL_NV_path_rendering" },
    { "glPathGlyphIndexRangeNV", "GL_NV_path_rendering" },
    { "glPathGlyphRangeNV", "GL_NV_path_rendering" },
    { "glPathGlyphsNV", "GL_NV_path_rendering" },
    { "glPathMemoryGlyphIndexArrayNV", "GL_NV_path_rendering" },
    { "glPathParameterfNV", "GL_NV_path_rendering" },
    { "glPathParameterfvNV", "GL_NV_path_rendering" },
    { "glPathParameteriNV", "GL_NV_path_rendering" },
    { "glPathParameterivNV", "GL_NV_path_rendering" },
    { "glPathStencilDepthOffsetNV", "GL_NV_path_rendering" },
    { "glPathStencilFuncNV", "GL_NV_path_rendering" },
    { "glPathStringNV", "GL_NV_path_rendering" },
    { "glPathSubCommandsNV", "GL_NV_path_rendering" },
    { "glPathSubCoordsNV", "GL_NV_path_rendering" },
    { "glPathTexGenNV", "GL_NV_path_rendering" },
    { "glPauseTransformFeedback", "GL_ARB_transform_feedback2 GL_VERSION_4_0" },
    { "glPauseTransformFeedbackNV", "GL_NV_transform_feedback2" },
    { "glPixelDataRangeNV", "GL_NV_pixel_data_range" },
    { "glPixelMapx", "GL_OES_fixed_point" },
    { "glPixelStorex", "GL_OES_fixed_point" },
    { "glPixelTexGenParameterfSGIS", "GL_SGIS_pixel_texture" },
    { "glPixelTexGenParameterfvSGIS", "GL_SGIS_pixel_texture" },
    { "glPixelTexGenParameteriSGIS", "GL_SGIS_pixel_texture" },
    { "glPixelTexGenParameterivSGIS", "GL_SGIS_pixel_texture" },
    { "glPixelTexGenSGIX", "GL_SGIX_pixel_texture" },
    { "glPixelTransferxOES", "GL_OES_fixed_point" },
    { "glPixelTransformParameterfEXT", "GL_EXT_pixel_transform" },
    { "glPixelTransformParameterfvEXT", "GL_EXT_pixel_transform" },
    { "glPixelTransformParameteriEXT", "GL_EXT_pixel_transform" },
    { "glPixelTransformParameterivEXT", "GL_EXT_pixel_transform" },
    { "glPixelZoomxOES", "GL_OES_fixed_point" },
    { "glPointAlongPathNV", "GL_NV_path_rendering" },
    { "glPointParameterf", "GL_VERSION_1_4" },
    { "glPointParameterfARB", "GL_ARB_point_parameters" },
    { "glPointParameterfEXT", "GL_EXT_point_parameters" },
    { "glPointParameterfSGIS", "GL_SGIS_point_parameters" },
    { "glPointParameterfv", "GL_VERSION_1_4" },
    { "glPointParameterfvARB", "GL_ARB_point_parameters" },
    { "glPointParameterfvEXT", "GL_EXT_point_parameters" },
    { "glPointParameterfvSGIS", "GL_SGIS_point_parameters" },
    { "glPointParameteri", "GL_VERSION_1_4" },
    { "glPointParameteriNV", "GL_NV_point_sprite" },
    { "glPointParameteriv", "GL_VERSION_1_4" },
    { "glPointParameterivNV", "GL_NV_point_sprite" },
    { "glPointParameterxvOES", "GL_OES_fixed_point" },
    { "glPointSizexOES", "GL_OES_fixed_point" },
    { "glPollAsyncSGIX", "GL_SGIX_async" },
    { "glPollInstrumentsSGIX", "GL_SGIX_instruments" },
    { "glPolygonOffsetClamp", "GL_ARB_polygon_offset_clamp GL_VERSION_4_6" },
    { "glPolygonOffsetClampEXT", "GL_EXT_polygon_offset_clamp" },
    { "glPolygonOffsetEXT", "GL_EXT_polygon_offset" },
    { "glPolygonOffsetxOES", "GL_OES_fixed_point" },
    { "glPopDebugGroup", "GL_KHR_debug GL_VERSION_4_3" },
    { "glPopGroupMarkerEXT", "GL_EXT_debug_marker" },
    { "glPresentFrameDualFillNV", "GL_NV_present_video" },
    { "glPresentFrameKeyedNV", "GL_NV_present_video" },
    { "glPrimitiveBoundingBoxARB", "GL_ARB_ES3_2_compatibility" },
    { "glPrimitiveRestartIndex", "GL_VERSION_3_1" },
    { "glPrimitiveRestartIndexNV", "GL_NV_primitive_restart" },
    { "glPrimitiveRestartNV", "GL_NV_primitive_restart" },
    { "glPrioritizeTexturesEXT", "GL_EXT_texture_object" },
    { "glPrioritizeTexturesxOES", "GL_OES_fixed_point" },
    { "glProgramBinary", "GL_ARB_get_program_binary GL_VERSION_4_1" },
    { "glProgramBufferParametersIivNV", "GL_NV_parameter_buffer_object" },
    { "glProgramBufferParametersIuivNV", "GL_NV_parameter_buffer_object" },
    { "glProgramBufferParametersfvNV", "GL_NV_parameter_buffer_object" },
    { "glProgramEnvParameter4dARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glProgramEnvParameter4dvARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glProgramEnvParameter4fARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glProgramEnvParameter4fvARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glProgramEnvParameterI4iNV", "GL_NV_gpu_program4" },
    { "glProgramEnvParameterI4ivNV", "GL_NV_gpu_program4" },
    { "glProgramEnvParameterI4uiNV", "GL_NV_gpu_program4" },
    { "glProgramEnvParameterI4uivNV", "GL_NV_gpu_program4" },
    { "glProgramEnvParameters4fvEXT", "GL_EXT_gpu_program_parameters" },
    { "glProgramEnvParametersI4ivNV", "GL_NV_gpu_program4" },
    { "glProgramEnvParametersI4uivNV", "GL_NV_gpu_program4" },
    { "glProgramLocalParameter4dARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glProgramLocalParameter4dvARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glProgramLocalParameter4fARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glProgramLocalParameter4fvARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glProgramLocalParameterI4iNV", "GL_NV_gpu_program4" },
    { "glProgramLocalParameterI4ivNV", "GL_NV_gpu_program4" },
    { "glProgramLocalParameterI4uiNV", "GL_NV_gpu_program4" },
    { "glProgramLocalParameterI4uivNV", "GL_NV_gpu_program4" },
    { "glProgramLocalParameters4fvEXT", "GL_EXT_gpu_program_parameters" },
    { "glProgramLocalParametersI4ivNV", "GL_NV_gpu_program4" },
    { "glProgramLocalParametersI4uivNV", "GL_NV_gpu_program4" },
    { "glProgramNamedParameter4dNV", "GL_NV_fragment_program" },
    { "glProgramNamedParameter4dvNV", "GL_NV_fragment_program" },
    { "glProgramNamedParameter4fNV", "GL_NV_fragment_program" },
    { "glProgramNamedParameter4fvNV", "GL_NV_fragment_program" },
    { "glProgramParameter4dNV", "GL_NV_vertex_program" },
    { "glProgramParameter4dvNV", "GL_NV_vertex_program" },
    { "glProgramParameter4fNV", "GL_NV_vertex_program" },
    { "glProgramParameter4fvNV", "GL_NV_vertex_program" },
    { "glProgramParameteri", "GL_ARB_get_program_binary GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramParameteriARB", "GL_ARB_geometry_shader4" },
    { "glProgramParameteriEXT", "GL_EXT_geometry_shader4" },
    { "glProgramParameters4dvNV", "GL_NV_vertex_program" },
    { "glProgramParameters4fvNV", "GL_NV_vertex_program" },
    { "glProgramPathFragmentInputGenNV", "GL_NV_path_rendering" },
    { "glProgramStringARB", "GL_ARB_fragment_program GL_ARB_vertex_program" },
    { "glProgramSubroutineParametersuivNV", "GL_NV_gpu_program5" },
    { "glProgramUniform1d", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform1dEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform1dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform1dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform1f", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform1fEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform1fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform1fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform1i", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform1i64ARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform1i64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform1i64vARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform1i64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform1iEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform1iv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform1ivEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform1ui", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform1ui64ARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform1ui64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform1ui64vARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform1ui64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform1uiEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform1uiv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform1uivEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform2d", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform2dEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform2dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform2dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform2f", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform2fEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform2fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform2fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform2i", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform2i64ARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform2i64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform2i64vARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform2i64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform2iEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform2iv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform2ivEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform2ui", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform2ui64ARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform2ui64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform2ui64vARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform2ui64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform2uiEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform2uiv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform2uivEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform3d", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform3dEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform3dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform3dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform3f", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform3fEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform3fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform3fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform3i", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform3i64ARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform3i64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform3i64vARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform3i64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform3iEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform3iv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform3ivEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform3ui", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform3ui64ARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform3ui64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform3ui64vARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform3ui64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform3uiEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform3uiv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform3uivEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform4d", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform4dEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform4dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform4dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform4f", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform4fEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform4fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform4fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform4i", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform4i64ARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform4i64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform4i64vARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform4i64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform4iEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform4iv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform4ivEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform4ui", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform4ui64ARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform4ui64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform4ui64vARB", "GL_ARB_gpu_shader_int64" },
    { "glProgramUniform4ui64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glProgramUniform4uiEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniform4uiv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniform4uivEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformHandleui64ARB", "GL_ARB_bindless_texture" },
    { "glProgramUniformHandleui64NV", "GL_NV_bindless_texture" },
    { "glProgramUniformHandleui64vARB", "GL_ARB_bindless_texture" },
    { "glProgramUniformHandleui64vNV", "GL_NV_bindless_texture" },
    { "glProgramUniformMatrix2dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix2dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix2fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix2fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix2x3dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix2x3dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix2x3fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix2x3fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix2x4dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix2x4dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix2x4fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix2x4fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix3dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix3dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix3fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix3fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix3x2dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix3x2dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix3x2fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix3x2fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix3x4dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix3x4dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix3x4fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix3x4fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix4dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix4dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix4fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix4fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix4x2dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix4x2dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix4x2fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix4x2fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix4x3dv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix4x3dvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformMatrix4x3fv", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glProgramUniformMatrix4x3fvEXT", "GL_EXT_direct_state_access" },
    { "glProgramUniformui64NV", "GL_NV_shader_buffer_load" },
    { "glProgramUniformui64vNV", "GL_NV_shader_buffer_load" },
    { "glProgramVertexLimitNV", "GL_NV_geometry_program4" },
    { "glProvokingVertex", "GL_ARB_provoking_vertex GL_VERSION_3_2" },
    { "glProvokingVertexEXT", "GL_EXT_provoking_vertex" },
    { "glPushClientAttribDefaultEXT", "GL_EXT_direct_state_access" },
    { "glPushDebugGroup", "GL_KHR_debug GL_VERSION_4_3" },
    { "glPushGroupMarkerEXT", "GL_EXT_debug_marker" },
    { "glQueryCounter", "GL_ARB_timer_query GL_VERSION_3_3" },
    { "glQueryMatrixxOES", "GL_OES_query_matrix" },
    { "glQueryObjectParameteruiAMD", "GL_AMD_occlusion_query_event" },
    { "glQueryResourceNV", "GL_NV_query_resource" },
    { "glQueryResourceTagNV", "GL_NV_query_resource_tag" },
    { "glRasterPos2xOES", "GL_OES_fixed_point" },
    { "glRasterPos2xvOES", "GL_OES_fixed_point" },
    { "glRasterPos3xOES", "GL_OES_fixed_point" },
    { "glRasterPos3xvOES", "GL_OES_fixed_point" },
    { "glRasterPos4xOES", "GL_OES_fixed_point" },
    { "glRasterPos4xvOES", "GL_OES_fixed_point" },
    { "glRasterSamplesEXT", "GL_EXT_raster_multisample GL_NV_framebuffer_mixed_samples" },
    { "glReadBufferRegion", "GL_KTX_buffer_region" },
    { "glReadInstrumentsSGIX", "GL_SGIX_instruments" },
    { "glReadnPixels", "GL_KHR_robustness GL_VERSION_4_5" },
    { "glReadnPixelsARB", "GL_ARB_robustness" },
    { "glRectxOES", "GL_OES_fixed_point" },
    { "glRectxvOES", "GL_OES_fixed_point" },
    { "glReferencePlaneSGIX", "GL_SGIX_reference_plane" },
    { "glReleaseKeyedMutexWin32EXT", "GL_EXT_win32_keyed_mutex" },
    { "glReleaseShaderCompiler", "GL_ARB_ES2_compatibility GL_VERSION_4_1" },
    { "glRenderGpuMaskNV", "GL_NV_gpu_multicast" },
    { "glRenderbufferStorage", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glRenderbufferStorageEXT", "GL_EXT_framebuffer_object" },
    { "glRenderbufferStorageMultisample", "GL_ARB_framebuffer_object GL_VERSION_3_0" },
    { "glRenderbufferStorageMultisampleAdvancedAMD", "GL_AMD_framebuffer_multisample_advanced" },
    { "glRenderbufferStorageMultisampleCoverageNV", "GL_NV_framebuffer_multisample_coverage" },
    { "glRenderbufferStorageMultisampleEXT", "GL_EXT_framebuffer_multisample" },
    { "glReplacementCodePointerSUN", "GL_SUN_triangle_list" },
    { "glReplacementCodeubSUN", "GL_SUN_triangle_list" },
    { "glReplacementCodeubvSUN", "GL_SUN_triangle_list" },
    { "glReplacementCodeuiColor3fVertex3fSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiColor3fVertex3fvSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiColor4fNormal3fVertex3fSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiColor4ubVertex3fSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiColor4ubVertex3fvSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiNormal3fVertex3fSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiNormal3fVertex3fvSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiSUN", "GL_SUN_triangle_list" },
    { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiTexCoord2fVertex3fSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiTexCoord2fVertex3fvSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiVertex3fSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuiVertex3fvSUN", "GL_SUN_vertex" },
    { "glReplacementCodeuivSUN", "GL_SUN_triangle_list" },
    { "glReplacementCodeusSUN", "GL_SUN_triangle_list" },
    { "glReplacementCodeusvSUN", "GL_SUN_triangle_list" },
    { "glRequestResidentProgramsNV", "GL_NV_vertex_program" },
    { "glResetHistogram", "GL_ARB_imaging" },
    { "glResetHistogramEXT", "GL_EXT_histogram" },
    { "glResetMemoryObjectParameterNV", "GL_NV_memory_attachment" },
    { "glResetMinmax", "GL_ARB_imaging" },
    { "glResetMinmaxEXT", "GL_EXT_histogram" },
    { "glResizeBuffersMESA", "GL_MESA_resize_buffers" },
    { "glResolveDepthValuesNV", "GL_NV_sample_locations" },
    { "glResumeTransformFeedback", "GL_ARB_transform_feedback2 GL_VERSION_4_0" },
    { "glResumeTransformFeedbackNV", "GL_NV_transform_feedback2" },
    { "glRotatexOES", "GL_OES_fixed_point" },
    { "glSampleCoverage", "GL_VERSION_1_3" },
    { "glSampleCoverageARB", "GL_ARB_multisample" },
    { "glSampleMapATI", "GL_ATI_fragment_shader" },
    { "glSampleMaskEXT", "GL_EXT_multisample" },
    { "glSampleMaskIndexedNV", "GL_NV_explicit_multisample" },
    { "glSampleMaskSGIS", "GL_SGIS_multisample" },
    { "glSampleMaski", "GL_ARB_texture_multisample GL_VERSION_3_2" },
    { "glSamplePatternEXT", "GL_EXT_multisample" },
    { "glSamplePatternSGIS", "GL_SGIS_multisample" },
    { "glSamplerParameterIiv", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glSamplerParameterIuiv", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glSamplerParameterf", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glSamplerParameterfv", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glSamplerParameteri", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glSamplerParameteriv", "GL_ARB_sampler_objects GL_VERSION_3_3" },
    { "glScalexOES", "GL_OES_fixed_point" },
    { "glScissorArrayv", "GL_ARB_viewport_array GL_VERSION_4_1" },
    { "glScissorExclusiveArrayvNV", "GL_NV_scissor_exclusive" },
    { "glScissorExclusiveNV", "GL_NV_scissor_exclusive" },
    { "glScissorIndexed", "GL_ARB_viewport_array GL_VERSION_4_1" },
    { "glScissorIndexedv", "GL_ARB_viewport_array GL_VERSION_4_1" },
    { "glSecondaryColor3b", "GL_VERSION_1_4" },
    { "glSecondaryColor3bEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3bv", "GL_VERSION_1_4" },
    { "glSecondaryColor3bvEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3d", "GL_VERSION_1_4" },
    { "glSecondaryColor3dEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3dv", "GL_VERSION_1_4" },
    { "glSecondaryColor3dvEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3f", "GL_VERSION_1_4" },
    { "glSecondaryColor3fEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3fv", "GL_VERSION_1_4" },
    { "glSecondaryColor3fvEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3hNV", "GL_NV_half_float" },
    { "glSecondaryColor3hvNV", "GL_NV_half_float" },
    { "glSecondaryColor3i", "GL_VERSION_1_4" },
    { "glSecondaryColor3iEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3iv", "GL_VERSION_1_4" },
    { "glSecondaryColor3ivEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3s", "GL_VERSION_1_4" },
    { "glSecondaryColor3sEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3sv", "GL_VERSION_1_4" },
    { "glSecondaryColor3svEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3ub", "GL_VERSION_1_4" },
    { "glSecondaryColor3ubEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3ubv", "GL_VERSION_1_4" },
    { "glSecondaryColor3ubvEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3ui", "GL_VERSION_1_4" },
    { "glSecondaryColor3uiEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3uiv", "GL_VERSION_1_4" },
    { "glSecondaryColor3uivEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3us", "GL_VERSION_1_4" },
    { "glSecondaryColor3usEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColor3usv", "GL_VERSION_1_4" },
    { "glSecondaryColor3usvEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColorFormatNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glSecondaryColorP3ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glSecondaryColorP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glSecondaryColorPointer", "GL_VERSION_1_4" },
    { "glSecondaryColorPointerEXT", "GL_EXT_secondary_color" },
    { "glSecondaryColorPointerListIBM", "GL_IBM_vertex_array_lists" },
    { "glSelectPerfMonitorCountersAMD", "GL_AMD_performance_monitor" },
    { "glSelectTextureCoordSetSGIS", "GL_SGIS_multitexture" },
    { "glSelectTextureSGIS", "GL_SGIS_multitexture" },
    { "glSemaphoreParameterui64vEXT", "GL_EXT_semaphore" },
    { "glSeparableFilter2D", "GL_ARB_imaging" },
    { "glSeparableFilter2DEXT", "GL_EXT_convolution" },
    { "glSetFenceAPPLE", "GL_APPLE_fence" },
    { "glSetFenceNV", "GL_NV_fence" },
    { "glSetFragmentShaderConstantATI", "GL_ATI_fragment_shader" },
    { "glSetInvariantEXT", "GL_EXT_vertex_shader" },
    { "glSetLocalConstantEXT", "GL_EXT_vertex_shader" },
    { "glSetMultisamplefvAMD", "GL_AMD_sample_positions" },
    { "glShaderBinary", "GL_ARB_ES2_compatibility GL_VERSION_4_1" },
    { "glShaderOp1EXT", "GL_EXT_vertex_shader" },
    { "glShaderOp2EXT", "GL_EXT_vertex_shader" },
    { "glShaderOp3EXT", "GL_EXT_vertex_shader" },
    { "glShaderSource", "GL_VERSION_2_0" },
    { "glShaderSourceARB", "GL_ARB_shader_objects" },
    { "glShaderStorageBlockBinding", "GL_ARB_shader_storage_buffer_object GL_VERSION_4_3" },
    { "glShadingRateImageBarrierNV", "GL_NV_shading_rate_image GL_NV_shading_rate_image" },
    { "glShadingRateImagePaletteNV", "GL_NV_shading_rate_image" },
    { "glShadingRateSampleOrderCustomNV", "GL_NV_shading_rate_image" },
    { "glShadingRateSampleOrderNV", "GL_NV_shading_rate_image" },
    { "glSharpenTexFuncSGIS", "GL_SGIS_sharpen_texture" },
    { "glSignalSemaphoreEXT", "GL_EXT_semaphore" },
    { "glSignalSemaphoreui64NVX", "GL_NVX_progress_fence" },
    { "glSignalVkFenceNV", "GL_NV_draw_vulkan_image" },
    { "glSignalVkSemaphoreNV", "GL_NV_draw_vulkan_image" },
    { "glSpecializeShader", "GL_VERSION_4_6" },
    { "glSpecializeShaderARB", "GL_ARB_gl_spirv" },
    { "glSpriteParameterfSGIX", "GL_SGIX_sprite" },
    { "glSpriteParameterfvSGIX", "GL_SGIX_sprite" },
    { "glSpriteParameteriSGIX", "GL_SGIX_sprite" },
    { "glSpriteParameterivSGIX", "GL_SGIX_sprite" },
    { "glStartInstrumentsSGIX", "GL_SGIX_instruments" },
    { "glStateCaptureNV", "GL_NV_command_list" },
    { "glStencilClearTagEXT", "GL_EXT_stencil_clear_tag" },
    { "glStencilFillPathInstancedNV", "GL_NV_path_rendering" },
    { "glStencilFillPathNV", "GL_NV_path_rendering" },
    { "glStencilFuncSeparate", "GL_VERSION_2_0" },
    { "glStencilFuncSeparateATI", "GL_ATI_separate_stencil" },
    { "glStencilMaskSeparate", "GL_VERSION_2_0" },
    { "glStencilOpSeparate", "GL_VERSION_2_0" },
    { "glStencilOpSeparateATI", "GL_ATI_separate_stencil" },
    { "glStencilOpValueAMD", "GL_AMD_stencil_operation_extended" },
    { "glStencilStrokePathInstancedNV", "GL_NV_path_rendering" },
    { "glStencilStrokePathNV", "GL_NV_path_rendering" },
    { "glStencilThenCoverFillPathInstancedNV", "GL_NV_path_rendering" },
    { "glStencilThenCoverFillPathNV", "GL_NV_path_rendering" },
    { "glStencilThenCoverStrokePathInstancedNV", "GL_NV_path_rendering" },
    { "glStencilThenCoverStrokePathNV", "GL_NV_path_rendering" },
    { "glStopInstrumentsSGIX", "GL_SGIX_instruments" },
    { "glStringMarkerGREMEDY", "GL_GREMEDY_string_marker" },
    { "glSubpixelPrecisionBiasNV", "GL_NV_conservative_raster" },
    { "glSwizzleEXT", "GL_EXT_vertex_shader" },
    { "glSyncTextureINTEL", "GL_INTEL_map_texture" },
    { "glTagSampleBufferSGIX", "GL_SGIX_tag_sample_buffer" },
    { "glTangent3bEXT", "GL_EXT_coordinate_frame" },
    { "glTangent3bvEXT", "GL_EXT_coordinate_frame" },
    { "glTangent3dEXT", "GL_EXT_coordinate_frame" },
    { "glTangent3dvEXT", "GL_EXT_coordinate_frame" },
    { "glTangent3fEXT", "GL_EXT_coordinate_frame" },
    { "glTangent3fvEXT", "GL_EXT_coordinate_frame" },
    { "glTangent3iEXT", "GL_EXT_coordinate_frame" },
    { "glTangent3ivEXT", "GL_EXT_coordinate_frame" },
    { "glTangent3sEXT", "GL_EXT_coordinate_frame" },
    { "glTangent3svEXT", "GL_EXT_coordinate_frame" },
    { "glTangentPointerEXT", "GL_EXT_coordinate_frame" },
    { "glTbufferMask3DFX", "GL_3DFX_tbuffer" },
    { "glTessellationFactorAMD", "GL_AMD_vertex_shader_tessellator" },
    { "glTessellationModeAMD", "GL_AMD_vertex_shader_tessellator" },
    { "glTestFenceAPPLE", "GL_APPLE_fence" },
    { "glTestFenceNV", "GL_NV_fence" },
    { "glTestObjectAPPLE", "GL_APPLE_fence" },
    { "glTexAttachMemoryNV", "GL_NV_memory_attachment" },
    { "glTexBuffer", "GL_VERSION_3_1" },
    { "glTexBufferARB", "GL_ARB_texture_buffer_object" },
    { "glTexBufferEXT", "GL_EXT_texture_buffer_object" },
    { "glTexBufferRange", "GL_ARB_texture_buffer_range GL_VERSION_4_3" },
    { "glTexBumpParameterfvATI", "GL_ATI_envmap_bumpmap" },
    { "glTexBumpParameterivATI", "GL_ATI_envmap_bumpmap" },
    { "glTexCoord1bOES", "GL_OES_byte_coordinates" },
    { "glTexCoord1bvOES", "GL_OES_byte_coordinates" },
    { "glTexCoord1hNV", "GL_NV_half_float" },
    { "glTexCoord1hvNV", "GL_NV_half_float" },
    { "glTexCoord1xOES", "GL_OES_fixed_point" },
    { "glTexCoord1xvOES", "GL_OES_fixed_point" },
    { "glTexCoord2bOES", "GL_OES_byte_coordinates" },
    { "glTexCoord2bvOES", "GL_OES_byte_coordinates" },
    { "glTexCoord2fColor3fVertex3fSUN", "GL_SUN_vertex" },
    { "glTexCoord2fColor3fVertex3fvSUN", "GL_SUN_vertex" },
    { "glTexCoord2fColor4fNormal3fVertex3fSUN", "GL_SUN_vertex" },
    { "glTexCoord2fColor4fNormal3fVertex3fvSUN", "GL_SUN_vertex" },
    { "glTexCoord2fColor4ubVertex3fSUN", "GL_SUN_vertex" },
    { "glTexCoord2fColor4ubVertex3fvSUN", "GL_SUN_vertex" },
    { "glTexCoord2fNormal3fVertex3fSUN", "GL_SUN_vertex" },
    { "glTexCoord2fNormal3fVertex3fvSUN", "GL_SUN_vertex" },
    { "glTexCoord2fVertex3fSUN", "GL_SUN_vertex" },
    { "glTexCoord2fVertex3fvSUN", "GL_SUN_vertex" },
    { "glTexCoord2hNV", "GL_NV_half_float" },
    { "glTexCoord2hvNV", "GL_NV_half_float" },
    { "glTexCoord2xOES", "GL_OES_fixed_point" },
    { "glTexCoord2xvOES", "GL_OES_fixed_point" },
    { "glTexCoord3bOES", "GL_OES_byte_coordinates" },
    { "glTexCoord3bvOES", "GL_OES_byte_coordinates" },
    { "glTexCoord3hNV", "GL_NV_half_float" },
    { "glTexCoord3hvNV", "GL_NV_half_float" },
    { "glTexCoord3xOES", "GL_OES_fixed_point" },
    { "glTexCoord3xvOES", "GL_OES_fixed_point" },
    { "glTexCoord4bOES", "GL_OES_byte_coordinates" },
    { "glTexCoord4bvOES", "GL_OES_byte_coordinates" },
    { "glTexCoord4fColor4fNormal3fVertex4fSUN", "GL_SUN_vertex" },
    { "glTexCoord4fColor4fNormal3fVertex4fvSUN", "GL_SUN_vertex" },
    { "glTexCoord4fVertex4fSUN", "GL_SUN_vertex" },
    { "glTexCoord4fVertex4fvSUN", "GL_SUN_vertex" },
    { "glTexCoord4hNV", "GL_NV_half_float" },
    { "glTexCoord4hvNV", "GL_NV_half_float" },
    { "glTexCoord4xOES", "GL_OES_fixed_point" },
    { "glTexCoord4xvOES", "GL_OES_fixed_point" },
    { "glTexCoordFormatNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glTexCoordP1ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glTexCoordP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glTexCoordP2ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glTexCoordP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glTexCoordP3ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glTexCoordP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glTexCoordP4ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glTexCoordP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glTexCoordPointerEXT", "GL_EXT_vertex_array" },
    { "glTexCoordPointerListIBM", "GL_IBM_vertex_array_lists" },
    { "glTexCoordPointervINTEL", "GL_INTEL_parallel_arrays" },
    { "glTexEnvxOES", "GL_OES_fixed_point" },
    { "glTexEnvxvOES", "GL_OES_fixed_point" },
    { "glTexFilterFuncSGIS", "GL_SGIS_texture_filter4" },
    { "glTexGenxOES", "GL_OES_fixed_point" },
    { "glTexGenxvOES", "GL_OES_fixed_point" },
    { "glTexImage2DMultisample", "GL_ARB_texture_multisample GL_VERSION_3_2" },
    { "glTexImage2DMultisampleCoverageNV", "GL_NV_texture_multisample" },
    { "glTexImage3D", "GL_VERSION_1_2" },
    { "glTexImage3DEXT", "GL_EXT_texture3D" },
    { "glTexImage3DMultisample", "GL_ARB_texture_multisample GL_VERSION_3_2" },
    { "glTexImage3DMultisampleCoverageNV", "GL_NV_texture_multisample" },
    { "glTexImage4DSGIS", "GL_SGIS_texture4D" },
    { "glTexPageCommitmentARB", "GL_ARB_sparse_texture" },
    { "glTexParameterIiv", "GL_VERSION_3_0" },
    { "glTexParameterIivEXT", "GL_EXT_texture_integer" },
    { "glTexParameterIuiv", "GL_VERSION_3_0" },
    { "glTexParameterIuivEXT", "GL_EXT_texture_integer" },
    { "glTexParameterxOES", "GL_OES_fixed_point" },
    { "glTexParameterxvOES", "GL_OES_fixed_point" },
    { "glTexRenderbufferNV", "GL_NV_explicit_multisample" },
    { "glTexStorage1D", "GL_ARB_texture_storage GL_VERSION_4_2" },
    { "glTexStorage2D", "GL_ARB_texture_storage GL_VERSION_4_2" },
    { "glTexStorage2DMultisample", "GL_ARB_texture_storage_multisample GL_VERSION_4_3" },
    { "glTexStorage3D", "GL_ARB_texture_storage GL_VERSION_4_2" },
    { "glTexStorage3DMultisample", "GL_ARB_texture_storage_multisample GL_VERSION_4_3" },
    { "glTexStorageMem1DEXT", "GL_EXT_memory_object" },
    { "glTexStorageMem2DEXT", "GL_EXT_memory_object" },
    { "glTexStorageMem2DMultisampleEXT", "GL_EXT_memory_object" },
    { "glTexStorageMem3DEXT", "GL_EXT_memory_object" },
    { "glTexStorageMem3DMultisampleEXT", "GL_EXT_memory_object" },
    { "glTexStorageSparseAMD", "GL_AMD_sparse_texture" },
    { "glTexSubImage1DEXT", "GL_EXT_subtexture" },
    { "glTexSubImage2DEXT", "GL_EXT_subtexture" },
    { "glTexSubImage3D", "GL_VERSION_1_2" },
    { "glTexSubImage3DEXT", "GL_EXT_texture3D" },
    { "glTexSubImage4DSGIS", "GL_SGIS_texture4D" },
    { "glTextureAttachMemoryNV", "GL_NV_memory_attachment" },
    { "glTextureBarrier", "GL_ARB_texture_barrier GL_VERSION_4_5" },
    { "glTextureBarrierNV", "GL_NV_texture_barrier" },
    { "glTextureBuffer", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureBufferEXT", "GL_EXT_direct_state_access" },
    { "glTextureBufferRange", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureBufferRangeEXT", "GL_EXT_direct_state_access" },
    { "glTextureColorMaskSGIS", "GL_SGIS_texture_color_mask" },
    { "glTextureImage1DEXT", "GL_EXT_direct_state_access" },
    { "glTextureImage2DEXT", "GL_EXT_direct_state_access" },
    { "glTextureImage2DMultisampleCoverageNV", "GL_NV_texture_multisample" },
    { "glTextureImage2DMultisampleNV", "GL_NV_texture_multisample" },
    { "glTextureImage3DEXT", "GL_EXT_direct_state_access" },
    { "glTextureImage3DMultisampleCoverageNV", "GL_NV_texture_multisample" },
    { "glTextureImage3DMultisampleNV", "GL_NV_texture_multisample" },
    { "glTextureLightEXT", "GL_EXT_light_texture" },
    { "glTextureMaterialEXT", "GL_EXT_light_texture" },
    { "glTextureNormalEXT", "GL_EXT_texture_perturb_normal" },
    { "glTexturePageCommitmentEXT", "GL_EXT_direct_state_access" },
    { "glTextureParameterIiv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureParameterIivEXT", "GL_EXT_direct_state_access" },
    { "glTextureParameterIuiv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureParameterIuivEXT", "GL_EXT_direct_state_access" },
    { "glTextureParameterf", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureParameterfEXT", "GL_EXT_direct_state_access" },
    { "glTextureParameterfv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureParameterfvEXT", "GL_EXT_direct_state_access" },
    { "glTextureParameteri", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureParameteriEXT", "GL_EXT_direct_state_access" },
    { "glTextureParameteriv", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureParameterivEXT", "GL_EXT_direct_state_access" },
    { "glTextureRangeAPPLE", "GL_APPLE_texture_range" },
    { "glTextureRenderbufferEXT", "GL_EXT_direct_state_access" },
    { "glTextureStorage1D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureStorage1DEXT", "GL_EXT_direct_state_access" },
    { "glTextureStorage2D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureStorage2DEXT", "GL_EXT_direct_state_access" },
    { "glTextureStorage2DMultisample", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureStorage2DMultisampleEXT", "GL_EXT_direct_state_access" },
    { "glTextureStorage3D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureStorage3DEXT", "GL_EXT_direct_state_access" },
    { "glTextureStorage3DMultisample", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureStorage3DMultisampleEXT", "GL_EXT_direct_state_access" },
    { "glTextureStorageMem1DEXT", "GL_EXT_memory_object" },
    { "glTextureStorageMem2DEXT", "GL_EXT_memory_object" },
    { "glTextureStorageMem2DMultisampleEXT", "GL_EXT_memory_object" },
    { "glTextureStorageMem3DEXT", "GL_EXT_memory_object" },
    { "glTextureStorageMem3DMultisampleEXT", "GL_EXT_memory_object" },
    { "glTextureStorageSparseAMD", "GL_AMD_sparse_texture" },
    { "glTextureSubImage1D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureSubImage1DEXT", "GL_EXT_direct_state_access" },
    { "glTextureSubImage2D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureSubImage2DEXT", "GL_EXT_direct_state_access" },
    { "glTextureSubImage3D", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTextureSubImage3DEXT", "GL_EXT_direct_state_access" },
    { "glTextureView", "GL_ARB_texture_view GL_VERSION_4_3" },
    { "glTrackMatrixNV", "GL_NV_vertex_program" },
    { "glTransformFeedbackAttribsNV", "GL_NV_transform_feedback" },
    { "glTransformFeedbackBufferBase", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTransformFeedbackBufferRange", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glTransformFeedbackStreamAttribsNV", "GL_NV_transform_feedback" },
    { "glTransformFeedbackVaryings", "GL_VERSION_3_0" },
    { "glTransformFeedbackVaryingsEXT", "GL_EXT_transform_feedback" },
    { "glTransformFeedbackVaryingsNV", "GL_NV_transform_feedback" },
    { "glTransformPathNV", "GL_NV_path_rendering" },
    { "glTranslatexOES", "GL_OES_fixed_point" },
    { "glUniform1d", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniform1dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniform1f", "GL_VERSION_2_0" },
    { "glUniform1fARB", "GL_ARB_shader_objects" },
    { "glUniform1fv", "GL_VERSION_2_0" },
    { "glUniform1fvARB", "GL_ARB_shader_objects" },
    { "glUniform1i", "GL_VERSION_2_0" },
    { "glUniform1i64ARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform1i64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform1i64vARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform1i64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform1iARB", "GL_ARB_shader_objects" },
    { "glUniform1iv", "GL_VERSION_2_0" },
    { "glUniform1ivARB", "GL_ARB_shader_objects" },
    { "glUniform1ui", "GL_VERSION_3_0" },
    { "glUniform1ui64ARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform1ui64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform1ui64vARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform1ui64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform1uiEXT", "GL_EXT_gpu_shader4" },
    { "glUniform1uiv", "GL_VERSION_3_0" },
    { "glUniform1uivEXT", "GL_EXT_gpu_shader4" },
    { "glUniform2d", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniform2dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniform2f", "GL_VERSION_2_0" },
    { "glUniform2fARB", "GL_ARB_shader_objects" },
    { "glUniform2fv", "GL_VERSION_2_0" },
    { "glUniform2fvARB", "GL_ARB_shader_objects" },
    { "glUniform2i", "GL_VERSION_2_0" },
    { "glUniform2i64ARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform2i64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform2i64vARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform2i64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform2iARB", "GL_ARB_shader_objects" },
    { "glUniform2iv", "GL_VERSION_2_0" },
    { "glUniform2ivARB", "GL_ARB_shader_objects" },
    { "glUniform2ui", "GL_VERSION_3_0" },
    { "glUniform2ui64ARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform2ui64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform2ui64vARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform2ui64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform2uiEXT", "GL_EXT_gpu_shader4" },
    { "glUniform2uiv", "GL_VERSION_3_0" },
    { "glUniform2uivEXT", "GL_EXT_gpu_shader4" },
    { "glUniform3d", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniform3dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniform3f", "GL_VERSION_2_0" },
    { "glUniform3fARB", "GL_ARB_shader_objects" },
    { "glUniform3fv", "GL_VERSION_2_0" },
    { "glUniform3fvARB", "GL_ARB_shader_objects" },
    { "glUniform3i", "GL_VERSION_2_0" },
    { "glUniform3i64ARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform3i64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform3i64vARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform3i64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform3iARB", "GL_ARB_shader_objects" },
    { "glUniform3iv", "GL_VERSION_2_0" },
    { "glUniform3ivARB", "GL_ARB_shader_objects" },
    { "glUniform3ui", "GL_VERSION_3_0" },
    { "glUniform3ui64ARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform3ui64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform3ui64vARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform3ui64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform3uiEXT", "GL_EXT_gpu_shader4" },
    { "glUniform3uiv", "GL_VERSION_3_0" },
    { "glUniform3uivEXT", "GL_EXT_gpu_shader4" },
    { "glUniform4d", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniform4dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniform4f", "GL_VERSION_2_0" },
    { "glUniform4fARB", "GL_ARB_shader_objects" },
    { "glUniform4fv", "GL_VERSION_2_0" },
    { "glUniform4fvARB", "GL_ARB_shader_objects" },
    { "glUniform4i", "GL_VERSION_2_0" },
    { "glUniform4i64ARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform4i64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform4i64vARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform4i64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform4iARB", "GL_ARB_shader_objects" },
    { "glUniform4iv", "GL_VERSION_2_0" },
    { "glUniform4ivARB", "GL_ARB_shader_objects" },
    { "glUniform4ui", "GL_VERSION_3_0" },
    { "glUniform4ui64ARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform4ui64NV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform4ui64vARB", "GL_ARB_gpu_shader_int64" },
    { "glUniform4ui64vNV", "GL_AMD_gpu_shader_int64 GL_NV_gpu_shader5" },
    { "glUniform4uiEXT", "GL_EXT_gpu_shader4" },
    { "glUniform4uiv", "GL_VERSION_3_0" },
    { "glUniform4uivEXT", "GL_EXT_gpu_shader4" },
    { "glUniformBlockBinding", "GL_ARB_uniform_buffer_object GL_VERSION_3_1" },
    { "glUniformBufferEXT", "GL_EXT_bindable_uniform" },
    { "glUniformHandleui64ARB", "GL_ARB_bindless_texture" },
    { "glUniformHandleui64NV", "GL_NV_bindless_texture" },
    { "glUniformHandleui64vARB", "GL_ARB_bindless_texture" },
    { "glUniformHandleui64vNV", "GL_NV_bindless_texture" },
    { "glUniformMatrix2dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniformMatrix2fv", "GL_VERSION_2_0" },
    { "glUniformMatrix2fvARB", "GL_ARB_shader_objects" },
    { "glUniformMatrix2x3dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniformMatrix2x3fv", "GL_VERSION_2_1" },
    { "glUniformMatrix2x4dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniformMatrix2x4fv", "GL_VERSION_2_1" },
    { "glUniformMatrix3dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniformMatrix3fv", "GL_VERSION_2_0" },
    { "glUniformMatrix3fvARB", "GL_ARB_shader_objects" },
    { "glUniformMatrix3x2dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniformMatrix3x2fv", "GL_VERSION_2_1" },
    { "glUniformMatrix3x4dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniformMatrix3x4fv", "GL_VERSION_2_1" },
    { "glUniformMatrix4dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniformMatrix4fv", "GL_VERSION_2_0" },
    { "glUniformMatrix4fvARB", "GL_ARB_shader_objects" },
    { "glUniformMatrix4x2dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniformMatrix4x2fv", "GL_VERSION_2_1" },
    { "glUniformMatrix4x3dv", "GL_ARB_gpu_shader_fp64 GL_VERSION_4_0" },
    { "glUniformMatrix4x3fv", "GL_VERSION_2_1" },
    { "glUniformSubroutinesuiv", "GL_ARB_shader_subroutine GL_VERSION_4_0" },
    { "glUniformui64NV", "GL_NV_shader_buffer_load" },
    { "glUniformui64vNV", "GL_NV_shader_buffer_load" },
    { "glUnlockArraysEXT", "GL_EXT_compiled_vertex_array" },
    { "glUnmapBuffer", "GL_VERSION_1_5" },
    { "glUnmapBufferARB", "GL_ARB_vertex_buffer_object" },
    { "glUnmapNamedBuffer", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glUnmapNamedBufferEXT", "GL_EXT_direct_state_access" },
    { "glUnmapObjectBufferATI", "GL_ATI_map_object_buffer" },
    { "glUnmapTexture2DINTEL", "GL_INTEL_map_texture" },
    { "glUpdateObjectBufferATI", "GL_ATI_vertex_array_object" },
    { "glUploadGpuMaskNVX", "GL_NVX_gpu_multicast2" },
    { "glUseProgram", "GL_VERSION_2_0" },
    { "glUseProgramObjectARB", "GL_ARB_shader_objects" },
    { "glUseProgramStages", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glUseShaderProgramEXT", "GL_EXT_separate_shader_objects" },
    { "glVDPAUFiniNV", "GL_NV_vdpau_interop" },
    { "glVDPAUGetSurfaceivNV", "GL_NV_vdpau_interop" },
    { "glVDPAUInitNV", "GL_NV_vdpau_interop" },
    { "glVDPAUIsSurfaceNV", "GL_NV_vdpau_interop" },
    { "glVDPAUMapSurfacesNV", "GL_NV_vdpau_interop" },
    { "glVDPAURegisterOutputSurfaceNV", "GL_NV_vdpau_interop" },
    { "glVDPAURegisterVideoSurfaceNV", "GL_NV_vdpau_interop" },
    { "glVDPAURegisterVideoSurfaceWithPictureStructureNV", "GL_NV_vdpau_interop2" },
    { "glVDPAUSurfaceAccessNV", "GL_NV_vdpau_interop" },
    { "glVDPAUUnmapSurfacesNV", "GL_NV_vdpau_interop" },
    { "glVDPAUUnregisterSurfaceNV", "GL_NV_vdpau_interop" },
    { "glValidateProgram", "GL_VERSION_2_0" },
    { "glValidateProgramARB", "GL_ARB_shader_objects" },
    { "glValidateProgramPipeline", "GL_ARB_separate_shader_objects GL_VERSION_4_1" },
    { "glVariantArrayObjectATI", "GL_ATI_vertex_array_object" },
    { "glVariantPointerEXT", "GL_EXT_vertex_shader" },
    { "glVariantbvEXT", "GL_EXT_vertex_shader" },
    { "glVariantdvEXT", "GL_EXT_vertex_shader" },
    { "glVariantfvEXT", "GL_EXT_vertex_shader" },
    { "glVariantivEXT", "GL_EXT_vertex_shader" },
    { "glVariantsvEXT", "GL_EXT_vertex_shader" },
    { "glVariantubvEXT", "GL_EXT_vertex_shader" },
    { "glVariantuivEXT", "GL_EXT_vertex_shader" },
    { "glVariantusvEXT", "GL_EXT_vertex_shader" },
    { "glVertex2bOES", "GL_OES_byte_coordinates" },
    { "glVertex2bvOES", "GL_OES_byte_coordinates" },
    { "glVertex2hNV", "GL_NV_half_float" },
    { "glVertex2hvNV", "GL_NV_half_float" },
    { "glVertex2xOES", "GL_OES_fixed_point" },
    { "glVertex2xvOES", "GL_OES_fixed_point" },
    { "glVertex3bOES", "GL_OES_byte_coordinates" },
    { "glVertex3bvOES", "GL_OES_byte_coordinates" },
    { "glVertex3hNV", "GL_NV_half_float" },
    { "glVertex3hvNV", "GL_NV_half_float" },
    { "glVertex3xOES", "GL_OES_fixed_point" },
    { "glVertex3xvOES", "GL_OES_fixed_point" },
    { "glVertex4bOES", "GL_OES_byte_coordinates" },
    { "glVertex4bvOES", "GL_OES_byte_coordinates" },
    { "glVertex4hNV", "GL_NV_half_float" },
    { "glVertex4hvNV", "GL_NV_half_float" },
    { "glVertex4xOES", "GL_OES_fixed_point" },
    { "glVertex4xvOES", "GL_OES_fixed_point" },
    { "glVertexArrayAttribBinding", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glVertexArrayAttribFormat", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glVertexArrayAttribIFormat", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glVertexArrayAttribLFormat", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glVertexArrayBindVertexBufferEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayBindingDivisor", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glVertexArrayColorOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayEdgeFlagOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayElementBuffer", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glVertexArrayFogCoordOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayIndexOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayMultiTexCoordOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayNormalOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayParameteriAPPLE", "GL_APPLE_vertex_array_range" },
    { "glVertexArrayRangeAPPLE", "GL_APPLE_vertex_array_range" },
    { "glVertexArrayRangeNV", "GL_NV_vertex_array_range" },
    { "glVertexArraySecondaryColorOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayTexCoordOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayVertexAttribBindingEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayVertexAttribDivisorEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayVertexAttribFormatEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayVertexAttribIFormatEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayVertexAttribIOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayVertexAttribLFormatEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayVertexAttribLOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayVertexAttribOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayVertexBindingDivisorEXT", "GL_EXT_direct_state_access" },
    { "glVertexArrayVertexBuffer", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glVertexArrayVertexBuffers", "GL_ARB_direct_state_access GL_VERSION_4_5" },
    { "glVertexArrayVertexOffsetEXT", "GL_EXT_direct_state_access" },
    { "glVertexAttrib1d", "GL_VERSION_2_0" },
    { "glVertexAttrib1dARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib1dNV", "GL_NV_vertex_program" },
    { "glVertexAttrib1dv", "GL_VERSION_2_0" },
    { "glVertexAttrib1dvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib1dvNV", "GL_NV_vertex_program" },
    { "glVertexAttrib1f", "GL_VERSION_2_0" },
    { "glVertexAttrib1fARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib1fNV", "GL_NV_vertex_program" },
    { "glVertexAttrib1fv", "GL_VERSION_2_0" },
    { "glVertexAttrib1fvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib1fvNV", "GL_NV_vertex_program" },
    { "glVertexAttrib1hNV", "GL_NV_half_float" },
    { "glVertexAttrib1hvNV", "GL_NV_half_float" },
    { "glVertexAttrib1s", "GL_VERSION_2_0" },
    { "glVertexAttrib1sARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib1sNV", "GL_NV_vertex_program" },
    { "glVertexAttrib1sv", "GL_VERSION_2_0" },
    { "glVertexAttrib1svARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib1svNV", "GL_NV_vertex_program" },
    { "glVertexAttrib2d", "GL_VERSION_2_0" },
    { "glVertexAttrib2dARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib2dNV", "GL_NV_vertex_program" },
    { "glVertexAttrib2dv", "GL_VERSION_2_0" },
    { "glVertexAttrib2dvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib2dvNV", "GL_NV_vertex_program" },
    { "glVertexAttrib2f", "GL_VERSION_2_0" },
    { "glVertexAttrib2fARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib2fNV", "GL_NV_vertex_program" },
    { "glVertexAttrib2fv", "GL_VERSION_2_0" },
    { "glVertexAttrib2fvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib2fvNV", "GL_NV_vertex_program" },
    { "glVertexAttrib2hNV", "GL_NV_half_float" },
    { "glVertexAttrib2hvNV", "GL_NV_half_float" },
    { "glVertexAttrib2s", "GL_VERSION_2_0" },
    { "glVertexAttrib2sARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib2sNV", "GL_NV_vertex_program" },
    { "glVertexAttrib2sv", "GL_VERSION_2_0" },
    { "glVertexAttrib2svARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib2svNV", "GL_NV_vertex_program" },
    { "glVertexAttrib3d", "GL_VERSION_2_0" },
    { "glVertexAttrib3dARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib3dNV", "GL_NV_vertex_program" },
    { "glVertexAttrib3dv", "GL_VERSION_2_0" },
    { "glVertexAttrib3dvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib3dvNV", "GL_NV_vertex_program" },
    { "glVertexAttrib3f", "GL_VERSION_2_0" },
    { "glVertexAttrib3fARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib3fNV", "GL_NV_vertex_program" },
    { "glVertexAttrib3fv", "GL_VERSION_2_0" },
    { "glVertexAttrib3fvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib3fvNV", "GL_NV_vertex_program" },
    { "glVertexAttrib3hNV", "GL_NV_half_float" },
    { "glVertexAttrib3hvNV", "GL_NV_half_float" },
    { "glVertexAttrib3s", "GL_VERSION_2_0" },
    { "glVertexAttrib3sARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib3sNV", "GL_NV_vertex_program" },
    { "glVertexAttrib3sv", "GL_VERSION_2_0" },
    { "glVertexAttrib3svARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib3svNV", "GL_NV_vertex_program" },
    { "glVertexAttrib4Nbv", "GL_VERSION_2_0" },
    { "glVertexAttrib4NbvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4Niv", "GL_VERSION_2_0" },
    { "glVertexAttrib4NivARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4Nsv", "GL_VERSION_2_0" },
    { "glVertexAttrib4NsvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4Nub", "GL_VERSION_2_0" },
    { "glVertexAttrib4NubARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4Nubv", "GL_VERSION_2_0" },
    { "glVertexAttrib4NubvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4Nuiv", "GL_VERSION_2_0" },
    { "glVertexAttrib4NuivARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4Nusv", "GL_VERSION_2_0" },
    { "glVertexAttrib4NusvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4bv", "GL_VERSION_2_0" },
    { "glVertexAttrib4bvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4d", "GL_VERSION_2_0" },
    { "glVertexAttrib4dARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4dNV", "GL_NV_vertex_program" },
    { "glVertexAttrib4dv", "GL_VERSION_2_0" },
    { "glVertexAttrib4dvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4dvNV", "GL_NV_vertex_program" },
    { "glVertexAttrib4f", "GL_VERSION_2_0" },
    { "glVertexAttrib4fARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4fNV", "GL_NV_vertex_program" },
    { "glVertexAttrib4fv", "GL_VERSION_2_0" },
    { "glVertexAttrib4fvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4fvNV", "GL_NV_vertex_program" },
    { "glVertexAttrib4hNV", "GL_NV_half_float" },
    { "glVertexAttrib4hvNV", "GL_NV_half_float" },
    { "glVertexAttrib4iv", "GL_VERSION_2_0" },
    { "glVertexAttrib4ivARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4s", "GL_VERSION_2_0" },
    { "glVertexAttrib4sARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4sNV", "GL_NV_vertex_program" },
    { "glVertexAttrib4sv", "GL_VERSION_2_0" },
    { "glVertexAttrib4svARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4svNV", "GL_NV_vertex_program" },
    { "glVertexAttrib4ubNV", "GL_NV_vertex_program" },
    { "glVertexAttrib4ubv", "GL_VERSION_2_0" },
    { "glVertexAttrib4ubvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4ubvNV", "GL_NV_vertex_program" },
    { "glVertexAttrib4uiv", "GL_VERSION_2_0" },
    { "glVertexAttrib4uivARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttrib4usv", "GL_VERSION_2_0" },
    { "glVertexAttrib4usvARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttribArrayObjectATI", "GL_ATI_vertex_attrib_array_object" },
    { "glVertexAttribBinding", "GL_ARB_vertex_attrib_binding GL_VERSION_4_3" },
    { "glVertexAttribDivisor", "GL_VERSION_3_3" },
    { "glVertexAttribDivisorARB", "GL_ARB_instanced_arrays" },
    { "glVertexAttribFormat", "GL_ARB_vertex_attrib_binding GL_VERSION_4_3" },
    { "glVertexAttribFormatNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glVertexAttribI1i", "GL_VERSION_3_0" },
    { "glVertexAttribI1iEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI1iv", "GL_VERSION_3_0" },
    { "glVertexAttribI1ivEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI1ui", "GL_VERSION_3_0" },
    { "glVertexAttribI1uiEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI1uiv", "GL_VERSION_3_0" },
    { "glVertexAttribI1uivEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI2i", "GL_VERSION_3_0" },
    { "glVertexAttribI2iEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI2iv", "GL_VERSION_3_0" },
    { "glVertexAttribI2ivEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI2ui", "GL_VERSION_3_0" },
    { "glVertexAttribI2uiEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI2uiv", "GL_VERSION_3_0" },
    { "glVertexAttribI2uivEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI3i", "GL_VERSION_3_0" },
    { "glVertexAttribI3iEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI3iv", "GL_VERSION_3_0" },
    { "glVertexAttribI3ivEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI3ui", "GL_VERSION_3_0" },
    { "glVertexAttribI3uiEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI3uiv", "GL_VERSION_3_0" },
    { "glVertexAttribI3uivEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI4bv", "GL_VERSION_3_0" },
    { "glVertexAttribI4bvEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI4i", "GL_VERSION_3_0" },
    { "glVertexAttribI4iEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI4iv", "GL_VERSION_3_0" },
    { "glVertexAttribI4ivEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI4sv", "GL_VERSION_3_0" },
    { "glVertexAttribI4svEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI4ubv", "GL_VERSION_3_0" },
    { "glVertexAttribI4ubvEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI4ui", "GL_VERSION_3_0" },
    { "glVertexAttribI4uiEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI4uiv", "GL_VERSION_3_0" },
    { "glVertexAttribI4uivEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribI4usv", "GL_VERSION_3_0" },
    { "glVertexAttribI4usvEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribIFormat", "GL_ARB_vertex_attrib_binding GL_VERSION_4_3" },
    { "glVertexAttribIFormatNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glVertexAttribIPointer", "GL_VERSION_3_0" },
    { "glVertexAttribIPointerEXT", "GL_NV_vertex_program4" },
    { "glVertexAttribL1d", "GL_ARB_vertex_attrib_64bit GL_VERSION_4_1" },
    { "glVertexAttribL1dEXT", "GL_EXT_vertex_attrib_64bit" },
    { "glVertexAttribL1dv", "GL_ARB_vertex_attrib_64bit GL_VERSION_4_1" },
    { "glVertexAttribL1dvEXT", "GL_EXT_vertex_attrib_64bit" },
    { "glVertexAttribL1i64NV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL1i64vNV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL1ui64ARB", "GL_ARB_bindless_texture" },
    { "glVertexAttribL1ui64NV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL1ui64vARB", "GL_ARB_bindless_texture" },
    { "glVertexAttribL1ui64vNV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL2d", "GL_ARB_vertex_attrib_64bit GL_VERSION_4_1" },
    { "glVertexAttribL2dEXT", "GL_EXT_vertex_attrib_64bit" },
    { "glVertexAttribL2dv", "GL_ARB_vertex_attrib_64bit GL_VERSION_4_1" },
    { "glVertexAttribL2dvEXT", "GL_EXT_vertex_attrib_64bit" },
    { "glVertexAttribL2i64NV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL2i64vNV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL2ui64NV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL2ui64vNV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL3d", "GL_ARB_vertex_attrib_64bit GL_VERSION_4_1" },
    { "glVertexAttribL3dEXT", "GL_EXT_vertex_attrib_64bit" },
    { "glVertexAttribL3dv", "GL_ARB_vertex_attrib_64bit GL_VERSION_4_1" },
    { "glVertexAttribL3dvEXT", "GL_EXT_vertex_attrib_64bit" },
    { "glVertexAttribL3i64NV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL3i64vNV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL3ui64NV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL3ui64vNV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL4d", "GL_ARB_vertex_attrib_64bit GL_VERSION_4_1" },
    { "glVertexAttribL4dEXT", "GL_EXT_vertex_attrib_64bit" },
    { "glVertexAttribL4dv", "GL_ARB_vertex_attrib_64bit GL_VERSION_4_1" },
    { "glVertexAttribL4dvEXT", "GL_EXT_vertex_attrib_64bit" },
    { "glVertexAttribL4i64NV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL4i64vNV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL4ui64NV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribL4ui64vNV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribLFormat", "GL_ARB_vertex_attrib_binding GL_VERSION_4_3" },
    { "glVertexAttribLFormatNV", "GL_NV_vertex_attrib_integer_64bit" },
    { "glVertexAttribLPointer", "GL_ARB_vertex_attrib_64bit GL_VERSION_4_1" },
    { "glVertexAttribLPointerEXT", "GL_EXT_vertex_attrib_64bit" },
    { "glVertexAttribP1ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexAttribP1uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexAttribP2ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexAttribP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexAttribP3ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexAttribP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexAttribP4ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexAttribP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexAttribParameteriAMD", "GL_AMD_interleaved_elements" },
    { "glVertexAttribPointer", "GL_VERSION_2_0" },
    { "glVertexAttribPointerARB", "GL_ARB_vertex_program GL_ARB_vertex_shader" },
    { "glVertexAttribPointerNV", "GL_NV_vertex_program" },
    { "glVertexAttribs1dvNV", "GL_NV_vertex_program" },
    { "glVertexAttribs1fvNV", "GL_NV_vertex_program" },
    { "glVertexAttribs1hvNV", "GL_NV_half_float" },
    { "glVertexAttribs1svNV", "GL_NV_vertex_program" },
    { "glVertexAttribs2dvNV", "GL_NV_vertex_program" },
    { "glVertexAttribs2fvNV", "GL_NV_vertex_program" },
    { "glVertexAttribs2hvNV", "GL_NV_half_float" },
    { "glVertexAttribs2svNV", "GL_NV_vertex_program" },
    { "glVertexAttribs3dvNV", "GL_NV_vertex_program" },
    { "glVertexAttribs3fvNV", "GL_NV_vertex_program" },
    { "glVertexAttribs3hvNV", "GL_NV_half_float" },
    { "glVertexAttribs3svNV", "GL_NV_vertex_program" },
    { "glVertexAttribs4dvNV", "GL_NV_vertex_program" },
    { "glVertexAttribs4fvNV", "GL_NV_vertex_program" },
    { "glVertexAttribs4hvNV", "GL_NV_half_float" },
    { "glVertexAttribs4svNV", "GL_NV_vertex_program" },
    { "glVertexAttribs4ubvNV", "GL_NV_vertex_program" },
    { "glVertexBindingDivisor", "GL_ARB_vertex_attrib_binding GL_VERSION_4_3" },
    { "glVertexBlendARB", "GL_ARB_vertex_blend" },
    { "glVertexBlendEnvfATI", "GL_ATI_vertex_streams" },
    { "glVertexBlendEnviATI", "GL_ATI_vertex_streams" },
    { "glVertexFormatNV", "GL_NV_vertex_buffer_unified_memory" },
    { "glVertexP2ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexP2uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexP3ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexP3uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexP4ui", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexP4uiv", "GL_ARB_vertex_type_2_10_10_10_rev GL_VERSION_3_3" },
    { "glVertexPointerEXT", "GL_EXT_vertex_array" },
    { "glVertexPointerListIBM", "GL_IBM_vertex_array_lists" },
    { "glVertexPointervINTEL", "GL_INTEL_parallel_arrays" },
    { "glVertexStream1dATI", "GL_ATI_vertex_streams" },
    { "glVertexStream1dvATI", "GL_ATI_vertex_streams" },
    { "glVertexStream1fATI", "GL_ATI_vertex_streams" },
    { "glVertexStream1fvATI", "GL_ATI_vertex_streams" },
    { "glVertexStream1iATI", "GL_ATI_vertex_streams" },
    { "glVertexStream1ivATI", "GL_ATI_vertex_streams" },
    { "glVertexStream1sATI", "GL_ATI_vertex_streams" },
    { "glVertexStream1svATI", "GL_ATI_vertex_streams" },
    { "glVertexStream2dATI", "GL_ATI_vertex_streams" },
    { "glVertexStream2dvATI", "GL_ATI_vertex_streams" },
    { "glVertexStream2fATI", "GL_ATI_vertex_streams" },
    { "glVertexStream2fvATI", "GL_ATI_vertex_streams" },
    { "glVertexStream2iATI", "GL_ATI_vertex_streams" },
    { "glVertexStream2ivATI", "GL_ATI_vertex_streams" },
    { "glVertexStream2sATI", "GL_ATI_vertex_streams" },
    { "glVertexStream2svATI", "GL_ATI_vertex_streams" },
    { "glVertexStream3dATI", "GL_ATI_vertex_streams" },
    { "glVertexStream3dvATI", "GL_ATI_vertex_streams" },
    { "glVertexStream3fATI", "GL_ATI_vertex_streams" },
    { "glVertexStream3fvATI", "GL_ATI_vertex_streams" },
    { "glVertexStream3iATI", "GL_ATI_vertex_streams" },
    { "glVertexStream3ivATI", "GL_ATI_vertex_streams" },
    { "glVertexStream3sATI", "GL_ATI_vertex_streams" },
    { "glVertexStream3svATI", "GL_ATI_vertex_streams" },
    { "glVertexStream4dATI", "GL_ATI_vertex_streams" },
    { "glVertexStream4dvATI", "GL_ATI_vertex_streams" },
    { "glVertexStream4fATI", "GL_ATI_vertex_streams" },
    { "glVertexStream4fvATI", "GL_ATI_vertex_streams" },
    { "glVertexStream4iATI", "GL_ATI_vertex_streams" },
    { "glVertexStream4ivATI", "GL_ATI_vertex_streams" },
    { "glVertexStream4sATI", "GL_ATI_vertex_streams" },
    { "glVertexStream4svATI", "GL_ATI_vertex_streams" },
    { "glVertexWeightPointerEXT", "GL_EXT_vertex_weighting" },
    { "glVertexWeightfEXT", "GL_EXT_vertex_weighting" },
    { "glVertexWeightfvEXT", "GL_EXT_vertex_weighting" },
    { "glVertexWeighthNV", "GL_NV_half_float" },
    { "glVertexWeighthvNV", "GL_NV_half_float" },
    { "glVideoCaptureNV", "GL_NV_video_capture" },
    { "glVideoCaptureStreamParameterdvNV", "GL_NV_video_capture" },
    { "glVideoCaptureStreamParameterfvNV", "GL_NV_video_capture" },
    { "glVideoCaptureStreamParameterivNV", "GL_NV_video_capture" },
    { "glViewportArrayv", "GL_ARB_viewport_array GL_VERSION_4_1" },
    { "glViewportIndexedf", "GL_ARB_viewport_array GL_VERSION_4_1" },
    { "glViewportIndexedfv", "GL_ARB_viewport_array GL_VERSION_4_1" },
    { "glViewportPositionWScaleNV", "GL_NV_clip_space_w_scaling" },
    { "glViewportSwizzleNV", "GL_NV_viewport_swizzle" },
    { "glWaitSemaphoreEXT", "GL_EXT_semaphore" },
    { "glWaitSemaphoreui64NVX", "GL_NVX_progress_fence" },
    { "glWaitSync", "GL_ARB_sync GL_VERSION_3_2" },
    { "glWaitVkSemaphoreNV", "GL_NV_draw_vulkan_image" },
    { "glWeightPathsNV", "GL_NV_path_rendering" },
    { "glWeightPointerARB", "GL_ARB_vertex_blend" },
    { "glWeightbvARB", "GL_ARB_vertex_blend" },
    { "glWeightdvARB", "GL_ARB_vertex_blend" },
    { "glWeightfvARB", "GL_ARB_vertex_blend" },
    { "glWeightivARB", "GL_ARB_vertex_blend" },
    { "glWeightsvARB", "GL_ARB_vertex_blend" },
    { "glWeightubvARB", "GL_ARB_vertex_blend" },
    { "glWeightuivARB", "GL_ARB_vertex_blend" },
    { "glWeightusvARB", "GL_ARB_vertex_blend" },
    { "glWindowPos2d", "GL_VERSION_1_4" },
    { "glWindowPos2dARB", "GL_ARB_window_pos" },
    { "glWindowPos2dMESA", "GL_MESA_window_pos" },
    { "glWindowPos2dv", "GL_VERSION_1_4" },
    { "glWindowPos2dvARB", "GL_ARB_window_pos" },
    { "glWindowPos2dvMESA", "GL_MESA_window_pos" },
    { "glWindowPos2f", "GL_VERSION_1_4" },
    { "glWindowPos2fARB", "GL_ARB_window_pos" },
    { "glWindowPos2fMESA", "GL_MESA_window_pos" },
    { "glWindowPos2fv", "GL_VERSION_1_4" },
    { "glWindowPos2fvARB", "GL_ARB_window_pos" },
    { "glWindowPos2fvMESA", "GL_MESA_window_pos" },
    { "glWindowPos2i", "GL_VERSION_1_4" },
    { "glWindowPos2iARB", "GL_ARB_window_pos" },
    { "glWindowPos2iMESA", "GL_MESA_window_pos" },
    { "glWindowPos2iv", "GL_VERSION_1_4" },
    { "glWindowPos2ivARB", "GL_ARB_window_pos" },
    { "glWindowPos2ivMESA", "GL_MESA_window_pos" },
    { "glWindowPos2s", "GL_VERSION_1_4" },
    { "glWindowPos2sARB", "GL_ARB_window_pos" },
    { "glWindowPos2sMESA", "GL_MESA_window_pos" },
    { "glWindowPos2sv", "GL_VERSION_1_4" },
    { "glWindowPos2svARB", "GL_ARB_window_pos" },
    { "glWindowPos2svMESA", "GL_MESA_window_pos" },
    { "glWindowPos3d", "GL_VERSION_1_4" },
    { "glWindowPos3dARB", "GL_ARB_window_pos" },
    { "glWindowPos3dMESA", "GL_MESA_window_pos" },
    { "glWindowPos3dv", "GL_VERSION_1_4" },
    { "glWindowPos3dvARB", "GL_ARB_window_pos" },
    { "glWindowPos3dvMESA", "GL_MESA_window_pos" },
    { "glWindowPos3f", "GL_VERSION_1_4" },
    { "glWindowPos3fARB", "GL_ARB_window_pos" },
    { "glWindowPos3fMESA", "GL_MESA_window_pos" },
    { "glWindowPos3fv", "GL_VERSION_1_4" },
    { "glWindowPos3fvARB", "GL_ARB_window_pos" },
    { "glWindowPos3fvMESA", "GL_MESA_window_pos" },
    { "glWindowPos3i", "GL_VERSION_1_4" },
    { "glWindowPos3iARB", "GL_ARB_window_pos" },
    { "glWindowPos3iMESA", "GL_MESA_window_pos" },
    { "glWindowPos3iv", "GL_VERSION_1_4" },
    { "glWindowPos3ivARB", "GL_ARB_window_pos" },
    { "glWindowPos3ivMESA", "GL_MESA_window_pos" },
    { "glWindowPos3s", "GL_VERSION_1_4" },
    { "glWindowPos3sARB", "GL_ARB_window_pos" },
    { "glWindowPos3sMESA", "GL_MESA_window_pos" },
    { "glWindowPos3sv", "GL_VERSION_1_4" },
    { "glWindowPos3svARB", "GL_ARB_window_pos" },
    { "glWindowPos3svMESA", "GL_MESA_window_pos" },
    { "glWindowPos4dMESA", "GL_MESA_window_pos" },
    { "glWindowPos4dvMESA", "GL_MESA_window_pos" },
    { "glWindowPos4fMESA", "GL_MESA_window_pos" },
    { "glWindowPos4fvMESA", "GL_MESA_window_pos" },
    { "glWindowPos4iMESA", "GL_MESA_window_pos" },
    { "glWindowPos4ivMESA", "GL_MESA_window_pos" },
    { "glWindowPos4sMESA", "GL_MESA_window_pos" },
    { "glWindowPos4svMESA", "GL_MESA_window_pos" },
    { "glWindowRectanglesEXT", "GL_EXT_window_rectangles" },
    { "glWriteMaskEXT", "GL_EXT_vertex_shader" },
    { "wglAllocateMemoryNV", "WGL_NV_vertex_array_range" },
    { "wglBindTexImageARB", "WGL_ARB_render_texture" },
    { "wglChoosePixelFormatARB", "WGL_ARB_pixel_format" },
    { "wglCreateContextAttribsARB", "WGL_ARB_create_context" },
    { "wglCreatePbufferARB", "WGL_ARB_pbuffer" },
    { "wglDestroyPbufferARB", "WGL_ARB_pbuffer" },
    { "wglFreeMemoryNV", "WGL_NV_vertex_array_range" },
    { "wglGetCurrentReadDCARB", "WGL_ARB_make_current_read" },
    { "wglGetExtensionsStringARB", "WGL_ARB_extensions_string" },
    { "wglGetExtensionsStringEXT", "WGL_EXT_extensions_string" },
    { "wglGetPbufferDCARB", "WGL_ARB_pbuffer" },
    { "wglGetPixelFormatAttribfvARB", "WGL_ARB_pixel_format" },
    { "wglGetPixelFormatAttribivARB", "WGL_ARB_pixel_format" },
    { "wglGetSwapIntervalEXT", "WGL_EXT_swap_control" },
    { "wglMakeContextCurrentARB", "WGL_ARB_make_current_read" },
    { "wglQueryCurrentRendererIntegerWINE", "WGL_WINE_query_renderer" },
    { "wglQueryCurrentRendererStringWINE", "WGL_WINE_query_renderer" },
    { "wglQueryPbufferARB", "WGL_ARB_pbuffer" },
    { "wglQueryRendererIntegerWINE", "WGL_WINE_query_renderer" },
    { "wglQueryRendererStringWINE", "WGL_WINE_query_renderer" },
    { "wglReleasePbufferDCARB", "WGL_ARB_pbuffer" },
    { "wglReleaseTexImageARB", "WGL_ARB_render_texture" },
    { "wglSetPbufferAttribARB", "WGL_ARB_render_texture" },
    { "wglSetPixelFormatWINE", "WGL_WINE_pixel_format_passthrough" },
    { "wglSwapIntervalEXT", "WGL_EXT_swap_control" },
};
