/*
 * This file was generated automatically by ExtUtils::ParseXS version 3.51 from the
 * contents of Modern.xs. Do not edit this file, edit Modern.xs instead.
 *
 *    ANY CHANGES MADE HERE WILL BE LOST!
 *
 */

#line 1 "lib/OpenGL/Modern.xs"
#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

#include "ppport.h"

#include <GL/glew.h>
#include <glew-context.c>

#include "gl_counts.h"
#include "gl_errors.h"
#include "oglm.h"

/*
  Maybe one day we'll allow Perl callbacks for GLDEBUGPROCARB
*/

#line 29 "lib/OpenGL/Modern.c"
#ifndef PERL_UNUSED_VAR
#  define PERL_UNUSED_VAR(var) if (0) var = var
#endif

#ifndef dVAR
#  define dVAR		dNOOP
#endif


/* This stuff is not part of the API! You have been warned. */
#ifndef PERL_VERSION_DECIMAL
#  define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
#endif
#ifndef PERL_DECIMAL_VERSION
#  define PERL_DECIMAL_VERSION \
	  PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
#endif
#ifndef PERL_VERSION_GE
#  define PERL_VERSION_GE(r,v,s) \
	  (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
#endif
#ifndef PERL_VERSION_LE
#  define PERL_VERSION_LE(r,v,s) \
	  (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
#endif

/* XS_INTERNAL is the explicit static-linkage variant of the default
 * XS macro.
 *
 * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
 * "STATIC", ie. it exports XSUB symbols. You probably don't want that
 * for anything but the BOOT XSUB.
 *
 * See XSUB.h in core!
 */


/* TODO: This might be compatible further back than 5.10.0. */
#if PERL_VERSION_GE(5, 10, 0) && PERL_VERSION_LE(5, 15, 1)
#  undef XS_EXTERNAL
#  undef XS_INTERNAL
#  if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
#    define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
#    define XS_INTERNAL(name) STATIC XSPROTO(name)
#  endif
#  if defined(__SYMBIAN32__)
#    define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
#    define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
#  endif
#  ifndef XS_EXTERNAL
#    if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
#      define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
#      define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
#    else
#      ifdef __cplusplus
#        define XS_EXTERNAL(name) extern "C" XSPROTO(name)
#        define XS_INTERNAL(name) static XSPROTO(name)
#      else
#        define XS_EXTERNAL(name) XSPROTO(name)
#        define XS_INTERNAL(name) STATIC XSPROTO(name)
#      endif
#    endif
#  endif
#endif

/* perl >= 5.10.0 && perl <= 5.15.1 */


/* The XS_EXTERNAL macro is used for functions that must not be static
 * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
 * macro defined, the best we can do is assume XS is the same.
 * Dito for XS_INTERNAL.
 */
#ifndef XS_EXTERNAL
#  define XS_EXTERNAL(name) XS(name)
#endif
#ifndef XS_INTERNAL
#  define XS_INTERNAL(name) XS(name)
#endif

/* Now, finally, after all this mess, we want an ExtUtils::ParseXS
 * internal macro that we're free to redefine for varying linkage due
 * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
 * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
 */

#undef XS_EUPXS
#if defined(PERL_EUPXS_ALWAYS_EXPORT)
#  define XS_EUPXS(name) XS_EXTERNAL(name)
#else
   /* default to internal */
#  define XS_EUPXS(name) XS_INTERNAL(name)
#endif

#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)

/* prototype to pass -Wmissing-prototypes */
STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params);

STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params)
{
    const GV *const gv = CvGV(cv);

    PERL_ARGS_ASSERT_CROAK_XS_USAGE;

    if (gv) {
        const char *const gvname = GvNAME(gv);
        const HV *const stash = GvSTASH(gv);
        const char *const hvname = stash ? HvNAME(stash) : NULL;

        if (hvname)
	    Perl_croak_nocontext("Usage: %s::%s(%s)", hvname, gvname, params);
        else
	    Perl_croak_nocontext("Usage: %s(%s)", gvname, params);
    } else {
        /* Pants. I don't think that it should be possible to get here. */
	Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
    }
}
#undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE

#define croak_xs_usage        S_croak_xs_usage

#endif

/* NOTE: the prototype of newXSproto() is different in versions of perls,
 * so we define a portable version of newXSproto()
 */
#ifdef newXS_flags
#define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
#else
#define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
#endif /* !defined(newXS_flags) */

#if PERL_VERSION_LE(5, 21, 5)
#  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
#else
#  define newXS_deffile(a,b) Perl_newXS_deffile(aTHX_ a,b)
#endif

#line 173 "lib/OpenGL/Modern.c"

XS_EUPXS(XS_OpenGL__Modern_glewCreateContext); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glewCreateContext)
{
    dVAR; dXSARGS;
    if (items < 0 || items > 4)
       croak_xs_usage(cv,  "major=0, minor=0, profile_mask=0, flags=0");
    {
	GLboolean	RETVAL;
	dXSTARG;
	int	major;
	int	minor;
	int	profile_mask;
	int	flags;

	if (items < 1)
	    major = 0;
	else {
	    major = (int)SvIV(ST(0))
;
	}

	if (items < 2)
	    minor = 0;
	else {
	    minor = (int)SvIV(ST(1))
;
	}

	if (items < 3)
	    profile_mask = 0;
	else {
	    profile_mask = (int)SvIV(ST(2))
;
	}

	if (items < 4)
	    flags = 0;
	else {
	    flags = (int)SvIV(ST(3))
;
	}
#line 24 "lib/OpenGL/Modern.xs"
  struct createParams params =
  {
#if defined(GLEW_OSMESA)
#elif defined(GLEW_EGL)
#elif defined(_WIN32)
    -1,  /* pixelformat */
#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
    "",  /* display */
    -1,  /* visual */
#endif
    major,
    minor,
    profile_mask,
    flags
  };
    RETVAL = glewCreateContext(&params);
#line 233 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glewHasContext); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glewHasContext)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	GLboolean	RETVAL;
	dXSTARG;

	RETVAL = glewHasContext();
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glewDestroyContext); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glewDestroyContext)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {

	glewDestroyContext();
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glewInit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glewInit)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	UV	RETVAL;
	dXSTARG;
#line 52 "lib/OpenGL/Modern.xs"
    glewExperimental = GL_TRUE; /* We want everything that is available on this machine */
    if (_done_glewInit>0) {
        warn("glewInit() called %dX already", _done_glewInit);
    }
    RETVAL = glewInit();
    if ( !RETVAL )
        _done_glewInit++;
#line 290 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glewGetErrorString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glewGetErrorString)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "err");
    {
	GLenum	err = (int)SvIV(ST(0))
;
	char *	RETVAL;
	dXSTARG;
#line 66 "lib/OpenGL/Modern.xs"
    RETVAL = (void *)glewGetErrorString(err);
#line 311 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glewGetString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glewGetString)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "what");
    {
	GLenum	what = (int)SvIV(ST(0))
;
	char *	RETVAL;
	dXSTARG;
#line 74 "lib/OpenGL/Modern.xs"
    RETVAL = (void *)glewGetString(what);
#line 333 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glewIsSupported); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glewIsSupported)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	char*	name = (char *)SvPV_nolen(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;

	RETVAL = glewIsSupported(name);
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_done_glewInit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_done_glewInit)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	int	RETVAL;
	dXSTARG;
#line 86 "lib/OpenGL/Modern.xs"
    RETVAL = _done_glewInit;
#line 373 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glpSetAutoCheckErrors); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glpSetAutoCheckErrors)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
	int	RETVAL;
	dXSTARG;
#line 93 "lib/OpenGL/Modern.xs"
    int state;
    if (items == 1) {
        state = (int)SvIV(ST(0));
        if (state != 0 && state != 1 )
            croak( "Usage: glpSetAutoCheckErrors(1|0)\n" );
        _auto_check_errors = state;
    }
    RETVAL = _auto_check_errors;
#line 399 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glpCheckErrors); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glpCheckErrors)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 107 "lib/OpenGL/Modern.xs"
  OGLM_CROAK_IF_ERR("glpCheckErrors", )
#line 416 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glpErrorString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glpErrorString)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "err");
    {
	int	err = (int)SvIV(ST(0))
;
	const char *	RETVAL;
	dXSTARG;
#line 113 "lib/OpenGL/Modern.xs"
  RETVAL = gl_error_string(err);
#line 435 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


/* INCLUDE:  Including '../../auto-xs.inc' from 'Modern.xs' */


XS_EUPXS(XS_OpenGL__Modern_glAccum); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAccum)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "op, value");
    {
	GLenum	op = (int)SvIV(ST(0))
;
	GLfloat	value = (float)SvNV(ST(1))
;
#line 6 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAccum", )
  glAccum(op, value);
  OGLM_CHECK_ERR("glAccum", )
#line 463 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAcquireKeyedMutexWin32EXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAcquireKeyedMutexWin32EXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "memory, key, timeout");
    {
	GLuint	memory = (unsigned int)SvUV(ST(0))
;
	GLuint64	key = (unsigned int)SvUV(ST(1))
;
	GLuint	timeout = (unsigned int)SvUV(ST(2))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 17 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAcquireKeyedMutexWin32EXT", )
  OGLM_AVAIL_CHECK(__glewAcquireKeyedMutexWin32EXT, glAcquireKeyedMutexWin32EXT)
  RETVAL = glAcquireKeyedMutexWin32EXT(memory, key, timeout);
  OGLM_CHECK_ERR("glAcquireKeyedMutexWin32EXT", )
#line 490 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glActiveProgramEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glActiveProgramEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "program");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
#line 29 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glActiveProgramEXT", )
  OGLM_AVAIL_CHECK(__glewActiveProgramEXT, glActiveProgramEXT)
  glActiveProgramEXT(program);
  OGLM_CHECK_ERR("glActiveProgramEXT", )
#line 513 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glActiveShaderProgram); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glActiveShaderProgram)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pipeline, program");
    {
	GLuint	pipeline = (unsigned int)SvUV(ST(0))
;
	GLuint	program = (unsigned int)SvUV(ST(1))
;
#line 40 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glActiveShaderProgram", )
  OGLM_AVAIL_CHECK(__glewActiveShaderProgram, glActiveShaderProgram)
  glActiveShaderProgram(pipeline, program);
  OGLM_CHECK_ERR("glActiveShaderProgram", )
#line 536 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glActiveStencilFaceEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glActiveStencilFaceEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "face");
    {
	GLenum	face = (int)SvIV(ST(0))
;
#line 50 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glActiveStencilFaceEXT", )
  OGLM_AVAIL_CHECK(__glewActiveStencilFaceEXT, glActiveStencilFaceEXT)
  glActiveStencilFaceEXT(face);
  OGLM_CHECK_ERR("glActiveStencilFaceEXT", )
#line 557 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glActiveTexture); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glActiveTexture)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "texture");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
#line 62 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glActiveTexture", )
  OGLM_AVAIL_CHECK(__glewActiveTexture, glActiveTexture)
  glActiveTexture(texture);
  OGLM_CHECK_ERR("glActiveTexture", )
#line 579 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glActiveVaryingNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glActiveVaryingNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	const GLchar *	name = (const GLchar *)SvPV_nolen(ST(1))
;
#line 73 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glActiveVaryingNV", )
  OGLM_AVAIL_CHECK(__glewActiveVaryingNV, glActiveVaryingNV)
  glActiveVaryingNV(program, name);
  OGLM_CHECK_ERR("glActiveVaryingNV", )
#line 602 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAddSwapHintRectWIN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAddSwapHintRectWIN)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, width, height");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
#line 86 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAddSwapHintRectWIN", )
  OGLM_AVAIL_CHECK(__glewAddSwapHintRectWIN, glAddSwapHintRectWIN)
  glAddSwapHintRectWIN(x, y, width, height);
  OGLM_CHECK_ERR("glAddSwapHintRectWIN", )
#line 629 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAddressSpace); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAddressSpace)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "space, mask");
    {
	GLenum	space = (int)SvIV(ST(0))
;
	GLbitfield	mask = (int)SvIV(ST(1))
;
#line 97 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAddressSpace", )
  OGLM_AVAIL_CHECK(__glewAddressSpace, glAddressSpace)
  glAddressSpace(space, mask);
  OGLM_CHECK_ERR("glAddressSpace", )
#line 652 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAllocMPEGPredictorsSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAllocMPEGPredictorsSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "width, height, n, predictors");
    {
	GLsizei	width = (int)SvIV(ST(0))
;
	GLsizei	height = (int)SvIV(ST(1))
;
	GLsizei	n = (int)SvIV(ST(2))
;
	GLuint*	predictors = INT2PTR(GLuint *,SvIV(ST(3)))
;
#line 110 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAllocMPEGPredictorsSGIX", )
  OGLM_AVAIL_CHECK(__glewAllocMPEGPredictorsSGIX, glAllocMPEGPredictorsSGIX)
  glAllocMPEGPredictorsSGIX(width, height, n, predictors);
  OGLM_CHECK_ERR("glAllocMPEGPredictorsSGIX", )
#line 679 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAlphaFragmentOp1ATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAlphaFragmentOp1ATI)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "op, dst, dstMod, arg1, arg1Rep, arg1Mod");
    {
	GLenum	op = (int)SvIV(ST(0))
;
	GLuint	dst = (unsigned int)SvUV(ST(1))
;
	GLuint	dstMod = (unsigned int)SvUV(ST(2))
;
	GLuint	arg1 = (unsigned int)SvUV(ST(3))
;
	GLuint	arg1Rep = (unsigned int)SvUV(ST(4))
;
	GLuint	arg1Mod = (unsigned int)SvUV(ST(5))
;
#line 125 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAlphaFragmentOp1ATI", )
  OGLM_AVAIL_CHECK(__glewAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI)
  glAlphaFragmentOp1ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod);
  OGLM_CHECK_ERR("glAlphaFragmentOp1ATI", )
#line 710 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAlphaFragmentOp2ATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAlphaFragmentOp2ATI)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod");
    {
	GLenum	op = (int)SvIV(ST(0))
;
	GLuint	dst = (unsigned int)SvUV(ST(1))
;
	GLuint	dstMod = (unsigned int)SvUV(ST(2))
;
	GLuint	arg1 = (unsigned int)SvUV(ST(3))
;
	GLuint	arg1Rep = (unsigned int)SvUV(ST(4))
;
	GLuint	arg1Mod = (unsigned int)SvUV(ST(5))
;
	GLuint	arg2 = (unsigned int)SvUV(ST(6))
;
	GLuint	arg2Rep = (unsigned int)SvUV(ST(7))
;
	GLuint	arg2Mod = (unsigned int)SvUV(ST(8))
;
#line 143 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAlphaFragmentOp2ATI", )
  OGLM_AVAIL_CHECK(__glewAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI)
  glAlphaFragmentOp2ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod);
  OGLM_CHECK_ERR("glAlphaFragmentOp2ATI", )
#line 747 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAlphaFragmentOp3ATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAlphaFragmentOp3ATI)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod");
    {
	GLenum	op = (int)SvIV(ST(0))
;
	GLuint	dst = (unsigned int)SvUV(ST(1))
;
	GLuint	dstMod = (unsigned int)SvUV(ST(2))
;
	GLuint	arg1 = (unsigned int)SvUV(ST(3))
;
	GLuint	arg1Rep = (unsigned int)SvUV(ST(4))
;
	GLuint	arg1Mod = (unsigned int)SvUV(ST(5))
;
	GLuint	arg2 = (unsigned int)SvUV(ST(6))
;
	GLuint	arg2Rep = (unsigned int)SvUV(ST(7))
;
	GLuint	arg2Mod = (unsigned int)SvUV(ST(8))
;
	GLuint	arg3 = (unsigned int)SvUV(ST(9))
;
	GLuint	arg3Rep = (unsigned int)SvUV(ST(10))
;
	GLuint	arg3Mod = (unsigned int)SvUV(ST(11))
;
#line 164 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAlphaFragmentOp3ATI", )
  OGLM_AVAIL_CHECK(__glewAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI)
  glAlphaFragmentOp3ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod);
  OGLM_CHECK_ERR("glAlphaFragmentOp3ATI", )
#line 790 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAlphaFunc); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAlphaFunc)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "func, ref");
    {
	GLenum	func = (int)SvIV(ST(0))
;
	GLclampf	ref = (float)SvNV(ST(1))
;
#line 175 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAlphaFunc", )
  glAlphaFunc(func, ref);
  OGLM_CHECK_ERR("glAlphaFunc", )
#line 812 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAlphaFuncQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAlphaFuncQCOM)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "func, ref");
    {
	GLenum	func = (int)SvIV(ST(0))
;
	GLclampf	ref = (float)SvNV(ST(1))
;
#line 185 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAlphaFuncQCOM", )
  OGLM_AVAIL_CHECK(__glewAlphaFuncQCOM, glAlphaFuncQCOM)
  glAlphaFuncQCOM(func, ref);
  OGLM_CHECK_ERR("glAlphaFuncQCOM", )
#line 835 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAlphaFuncx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAlphaFuncx)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "func, ref");
    {
	GLenum	func = (int)SvIV(ST(0))
;
	GLclampx	ref = (int)SvIV(ST(1))
;
#line 196 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAlphaFuncx", )
  OGLM_AVAIL_CHECK(__glewAlphaFuncx, glAlphaFuncx)
  glAlphaFuncx(func, ref);
  OGLM_CHECK_ERR("glAlphaFuncx", )
#line 858 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAlphaToCoverageDitherControlNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAlphaToCoverageDitherControlNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 206 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAlphaToCoverageDitherControlNV", )
  OGLM_AVAIL_CHECK(__glewAlphaToCoverageDitherControlNV, glAlphaToCoverageDitherControlNV)
  glAlphaToCoverageDitherControlNV(mode);
  OGLM_CHECK_ERR("glAlphaToCoverageDitherControlNV", )
#line 879 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glApplyFramebufferAttachmentCMAAINTEL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glApplyFramebufferAttachmentCMAAINTEL)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 215 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glApplyFramebufferAttachmentCMAAINTEL", )
  OGLM_AVAIL_CHECK(__glewApplyFramebufferAttachmentCMAAINTEL, glApplyFramebufferAttachmentCMAAINTEL)
  glApplyFramebufferAttachmentCMAAINTEL();
  OGLM_CHECK_ERR("glApplyFramebufferAttachmentCMAAINTEL", )
#line 898 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glApplyTextureEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glApplyTextureEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 225 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glApplyTextureEXT", )
  OGLM_AVAIL_CHECK(__glewApplyTextureEXT, glApplyTextureEXT)
  glApplyTextureEXT(mode);
  OGLM_CHECK_ERR("glApplyTextureEXT", )
#line 919 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAreProgramsResidentNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAreProgramsResidentNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "n, programs, residences");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	programs = INT2PTR(const GLuint *,SvIV(ST(1)))
;
	GLboolean *	residences = INT2PTR(GLboolean *,SvIV(ST(2)))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 237 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAreProgramsResidentNV", )
  OGLM_AVAIL_CHECK(__glewAreProgramsResidentNV, glAreProgramsResidentNV)
  RETVAL = glAreProgramsResidentNV(n, programs, residences);
  OGLM_CHECK_ERR("glAreProgramsResidentNV", )
#line 946 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glAreProgramsResidentNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAreProgramsResidentNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLboolean	RETVAL;
	dXSTARG;
#line 248 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAreProgramsResidentNV", )
  OGLM_AVAIL_CHECK(__glewAreProgramsResidentNV, glAreProgramsResidentNV)
  GLsizei n = items;
  GLuint* programs = OGLM_GET_VARARGS(programs,0,GLuint,UV,n);
  GLboolean *residences = OGLM_ALLOC(n,GLboolean,residences);
  RETVAL = glAreProgramsResidentNV((GLsizei )n, (const GLuint* )programs, (GLboolean *)residences);
  OGLM_CHECK_ERR("glAreProgramsResidentNV", free(residences);free(programs);)
  EXTEND(sp, 2);
  mPUSHs(newSViv(RETVAL));
  OGLM_PUSH_ARRAY(glAreProgramsResidentNV, newSViv, residences, n)
  free(residences);free(programs);
#line 978 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glAreTexturesResident_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAreTexturesResident_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "n, textures, residences");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint *	textures = INT2PTR(const GLuint *,SvIV(ST(1)))
;
	GLboolean *	residences = INT2PTR(GLboolean *,SvIV(ST(2)))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 267 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAreTexturesResident", )
  RETVAL = glAreTexturesResident(n, textures, residences);
  OGLM_CHECK_ERR("glAreTexturesResident", )
#line 1005 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glAreTexturesResident_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAreTexturesResident_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLboolean	RETVAL;
	dXSTARG;
#line 277 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAreTexturesResident", )
  GLsizei n = items;
  GLboolean *residences = OGLM_ALLOC(n,GLboolean,residences);
  GLuint *textures = OGLM_GET_VARARGS(textures,0,GLuint,UV,n);
  RETVAL = glAreTexturesResident((GLsizei )n, (const GLuint *)textures, (GLboolean *)residences);
  OGLM_CHECK_ERR("glAreTexturesResident", free(residences);free(textures);)
  EXTEND(sp, 2);
  mPUSHs(newSViv(RETVAL));
  OGLM_PUSH_ARRAY(glAreTexturesResident, newSViv, residences, n)
  free(residences);free(textures);
#line 1036 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glAreTexturesResidentEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAreTexturesResidentEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "n, textures, residences");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	textures = INT2PTR(const GLuint *,SvIV(ST(1)))
;
	GLboolean*	residences = INT2PTR(GLboolean *,SvIV(ST(2)))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 295 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAreTexturesResidentEXT", )
  OGLM_AVAIL_CHECK(__glewAreTexturesResidentEXT, glAreTexturesResidentEXT)
  RETVAL = glAreTexturesResidentEXT(n, textures, residences);
  OGLM_CHECK_ERR("glAreTexturesResidentEXT", )
#line 1064 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glAreTexturesResidentEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAreTexturesResidentEXT_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLboolean	RETVAL;
	dXSTARG;
#line 306 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAreTexturesResidentEXT", )
  OGLM_AVAIL_CHECK(__glewAreTexturesResidentEXT, glAreTexturesResidentEXT)
  GLsizei n = items;
  GLboolean* residences = OGLM_ALLOC(n,GLboolean,residences);
  GLuint* textures = OGLM_GET_VARARGS(textures,0,GLuint,UV,n);
  RETVAL = glAreTexturesResidentEXT((GLsizei )n, (const GLuint* )textures, (GLboolean* )residences);
  OGLM_CHECK_ERR("glAreTexturesResidentEXT", free(residences);free(textures);)
  EXTEND(sp, 2);
  mPUSHs(newSViv(RETVAL));
  OGLM_PUSH_ARRAY(glAreTexturesResidentEXT, newSViv, residences, n)
  free(residences);free(textures);
#line 1096 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glAreVertexArraysResidentSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAreVertexArraysResidentSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "n, arrays, residences");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	arrays = INT2PTR(const GLuint *,SvIV(ST(1)))
;
	GLboolean*	residences = INT2PTR(GLboolean *,SvIV(ST(2)))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 325 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAreVertexArraysResidentSGIX", )
  OGLM_AVAIL_CHECK(__glewAreVertexArraysResidentSGIX, glAreVertexArraysResidentSGIX)
  RETVAL = glAreVertexArraysResidentSGIX(n, arrays, residences);
  OGLM_CHECK_ERR("glAreVertexArraysResidentSGIX", )
#line 1124 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glArrayElement); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glArrayElement)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "i");
    {
	GLint	i = (int)SvIV(ST(0))
;
#line 339 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glArrayElement", )
  glArrayElement(i);
  OGLM_CHECK_ERR("glArrayElement", )
#line 1147 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glArrayObjectATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glArrayObjectATI)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "array, size, type, stride, buffer, offset");
    {
	GLenum	array = (int)SvIV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
	GLuint	buffer = (unsigned int)SvUV(ST(4))
;
	GLuint	offset = (unsigned int)SvUV(ST(5))
;
#line 353 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glArrayObjectATI", )
  OGLM_AVAIL_CHECK(__glewArrayObjectATI, glArrayObjectATI)
  glArrayObjectATI(array, size, type, stride, buffer, offset);
  OGLM_CHECK_ERR("glArrayObjectATI", )
#line 1178 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAsyncCopyBufferSubDataNVX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAsyncCopyBufferSubDataNVX_c)
{
    dVAR; dXSARGS;
    if (items != 13)
       croak_xs_usage(cv,  "waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray");
    {
	GLsizei	waitSemaphoreCount = (int)SvIV(ST(0))
;
	const GLuint*	waitSemaphoreArray = INT2PTR(const GLuint *,SvIV(ST(1)))
;
	const GLuint64 *	fenceValueArray = INT2PTR(const GLuint64 *,SvIV(ST(2)))
;
	GLuint	readGpu = (unsigned int)SvUV(ST(3))
;
	GLbitfield	writeGpuMask = (int)SvIV(ST(4))
;
	GLuint	readBuffer = (unsigned int)SvUV(ST(5))
;
	GLuint	writeBuffer = (unsigned int)SvUV(ST(6))
;
	GLintptr	readOffset = (unsigned int)SvUV(ST(7))
;
	GLintptr	writeOffset = (unsigned int)SvUV(ST(8))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(9))
;
	GLsizei	signalSemaphoreCount = (int)SvIV(ST(10))
;
	const GLuint *	signalSemaphoreArray = INT2PTR(const GLuint *,SvIV(ST(11)))
;
	const GLuint64 *	signalValueArray = INT2PTR(const GLuint64 *,SvIV(ST(12)))
;
	GLsync	RETVAL;
	dXSTARG;
#line 375 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAsyncCopyBufferSubDataNVX", )
  OGLM_AVAIL_CHECK(__glewAsyncCopyBufferSubDataNVX, glAsyncCopyBufferSubDataNVX)
  RETVAL = glAsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray);
  OGLM_CHECK_ERR("glAsyncCopyBufferSubDataNVX", )
#line 1225 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glAsyncCopyBufferSubDataNVX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAsyncCopyBufferSubDataNVX_p)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "waitSemaphoreArraySV, fenceValueArraySV, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreArraySV, signalValueArraySV");
    {
	SV *	waitSemaphoreArraySV = ST(0)
;
	SV *	fenceValueArraySV = ST(1)
;
	GLuint	readGpu = (unsigned int)SvUV(ST(2))
;
	GLbitfield	writeGpuMask = (int)SvIV(ST(3))
;
	GLuint	readBuffer = (unsigned int)SvUV(ST(4))
;
	GLuint	writeBuffer = (unsigned int)SvUV(ST(5))
;
	GLintptr	readOffset = (unsigned int)SvUV(ST(6))
;
	GLintptr	writeOffset = (unsigned int)SvUV(ST(7))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(8))
;
	SV *	signalSemaphoreArraySV = ST(9)
;
	SV *	signalValueArraySV = ST(10)
;
	GLsync	RETVAL;
	dXSTARG;
#line 397 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAsyncCopyBufferSubDataNVX", )
  OGLM_AVAIL_CHECK(__glewAsyncCopyBufferSubDataNVX, glAsyncCopyBufferSubDataNVX)
  GLsizei signalSemaphoreCount = OGLM_LEN_ARRAY(signalSemaphoreCount, signalSemaphoreArray);
  GLsizei waitSemaphoreCount = OGLM_LEN_ARRAY(waitSemaphoreCount, waitSemaphoreArray);
  GLuint64 *fenceValueArray = OGLM_GET_ARRAY(fenceValueArray, GLuint64, UV, waitSemaphoreCount);
  GLuint *signalSemaphoreArray = OGLM_GET_ARRAY(signalSemaphoreArray, GLuint, UV, signalSemaphoreCount);
  GLuint64 *signalValueArray = OGLM_GET_ARRAY(signalValueArray, GLuint64, UV, signalSemaphoreCount);
  GLuint* waitSemaphoreArray = OGLM_GET_ARRAY(waitSemaphoreArray, GLuint, UV, waitSemaphoreCount);
  RETVAL = 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);
  OGLM_CHECK_ERR("glAsyncCopyBufferSubDataNVX", free(fenceValueArray);free(signalSemaphoreArray);free(signalValueArray);free(waitSemaphoreArray);)
  free(fenceValueArray);free(signalSemaphoreArray);free(signalValueArray);free(waitSemaphoreArray);
#line 1277 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glAsyncCopyImageSubDataNVX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAsyncCopyImageSubDataNVX_c)
{
    dVAR; dXSARGS;
    if (items != 23)
       croak_xs_usage(cv,  "waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray");
    {
	GLsizei	waitSemaphoreCount = (int)SvIV(ST(0))
;
	const GLuint*	waitSemaphoreArray = INT2PTR(const GLuint *,SvIV(ST(1)))
;
	const GLuint64 *	waitValueArray = INT2PTR(const GLuint64 *,SvIV(ST(2)))
;
	GLuint	srcGpu = (unsigned int)SvUV(ST(3))
;
	GLbitfield	dstGpuMask = (int)SvIV(ST(4))
;
	GLuint	srcName = (unsigned int)SvUV(ST(5))
;
	GLenum	srcTarget = (int)SvIV(ST(6))
;
	GLint	srcLevel = (int)SvIV(ST(7))
;
	GLint	srcX = (int)SvIV(ST(8))
;
	GLint	srcY = (int)SvIV(ST(9))
;
	GLint	srcZ = (int)SvIV(ST(10))
;
	GLuint	dstName = (unsigned int)SvUV(ST(11))
;
	GLenum	dstTarget = (int)SvIV(ST(12))
;
	GLint	dstLevel = (int)SvIV(ST(13))
;
	GLint	dstX = (int)SvIV(ST(14))
;
	GLint	dstY = (int)SvIV(ST(15))
;
	GLint	dstZ = (int)SvIV(ST(16))
;
	GLsizei	srcWidth = (int)SvIV(ST(17))
;
	GLsizei	srcHeight = (int)SvIV(ST(18))
;
	GLsizei	srcDepth = (int)SvIV(ST(19))
;
	GLsizei	signalSemaphoreCount = (int)SvIV(ST(20))
;
	const GLuint *	signalSemaphoreArray = INT2PTR(const GLuint *,SvIV(ST(21)))
;
	const GLuint64 *	signalValueArray = INT2PTR(const GLuint64 *,SvIV(ST(22)))
;
	GLuint	RETVAL;
	dXSTARG;
#line 438 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAsyncCopyImageSubDataNVX", )
  OGLM_AVAIL_CHECK(__glewAsyncCopyImageSubDataNVX, glAsyncCopyImageSubDataNVX)
  RETVAL = glAsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray);
  OGLM_CHECK_ERR("glAsyncCopyImageSubDataNVX", )
#line 1346 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glAsyncCopyImageSubDataNVX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAsyncCopyImageSubDataNVX_p)
{
    dVAR; dXSARGS;
    if (items != 21)
       croak_xs_usage(cv,  "waitSemaphoreArraySV, waitValueArraySV, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreArraySV, signalValueArraySV");
    {
	SV *	waitSemaphoreArraySV = ST(0)
;
	SV *	waitValueArraySV = ST(1)
;
	GLuint	srcGpu = (unsigned int)SvUV(ST(2))
;
	GLbitfield	dstGpuMask = (int)SvIV(ST(3))
;
	GLuint	srcName = (unsigned int)SvUV(ST(4))
;
	GLenum	srcTarget = (int)SvIV(ST(5))
;
	GLint	srcLevel = (int)SvIV(ST(6))
;
	GLint	srcX = (int)SvIV(ST(7))
;
	GLint	srcY = (int)SvIV(ST(8))
;
	GLint	srcZ = (int)SvIV(ST(9))
;
	GLuint	dstName = (unsigned int)SvUV(ST(10))
;
	GLenum	dstTarget = (int)SvIV(ST(11))
;
	GLint	dstLevel = (int)SvIV(ST(12))
;
	GLint	dstX = (int)SvIV(ST(13))
;
	GLint	dstY = (int)SvIV(ST(14))
;
	GLint	dstZ = (int)SvIV(ST(15))
;
	GLsizei	srcWidth = (int)SvIV(ST(16))
;
	GLsizei	srcHeight = (int)SvIV(ST(17))
;
	GLsizei	srcDepth = (int)SvIV(ST(18))
;
	SV *	signalSemaphoreArraySV = ST(19)
;
	SV *	signalValueArraySV = ST(20)
;
	GLuint	RETVAL;
	dXSTARG;
#line 470 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAsyncCopyImageSubDataNVX", )
  OGLM_AVAIL_CHECK(__glewAsyncCopyImageSubDataNVX, glAsyncCopyImageSubDataNVX)
  GLsizei signalSemaphoreCount = OGLM_LEN_ARRAY(signalSemaphoreCount, signalSemaphoreArray);
  GLsizei waitSemaphoreCount = OGLM_LEN_ARRAY(waitSemaphoreCount, waitSemaphoreArray);
  GLuint *signalSemaphoreArray = OGLM_GET_ARRAY(signalSemaphoreArray, GLuint, UV, signalSemaphoreCount);
  GLuint64 *signalValueArray = OGLM_GET_ARRAY(signalValueArray, GLuint64, UV, signalSemaphoreCount);
  GLuint* waitSemaphoreArray = OGLM_GET_ARRAY(waitSemaphoreArray, GLuint, UV, waitSemaphoreCount);
  GLuint64 *waitValueArray = OGLM_GET_ARRAY(waitValueArray, GLuint64, UV, waitSemaphoreCount);
  RETVAL = 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);
  OGLM_CHECK_ERR("glAsyncCopyImageSubDataNVX", free(signalSemaphoreArray);free(signalValueArray);free(waitSemaphoreArray);free(waitValueArray);)
  free(signalSemaphoreArray);free(signalValueArray);free(waitSemaphoreArray);free(waitValueArray);
#line 1418 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glAsyncMarkerSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAsyncMarkerSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "marker");
    {
	GLuint	marker = (unsigned int)SvUV(ST(0))
;
#line 489 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAsyncMarkerSGIX", )
  OGLM_AVAIL_CHECK(__glewAsyncMarkerSGIX, glAsyncMarkerSGIX)
  glAsyncMarkerSGIX(marker);
  OGLM_CHECK_ERR("glAsyncMarkerSGIX", )
#line 1441 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAttachObjectARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAttachObjectARB)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "containerObj, obj");
    {
	GLhandleARB	containerObj = (unsigned int)SvUV(ST(0))
;
	GLhandleARB	obj = (unsigned int)SvUV(ST(1))
;
#line 500 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAttachObjectARB", )
  OGLM_AVAIL_CHECK(__glewAttachObjectARB, glAttachObjectARB)
  glAttachObjectARB(containerObj, obj);
  OGLM_CHECK_ERR("glAttachObjectARB", )
#line 1464 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glAttachShader); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glAttachShader)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, shader");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	shader = (unsigned int)SvUV(ST(1))
;
#line 511 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glAttachShader", )
  OGLM_AVAIL_CHECK(__glewAttachShader, glAttachShader)
  glAttachShader(program, shader);
  OGLM_CHECK_ERR("glAttachShader", )
#line 1487 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBegin); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBegin)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 521 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBegin", )
  glBegin(mode);
  OGLM_CHECK_ERR("glBegin", )
#line 1507 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginConditionalRender); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginConditionalRender)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "id, mode");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 533 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginConditionalRender", )
  OGLM_AVAIL_CHECK(__glewBeginConditionalRender, glBeginConditionalRender)
  glBeginConditionalRender(id, mode);
  OGLM_CHECK_ERR("glBeginConditionalRender", )
#line 1531 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginConditionalRenderNVX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginConditionalRenderNVX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
#line 543 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginConditionalRenderNVX", )
  OGLM_AVAIL_CHECK(__glewBeginConditionalRenderNVX, glBeginConditionalRenderNVX)
  glBeginConditionalRenderNVX(id);
  OGLM_CHECK_ERR("glBeginConditionalRenderNVX", )
#line 1552 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginFragmentShaderATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginFragmentShaderATI)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 552 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginFragmentShaderATI", )
  OGLM_AVAIL_CHECK(__glewBeginFragmentShaderATI, glBeginFragmentShaderATI)
  glBeginFragmentShaderATI();
  OGLM_CHECK_ERR("glBeginFragmentShaderATI", )
#line 1571 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginOcclusionQueryNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginOcclusionQueryNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
#line 562 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginOcclusionQueryNV", )
  OGLM_AVAIL_CHECK(__glewBeginOcclusionQueryNV, glBeginOcclusionQueryNV)
  glBeginOcclusionQueryNV(id);
  OGLM_CHECK_ERR("glBeginOcclusionQueryNV", )
#line 1592 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginPerfMonitorAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginPerfMonitorAMD)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "monitor");
    {
	GLuint	monitor = (unsigned int)SvUV(ST(0))
;
#line 572 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginPerfMonitorAMD", )
  OGLM_AVAIL_CHECK(__glewBeginPerfMonitorAMD, glBeginPerfMonitorAMD)
  glBeginPerfMonitorAMD(monitor);
  OGLM_CHECK_ERR("glBeginPerfMonitorAMD", )
#line 1613 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginPerfQueryINTEL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginPerfQueryINTEL)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "queryHandle");
    {
	GLuint	queryHandle = (unsigned int)SvUV(ST(0))
;
#line 582 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginPerfQueryINTEL", )
  OGLM_AVAIL_CHECK(__glewBeginPerfQueryINTEL, glBeginPerfQueryINTEL)
  glBeginPerfQueryINTEL(queryHandle);
  OGLM_CHECK_ERR("glBeginPerfQueryINTEL", )
#line 1634 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginQuery); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginQuery)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, id");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
#line 595 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginQuery", )
  OGLM_AVAIL_CHECK(__glewBeginQuery, glBeginQuery)
  glBeginQuery(target, id);
  OGLM_CHECK_ERR("glBeginQuery", )
#line 1658 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginQueryANGLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginQueryANGLE)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, id");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
#line 606 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginQueryANGLE", )
  OGLM_AVAIL_CHECK(__glewBeginQueryANGLE, glBeginQueryANGLE)
  glBeginQueryANGLE(target, id);
  OGLM_CHECK_ERR("glBeginQueryANGLE", )
#line 1681 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginQueryEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginQueryEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, id");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
#line 617 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginQueryEXT", )
  OGLM_AVAIL_CHECK(__glewBeginQueryEXT, glBeginQueryEXT)
  glBeginQueryEXT(target, id);
  OGLM_CHECK_ERR("glBeginQueryEXT", )
#line 1704 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginQueryIndexed); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginQueryIndexed)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, id");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLuint	id = (unsigned int)SvUV(ST(2))
;
#line 629 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginQueryIndexed", )
  OGLM_AVAIL_CHECK(__glewBeginQueryIndexed, glBeginQueryIndexed)
  glBeginQueryIndexed(target, index, id);
  OGLM_CHECK_ERR("glBeginQueryIndexed", )
#line 1729 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginSceneEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginSceneEXT)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 638 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginSceneEXT", )
  OGLM_AVAIL_CHECK(__glewBeginSceneEXT, glBeginSceneEXT)
  glBeginSceneEXT();
  OGLM_CHECK_ERR("glBeginSceneEXT", )
#line 1748 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginTransformFeedback); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginTransformFeedback)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "primitiveMode");
    {
	GLenum	primitiveMode = (int)SvIV(ST(0))
;
#line 651 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginTransformFeedback", )
  OGLM_AVAIL_CHECK(__glewBeginTransformFeedback, glBeginTransformFeedback)
  glBeginTransformFeedback(primitiveMode);
  OGLM_CHECK_ERR("glBeginTransformFeedback", )
#line 1770 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginVertexShaderEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginVertexShaderEXT)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 660 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginVertexShaderEXT", )
  OGLM_AVAIL_CHECK(__glewBeginVertexShaderEXT, glBeginVertexShaderEXT)
  glBeginVertexShaderEXT();
  OGLM_CHECK_ERR("glBeginVertexShaderEXT", )
#line 1789 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBeginVideoCaptureNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBeginVideoCaptureNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "video_capture_slot");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
#line 670 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBeginVideoCaptureNV", )
  OGLM_AVAIL_CHECK(__glewBeginVideoCaptureNV, glBeginVideoCaptureNV)
  glBeginVideoCaptureNV(video_capture_slot);
  OGLM_CHECK_ERR("glBeginVideoCaptureNV", )
#line 1810 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindArraySetEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindArraySetEXT_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "arrayset");
    {
	const void *	arrayset = INT2PTR(const void *,SvIV(ST(0)))
;
#line 680 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindArraySetEXT", )
  OGLM_AVAIL_CHECK(__glewBindArraySetEXT, glBindArraySetEXT)
  glBindArraySetEXT(arrayset);
  OGLM_CHECK_ERR("glBindArraySetEXT", )
#line 1831 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindAttribLocation); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindAttribLocation)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, index, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(2))
;
#line 692 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindAttribLocation", )
  OGLM_AVAIL_CHECK(__glewBindAttribLocation, glBindAttribLocation)
  glBindAttribLocation(program, index, name);
  OGLM_CHECK_ERR("glBindAttribLocation", )
#line 1856 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindAttribLocationARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindAttribLocationARB)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "programObj, index, name");
    {
	GLhandleARB	programObj = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLcharARB*	name = (const GLcharARB *)SvPV_nolen(ST(2))
;
#line 704 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindAttribLocationARB", )
  OGLM_AVAIL_CHECK(__glewBindAttribLocationARB, glBindAttribLocationARB)
  glBindAttribLocationARB(programObj, index, name);
  OGLM_CHECK_ERR("glBindAttribLocationARB", )
#line 1881 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindBuffer)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, buffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
#line 717 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindBuffer", )
  OGLM_AVAIL_CHECK(__glewBindBuffer, glBindBuffer)
  glBindBuffer(target, buffer);
  OGLM_CHECK_ERR("glBindBuffer", )
#line 1905 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindBufferBase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindBufferBase)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, buffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
#line 732 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindBufferBase", )
  OGLM_AVAIL_CHECK(__glewBindBufferBase, glBindBufferBase)
  glBindBufferBase(target, index, buffer);
  OGLM_CHECK_ERR("glBindBufferBase", )
#line 1931 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindBufferOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindBufferOffsetEXT)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, buffer, offset");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
#line 747 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindBufferOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewBindBufferOffsetEXT, glBindBufferOffsetEXT)
  glBindBufferOffsetEXT(target, index, buffer, offset);
  OGLM_CHECK_ERR("glBindBufferOffsetEXT", )
#line 1959 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindBufferRange); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindBufferRange)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, index, buffer, offset, size");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(4))
;
#line 764 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindBufferRange", )
  OGLM_AVAIL_CHECK(__glewBindBufferRange, glBindBufferRange)
  glBindBufferRange(target, index, buffer, offset, size);
  OGLM_CHECK_ERR("glBindBufferRange", )
#line 1989 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindBuffersBase_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindBuffersBase_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, first, count, buffers");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	first = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint*	buffers = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 777 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindBuffersBase", )
  OGLM_AVAIL_CHECK(__glewBindBuffersBase, glBindBuffersBase)
  glBindBuffersBase(target, first, count, buffers);
  OGLM_CHECK_ERR("glBindBuffersBase", )
#line 2016 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindBuffersBase_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindBuffersBase_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, first, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	first = (unsigned int)SvUV(ST(1))
;
#line 788 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindBuffersBase", )
  OGLM_AVAIL_CHECK(__glewBindBuffersBase, glBindBuffersBase)
  GLsizei count = items-2;
  GLuint* buffers = OGLM_GET_VARARGS(buffers,2,GLuint,UV,count);
  glBindBuffersBase((GLenum )target, (GLuint )first, (GLsizei )count, (const GLuint* )buffers);
  OGLM_CHECK_ERR("glBindBuffersBase", free(buffers);)
  free(buffers);
#line 2042 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindBuffersRange_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindBuffersRange_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, first, count, buffers, offsets, sizes");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	first = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint*	buffers = INT2PTR(const GLuint *,SvIV(ST(3)))
;
	const GLintptr *	offsets = INT2PTR(const GLintptr *,SvIV(ST(4)))
;
	const GLsizeiptr *	sizes = INT2PTR(const GLsizeiptr *,SvIV(ST(5)))
;
#line 806 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindBuffersRange", )
  OGLM_AVAIL_CHECK(__glewBindBuffersRange, glBindBuffersRange)
  glBindBuffersRange(target, first, count, buffers, offsets, sizes);
  OGLM_CHECK_ERR("glBindBuffersRange", )
#line 2073 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindFragDataLocation); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindFragDataLocation)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "program, color, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	color = (unsigned int)SvUV(ST(1))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(2))
;
#line 820 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindFragDataLocation", )
  OGLM_AVAIL_CHECK(__glewBindFragDataLocation, glBindFragDataLocation)
  glBindFragDataLocation(program, color, name);
  OGLM_CHECK_ERR("glBindFragDataLocation", )
#line 2099 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindFragDataLocationIndexed); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindFragDataLocationIndexed)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, colorNumber, index, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	colorNumber = (unsigned int)SvUV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	const GLchar *	name = (const GLchar *)SvPV_nolen(ST(3))
;
#line 835 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindFragDataLocationIndexed", )
  OGLM_AVAIL_CHECK(__glewBindFragDataLocationIndexed, glBindFragDataLocationIndexed)
  glBindFragDataLocationIndexed(program, colorNumber, index, name);
  OGLM_CHECK_ERR("glBindFragDataLocationIndexed", )
#line 2127 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindFragmentShaderATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindFragmentShaderATI)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
#line 845 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindFragmentShaderATI", )
  OGLM_AVAIL_CHECK(__glewBindFragmentShaderATI, glBindFragmentShaderATI)
  glBindFragmentShaderATI(id);
  OGLM_CHECK_ERR("glBindFragmentShaderATI", )
#line 2148 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindFramebuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindFramebuffer)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, framebuffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	framebuffer = (unsigned int)SvUV(ST(1))
;
#line 856 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindFramebuffer", )
  OGLM_AVAIL_CHECK(__glewBindFramebuffer, glBindFramebuffer)
  glBindFramebuffer(target, framebuffer);
  OGLM_CHECK_ERR("glBindFramebuffer", )
#line 2171 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindFramebufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindFramebufferEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, framebuffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	framebuffer = (unsigned int)SvUV(ST(1))
;
#line 867 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindFramebufferEXT", )
  OGLM_AVAIL_CHECK(__glewBindFramebufferEXT, glBindFramebufferEXT)
  glBindFramebufferEXT(target, framebuffer);
  OGLM_CHECK_ERR("glBindFramebufferEXT", )
#line 2194 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindFramebufferOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindFramebufferOES)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, framebuffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	framebuffer = (unsigned int)SvUV(ST(1))
;
#line 878 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindFramebufferOES", )
  OGLM_AVAIL_CHECK(__glewBindFramebufferOES, glBindFramebufferOES)
  glBindFramebufferOES(target, framebuffer);
  OGLM_CHECK_ERR("glBindFramebufferOES", )
#line 2217 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindImageTexture); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindImageTexture)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "unit, texture, level, layered, layer, access, format");
    {
	GLuint	unit = (unsigned int)SvUV(ST(0))
;
	GLuint	texture = (unsigned int)SvUV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLboolean	layered = (int)SvIV(ST(3))
;
	GLint	layer = (int)SvIV(ST(4))
;
	GLenum	access = (int)SvIV(ST(5))
;
	GLenum	format = (int)SvIV(ST(6))
;
#line 894 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindImageTexture", )
  OGLM_AVAIL_CHECK(__glewBindImageTexture, glBindImageTexture)
  glBindImageTexture(unit, texture, level, layered, layer, access, format);
  OGLM_CHECK_ERR("glBindImageTexture", )
#line 2250 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindImageTextureEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindImageTextureEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "index, texture, level, layered, layer, access, format");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint	texture = (unsigned int)SvUV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLboolean	layered = (int)SvIV(ST(3))
;
	GLint	layer = (int)SvIV(ST(4))
;
	GLenum	access = (int)SvIV(ST(5))
;
	GLint	format = (int)SvIV(ST(6))
;
#line 910 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindImageTextureEXT", )
  OGLM_AVAIL_CHECK(__glewBindImageTextureEXT, glBindImageTextureEXT)
  glBindImageTextureEXT(index, texture, level, layered, layer, access, format);
  OGLM_CHECK_ERR("glBindImageTextureEXT", )
#line 2283 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindImageTextures_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindImageTextures_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "first, count, textures");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint*	textures = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 922 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindImageTextures", )
  OGLM_AVAIL_CHECK(__glewBindImageTextures, glBindImageTextures)
  glBindImageTextures(first, count, textures);
  OGLM_CHECK_ERR("glBindImageTextures", )
#line 2308 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindImageTextures_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindImageTextures_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "first, ...");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
#line 932 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindImageTextures", )
  OGLM_AVAIL_CHECK(__glewBindImageTextures, glBindImageTextures)
  GLsizei count = items-1;
  GLuint* textures = OGLM_GET_VARARGS(textures,1,GLuint,UV,count);
  glBindImageTextures((GLuint )first, (GLsizei )count, (const GLuint* )textures);
  OGLM_CHECK_ERR("glBindImageTextures", free(textures);)
  free(textures);
#line 2332 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindLightParameterEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindLightParameterEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "light, value");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLuint	RETVAL;
	dXSTARG;
#line 946 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindLightParameterEXT", )
  OGLM_AVAIL_CHECK(__glewBindLightParameterEXT, glBindLightParameterEXT)
  RETVAL = glBindLightParameterEXT(light, value);
  OGLM_CHECK_ERR("glBindLightParameterEXT", )
#line 2357 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glBindMaterialParameterEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindMaterialParameterEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, value");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLuint	RETVAL;
	dXSTARG;
#line 959 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindMaterialParameterEXT", )
  OGLM_AVAIL_CHECK(__glewBindMaterialParameterEXT, glBindMaterialParameterEXT)
  RETVAL = glBindMaterialParameterEXT(face, value);
  OGLM_CHECK_ERR("glBindMaterialParameterEXT", )
#line 2384 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glBindMultiTextureEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindMultiTextureEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texunit, target, texture");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
#line 973 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindMultiTextureEXT", )
  OGLM_AVAIL_CHECK(__glewBindMultiTextureEXT, glBindMultiTextureEXT)
  glBindMultiTextureEXT(texunit, target, texture);
  OGLM_CHECK_ERR("glBindMultiTextureEXT", )
#line 2411 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindParameterEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindParameterEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "value");
    {
	GLenum	value = (int)SvIV(ST(0))
;
	GLuint	RETVAL;
	dXSTARG;
#line 983 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindParameterEXT", )
  OGLM_AVAIL_CHECK(__glewBindParameterEXT, glBindParameterEXT)
  RETVAL = glBindParameterEXT(value);
  OGLM_CHECK_ERR("glBindParameterEXT", )
#line 2434 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glBindProgramARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindProgramARB)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, program");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	program = (unsigned int)SvUV(ST(1))
;
#line 998 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindProgramARB", )
  OGLM_AVAIL_CHECK(__glewBindProgramARB, glBindProgramARB)
  glBindProgramARB(target, program);
  OGLM_CHECK_ERR("glBindProgramARB", )
#line 2460 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindProgramPipeline); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindProgramPipeline)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pipeline");
    {
	GLuint	pipeline = (unsigned int)SvUV(ST(0))
;
#line 1008 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindProgramPipeline", )
  OGLM_AVAIL_CHECK(__glewBindProgramPipeline, glBindProgramPipeline)
  glBindProgramPipeline(pipeline);
  OGLM_CHECK_ERR("glBindProgramPipeline", )
#line 2481 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindRenderbuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindRenderbuffer)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, renderbuffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	renderbuffer = (unsigned int)SvUV(ST(1))
;
#line 1019 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindRenderbuffer", )
  OGLM_AVAIL_CHECK(__glewBindRenderbuffer, glBindRenderbuffer)
  glBindRenderbuffer(target, renderbuffer);
  OGLM_CHECK_ERR("glBindRenderbuffer", )
#line 2504 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindRenderbufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindRenderbufferEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, renderbuffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	renderbuffer = (unsigned int)SvUV(ST(1))
;
#line 1030 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindRenderbufferEXT", )
  OGLM_AVAIL_CHECK(__glewBindRenderbufferEXT, glBindRenderbufferEXT)
  glBindRenderbufferEXT(target, renderbuffer);
  OGLM_CHECK_ERR("glBindRenderbufferEXT", )
#line 2527 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindRenderbufferOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindRenderbufferOES)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, renderbuffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	renderbuffer = (unsigned int)SvUV(ST(1))
;
#line 1041 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindRenderbufferOES", )
  OGLM_AVAIL_CHECK(__glewBindRenderbufferOES, glBindRenderbufferOES)
  glBindRenderbufferOES(target, renderbuffer);
  OGLM_CHECK_ERR("glBindRenderbufferOES", )
#line 2550 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindSampler); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindSampler)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "unit, sampler");
    {
	GLuint	unit = (unsigned int)SvUV(ST(0))
;
	GLuint	sampler = (unsigned int)SvUV(ST(1))
;
#line 1052 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindSampler", )
  OGLM_AVAIL_CHECK(__glewBindSampler, glBindSampler)
  glBindSampler(unit, sampler);
  OGLM_CHECK_ERR("glBindSampler", )
#line 2573 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindSamplers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindSamplers_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "first, count, samplers");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint*	samplers = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 1064 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindSamplers", )
  OGLM_AVAIL_CHECK(__glewBindSamplers, glBindSamplers)
  glBindSamplers(first, count, samplers);
  OGLM_CHECK_ERR("glBindSamplers", )
#line 2598 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindSamplers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindSamplers_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "first, ...");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
#line 1074 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindSamplers", )
  OGLM_AVAIL_CHECK(__glewBindSamplers, glBindSamplers)
  GLsizei count = items-1;
  GLuint* samplers = OGLM_GET_VARARGS(samplers,1,GLuint,UV,count);
  glBindSamplers((GLuint )first, (GLsizei )count, (const GLuint* )samplers);
  OGLM_CHECK_ERR("glBindSamplers", free(samplers);)
  free(samplers);
#line 2622 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindShadingRateImageNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindShadingRateImageNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "texture");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
#line 1087 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindShadingRateImageNV", )
  OGLM_AVAIL_CHECK(__glewBindShadingRateImageNV, glBindShadingRateImageNV)
  glBindShadingRateImageNV(texture);
  OGLM_CHECK_ERR("glBindShadingRateImageNV", )
#line 2643 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindTexGenParameterEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindTexGenParameterEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "unit, coord, value");
    {
	GLenum	unit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	value = (int)SvIV(ST(2))
;
	GLuint	RETVAL;
	dXSTARG;
#line 1099 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindTexGenParameterEXT", )
  OGLM_AVAIL_CHECK(__glewBindTexGenParameterEXT, glBindTexGenParameterEXT)
  RETVAL = glBindTexGenParameterEXT(unit, coord, value);
  OGLM_CHECK_ERR("glBindTexGenParameterEXT", )
#line 2670 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glBindTexture); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindTexture)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, texture");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	texture = (unsigned int)SvUV(ST(1))
;
#line 1114 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindTexture", )
  glBindTexture(target, texture);
  OGLM_CHECK_ERR("glBindTexture", )
#line 2695 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindTextureUnit); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindTextureUnit)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "unit, texture");
    {
	GLuint	unit = (unsigned int)SvUV(ST(0))
;
	GLuint	texture = (unsigned int)SvUV(ST(1))
;
#line 1124 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindTextureUnit", )
  OGLM_AVAIL_CHECK(__glewBindTextureUnit, glBindTextureUnit)
  glBindTextureUnit(unit, texture);
  OGLM_CHECK_ERR("glBindTextureUnit", )
#line 2718 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindTextureUnitParameterEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindTextureUnitParameterEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "unit, value");
    {
	GLenum	unit = (int)SvIV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLuint	RETVAL;
	dXSTARG;
#line 1135 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindTextureUnitParameterEXT", )
  OGLM_AVAIL_CHECK(__glewBindTextureUnitParameterEXT, glBindTextureUnitParameterEXT)
  RETVAL = glBindTextureUnitParameterEXT(unit, value);
  OGLM_CHECK_ERR("glBindTextureUnitParameterEXT", )
#line 2743 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glBindTextures_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindTextures_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "first, count, textures");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint*	textures = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 1149 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindTextures", )
  OGLM_AVAIL_CHECK(__glewBindTextures, glBindTextures)
  glBindTextures(first, count, textures);
  OGLM_CHECK_ERR("glBindTextures", )
#line 2770 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindTextures_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindTextures_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "first, ...");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
#line 1159 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindTextures", )
  OGLM_AVAIL_CHECK(__glewBindTextures, glBindTextures)
  GLsizei count = items-1;
  GLuint* textures = OGLM_GET_VARARGS(textures,1,GLuint,UV,count);
  glBindTextures((GLuint )first, (GLsizei )count, (const GLuint* )textures);
  OGLM_CHECK_ERR("glBindTextures", free(textures);)
  free(textures);
#line 2794 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindTransformFeedback); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindTransformFeedback)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, id");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
#line 1173 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindTransformFeedback", )
  OGLM_AVAIL_CHECK(__glewBindTransformFeedback, glBindTransformFeedback)
  glBindTransformFeedback(target, id);
  OGLM_CHECK_ERR("glBindTransformFeedback", )
#line 2817 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindTransformFeedbackNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindTransformFeedbackNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, id");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
#line 1184 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindTransformFeedbackNV", )
  OGLM_AVAIL_CHECK(__glewBindTransformFeedbackNV, glBindTransformFeedbackNV)
  glBindTransformFeedbackNV(target, id);
  OGLM_CHECK_ERR("glBindTransformFeedbackNV", )
#line 2840 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindVertexArray); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindVertexArray)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "array");
    {
	GLuint	array = (unsigned int)SvUV(ST(0))
;
#line 1194 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindVertexArray", )
  OGLM_AVAIL_CHECK(__glewBindVertexArray, glBindVertexArray)
  glBindVertexArray(array);
  OGLM_CHECK_ERR("glBindVertexArray", )
#line 2861 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindVertexArrayAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindVertexArrayAPPLE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "array");
    {
	GLuint	array = (unsigned int)SvUV(ST(0))
;
#line 1204 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindVertexArrayAPPLE", )
  OGLM_AVAIL_CHECK(__glewBindVertexArrayAPPLE, glBindVertexArrayAPPLE)
  glBindVertexArrayAPPLE(array);
  OGLM_CHECK_ERR("glBindVertexArrayAPPLE", )
#line 2882 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindVertexArrayOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindVertexArrayOES)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "array");
    {
	GLuint	array = (unsigned int)SvUV(ST(0))
;
#line 1214 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindVertexArrayOES", )
  OGLM_AVAIL_CHECK(__glewBindVertexArrayOES, glBindVertexArrayOES)
  glBindVertexArrayOES(array);
  OGLM_CHECK_ERR("glBindVertexArrayOES", )
#line 2903 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindVertexArraySGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindVertexArraySGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "array");
    {
	GLuint	array = (unsigned int)SvUV(ST(0))
;
#line 1224 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindVertexArraySGIX", )
  OGLM_AVAIL_CHECK(__glewBindVertexArraySGIX, glBindVertexArraySGIX)
  glBindVertexArraySGIX(array);
  OGLM_CHECK_ERR("glBindVertexArraySGIX", )
#line 2924 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindVertexBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindVertexBuffer)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "bindingindex, buffer, offset, stride");
    {
	GLuint	bindingindex = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLintptr	offset = (unsigned int)SvUV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
#line 1237 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindVertexBuffer", )
  OGLM_AVAIL_CHECK(__glewBindVertexBuffer, glBindVertexBuffer)
  glBindVertexBuffer(bindingindex, buffer, offset, stride);
  OGLM_CHECK_ERR("glBindVertexBuffer", )
#line 2951 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindVertexBuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindVertexBuffers_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "first, count, buffers, offsets, strides");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint*	buffers = INT2PTR(const GLuint *,SvIV(ST(2)))
;
	const GLintptr *	offsets = INT2PTR(const GLintptr *,SvIV(ST(3)))
;
	const GLsizei *	strides = INT2PTR(const GLsizei *,SvIV(ST(4)))
;
#line 1251 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindVertexBuffers", )
  OGLM_AVAIL_CHECK(__glewBindVertexBuffers, glBindVertexBuffers)
  glBindVertexBuffers(first, count, buffers, offsets, strides);
  OGLM_CHECK_ERR("glBindVertexBuffers", )
#line 2980 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindVertexShaderEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindVertexShaderEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
#line 1261 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindVertexShaderEXT", )
  OGLM_AVAIL_CHECK(__glewBindVertexShaderEXT, glBindVertexShaderEXT)
  glBindVertexShaderEXT(id);
  OGLM_CHECK_ERR("glBindVertexShaderEXT", )
#line 3001 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindVideoCaptureStreamBufferNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindVideoCaptureStreamBufferNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "video_capture_slot, stream, frame_region, offset");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
	GLuint	stream = (unsigned int)SvUV(ST(1))
;
	GLenum	frame_region = (int)SvIV(ST(2))
;
	GLintptrARB	offset = (unsigned int)SvUV(ST(3))
;
#line 1274 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindVideoCaptureStreamBufferNV", )
  OGLM_AVAIL_CHECK(__glewBindVideoCaptureStreamBufferNV, glBindVideoCaptureStreamBufferNV)
  glBindVideoCaptureStreamBufferNV(video_capture_slot, stream, frame_region, offset);
  OGLM_CHECK_ERR("glBindVideoCaptureStreamBufferNV", )
#line 3028 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBindVideoCaptureStreamTextureNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBindVideoCaptureStreamTextureNV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "video_capture_slot, stream, frame_region, target, texture");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
	GLuint	stream = (unsigned int)SvUV(ST(1))
;
	GLenum	frame_region = (int)SvIV(ST(2))
;
	GLenum	target = (int)SvIV(ST(3))
;
	GLuint	texture = (unsigned int)SvUV(ST(4))
;
#line 1288 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBindVideoCaptureStreamTextureNV", )
  OGLM_AVAIL_CHECK(__glewBindVideoCaptureStreamTextureNV, glBindVideoCaptureStreamTextureNV)
  glBindVideoCaptureStreamTextureNV(video_capture_slot, stream, frame_region, target, texture);
  OGLM_CHECK_ERR("glBindVideoCaptureStreamTextureNV", )
#line 3057 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBinormalPointerEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBinormalPointerEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "type, stride, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(2)))
;
#line 1300 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBinormalPointerEXT", )
  OGLM_AVAIL_CHECK(__glewBinormalPointerEXT, glBinormalPointerEXT)
  glBinormalPointerEXT(type, stride, pointer);
  OGLM_CHECK_ERR("glBinormalPointerEXT", )
#line 3082 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBitmap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBitmap)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "width, height, xorig, yorig, xmove, ymove, bitmap");
    {
	GLsizei	width = (int)SvIV(ST(0))
;
	GLsizei	height = (int)SvIV(ST(1))
;
	GLfloat	xorig = (float)SvNV(ST(2))
;
	GLfloat	yorig = (float)SvNV(ST(3))
;
	GLfloat	xmove = (float)SvNV(ST(4))
;
	GLfloat	ymove = (float)SvNV(ST(5))
;
	const GLubyte *        bitmap = (const GLubyte *)SvPV_nolen(ST(6))
;
#line 1316 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBitmap", )
  glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap);
  OGLM_CHECK_ERR("glBitmap", )
#line 3114 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendBarrierKHR); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendBarrierKHR)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 1327 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendBarrierKHR", )
  OGLM_AVAIL_CHECK(__glewBlendBarrierKHR, glBlendBarrierKHR)
  glBlendBarrierKHR();
  OGLM_CHECK_ERR("glBlendBarrierKHR", )
#line 3134 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendColor)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLclampf	red = (float)SvNV(ST(0))
;
	GLclampf	green = (float)SvNV(ST(1))
;
	GLclampf	blue = (float)SvNV(ST(2))
;
	GLclampf	alpha = (float)SvNV(ST(3))
;
#line 1342 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendColor", )
  OGLM_AVAIL_CHECK(__glewBlendColor, glBlendColor)
  glBlendColor(red, green, blue, alpha);
  OGLM_CHECK_ERR("glBlendColor", )
#line 3162 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendEquation); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendEquation)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 1354 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendEquation", )
  OGLM_AVAIL_CHECK(__glewBlendEquation, glBlendEquation)
  glBlendEquation(mode);
  OGLM_CHECK_ERR("glBlendEquation", )
#line 3184 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendEquationOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendEquationOES)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 1364 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendEquationOES", )
  OGLM_AVAIL_CHECK(__glewBlendEquationOES, glBlendEquationOES)
  glBlendEquationOES(mode);
  OGLM_CHECK_ERR("glBlendEquationOES", )
#line 3205 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendEquationSeparate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendEquationSeparate)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "modeRGB, modeAlpha");
    {
	GLenum	modeRGB = (int)SvIV(ST(0))
;
	GLenum	modeAlpha = (int)SvIV(ST(1))
;
#line 1377 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendEquationSeparate", )
  OGLM_AVAIL_CHECK(__glewBlendEquationSeparate, glBlendEquationSeparate)
  glBlendEquationSeparate(modeRGB, modeAlpha);
  OGLM_CHECK_ERR("glBlendEquationSeparate", )
#line 3229 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendEquationSeparateOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendEquationSeparateOES)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "modeRGB, modeAlpha");
    {
	GLenum	modeRGB = (int)SvIV(ST(0))
;
	GLenum	modeAlpha = (int)SvIV(ST(1))
;
#line 1388 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendEquationSeparateOES", )
  OGLM_AVAIL_CHECK(__glewBlendEquationSeparateOES, glBlendEquationSeparateOES)
  glBlendEquationSeparateOES(modeRGB, modeAlpha);
  OGLM_CHECK_ERR("glBlendEquationSeparateOES", )
#line 3252 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendEquationSeparatei); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendEquationSeparatei)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "buf, modeRGB, modeAlpha");
    {
	GLuint	buf = (unsigned int)SvUV(ST(0))
;
	GLenum	modeRGB = (int)SvIV(ST(1))
;
	GLenum	modeAlpha = (int)SvIV(ST(2))
;
#line 1404 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendEquationSeparatei", )
  OGLM_AVAIL_CHECK(__glewBlendEquationSeparatei, glBlendEquationSeparatei)
  glBlendEquationSeparatei(buf, modeRGB, modeAlpha);
  OGLM_CHECK_ERR("glBlendEquationSeparatei", )
#line 3278 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendEquationSeparateiOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendEquationSeparateiOES)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buf, modeRGB, modeAlpha");
    {
	GLuint	buf = (unsigned int)SvUV(ST(0))
;
	GLenum	modeRGB = (int)SvIV(ST(1))
;
	GLenum	modeAlpha = (int)SvIV(ST(2))
;
#line 1416 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendEquationSeparateiOES", )
  OGLM_AVAIL_CHECK(__glewBlendEquationSeparateiOES, glBlendEquationSeparateiOES)
  glBlendEquationSeparateiOES(buf, modeRGB, modeAlpha);
  OGLM_CHECK_ERR("glBlendEquationSeparateiOES", )
#line 3303 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendEquationi); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendEquationi)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "buf, mode");
    {
	GLuint	buf = (unsigned int)SvUV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 1431 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendEquationi", )
  OGLM_AVAIL_CHECK(__glewBlendEquationi, glBlendEquationi)
  glBlendEquationi(buf, mode);
  OGLM_CHECK_ERR("glBlendEquationi", )
#line 3327 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendEquationiOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendEquationiOES)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "buf, mode");
    {
	GLuint	buf = (unsigned int)SvUV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 1442 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendEquationiOES", )
  OGLM_AVAIL_CHECK(__glewBlendEquationiOES, glBlendEquationiOES)
  glBlendEquationiOES(buf, mode);
  OGLM_CHECK_ERR("glBlendEquationiOES", )
#line 3350 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendFunc); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendFunc)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "sfactor, dfactor");
    {
	GLenum	sfactor = (int)SvIV(ST(0))
;
	GLenum	dfactor = (int)SvIV(ST(1))
;
#line 1453 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendFunc", )
  glBlendFunc(sfactor, dfactor);
  OGLM_CHECK_ERR("glBlendFunc", )
#line 3372 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendFuncSeparate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendFuncSeparate)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha");
    {
	GLenum	sfactorRGB = (int)SvIV(ST(0))
;
	GLenum	dfactorRGB = (int)SvIV(ST(1))
;
	GLenum	sfactorAlpha = (int)SvIV(ST(2))
;
	GLenum	dfactorAlpha = (int)SvIV(ST(3))
;
#line 1468 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendFuncSeparate", )
  OGLM_AVAIL_CHECK(__glewBlendFuncSeparate, glBlendFuncSeparate)
  glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
  OGLM_CHECK_ERR("glBlendFuncSeparate", )
#line 3400 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendFuncSeparateOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendFuncSeparateOES)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha");
    {
	GLenum	sfactorRGB = (int)SvIV(ST(0))
;
	GLenum	dfactorRGB = (int)SvIV(ST(1))
;
	GLenum	sfactorAlpha = (int)SvIV(ST(2))
;
	GLenum	dfactorAlpha = (int)SvIV(ST(3))
;
#line 1481 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendFuncSeparateOES", )
  OGLM_AVAIL_CHECK(__glewBlendFuncSeparateOES, glBlendFuncSeparateOES)
  glBlendFuncSeparateOES(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
  OGLM_CHECK_ERR("glBlendFuncSeparateOES", )
#line 3427 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendFuncSeparatei); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendFuncSeparatei)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "buf, srcRGB, dstRGB, srcAlpha, dstAlpha");
    {
	GLuint	buf = (unsigned int)SvUV(ST(0))
;
	GLenum	srcRGB = (int)SvIV(ST(1))
;
	GLenum	dstRGB = (int)SvIV(ST(2))
;
	GLenum	srcAlpha = (int)SvIV(ST(3))
;
	GLenum	dstAlpha = (int)SvIV(ST(4))
;
#line 1499 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendFuncSeparatei", )
  OGLM_AVAIL_CHECK(__glewBlendFuncSeparatei, glBlendFuncSeparatei)
  glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
  OGLM_CHECK_ERR("glBlendFuncSeparatei", )
#line 3457 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendFuncSeparateiOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendFuncSeparateiOES)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "buf, srcRGB, dstRGB, srcAlpha, dstAlpha");
    {
	GLuint	buf = (unsigned int)SvUV(ST(0))
;
	GLenum	srcRGB = (int)SvIV(ST(1))
;
	GLenum	dstRGB = (int)SvIV(ST(2))
;
	GLenum	srcAlpha = (int)SvIV(ST(3))
;
	GLenum	dstAlpha = (int)SvIV(ST(4))
;
#line 1513 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendFuncSeparateiOES", )
  OGLM_AVAIL_CHECK(__glewBlendFuncSeparateiOES, glBlendFuncSeparateiOES)
  glBlendFuncSeparateiOES(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
  OGLM_CHECK_ERR("glBlendFuncSeparateiOES", )
#line 3486 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendFunci); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendFunci)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "buf, src, dst");
    {
	GLuint	buf = (unsigned int)SvUV(ST(0))
;
	GLenum	src = (int)SvIV(ST(1))
;
	GLenum	dst = (int)SvIV(ST(2))
;
#line 1529 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendFunci", )
  OGLM_AVAIL_CHECK(__glewBlendFunci, glBlendFunci)
  glBlendFunci(buf, src, dst);
  OGLM_CHECK_ERR("glBlendFunci", )
#line 3512 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendFunciOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendFunciOES)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buf, src, dst");
    {
	GLuint	buf = (unsigned int)SvUV(ST(0))
;
	GLenum	src = (int)SvIV(ST(1))
;
	GLenum	dst = (int)SvIV(ST(2))
;
#line 1541 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendFunciOES", )
  OGLM_AVAIL_CHECK(__glewBlendFunciOES, glBlendFunciOES)
  glBlendFunciOES(buf, src, dst);
  OGLM_CHECK_ERR("glBlendFunciOES", )
#line 3537 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlendParameteriNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlendParameteriNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, value");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	value = (int)SvIV(ST(1))
;
#line 1552 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlendParameteriNV", )
  OGLM_AVAIL_CHECK(__glewBlendParameteriNV, glBlendParameteriNV)
  glBlendParameteriNV(pname, value);
  OGLM_CHECK_ERR("glBlendParameteriNV", )
#line 3560 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlitFramebuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlitFramebuffer)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 10)
       croak_xs_usage(cv,  "srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter");
    {
	GLint	srcX0 = (int)SvIV(ST(0))
;
	GLint	srcY0 = (int)SvIV(ST(1))
;
	GLint	srcX1 = (int)SvIV(ST(2))
;
	GLint	srcY1 = (int)SvIV(ST(3))
;
	GLint	dstX0 = (int)SvIV(ST(4))
;
	GLint	dstY0 = (int)SvIV(ST(5))
;
	GLint	dstX1 = (int)SvIV(ST(6))
;
	GLint	dstY1 = (int)SvIV(ST(7))
;
	GLbitfield	mask = (int)SvIV(ST(8))
;
	GLenum	filter = (int)SvIV(ST(9))
;
#line 1574 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlitFramebuffer", )
  OGLM_AVAIL_CHECK(__glewBlitFramebuffer, glBlitFramebuffer)
  glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
  OGLM_CHECK_ERR("glBlitFramebuffer", )
#line 3600 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlitFramebufferANGLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlitFramebufferANGLE)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter");
    {
	GLint	srcX0 = (int)SvIV(ST(0))
;
	GLint	srcY0 = (int)SvIV(ST(1))
;
	GLint	srcX1 = (int)SvIV(ST(2))
;
	GLint	srcY1 = (int)SvIV(ST(3))
;
	GLint	dstX0 = (int)SvIV(ST(4))
;
	GLint	dstY0 = (int)SvIV(ST(5))
;
	GLint	dstX1 = (int)SvIV(ST(6))
;
	GLint	dstY1 = (int)SvIV(ST(7))
;
	GLbitfield	mask = (int)SvIV(ST(8))
;
	GLenum	filter = (int)SvIV(ST(9))
;
#line 1593 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlitFramebufferANGLE", )
  OGLM_AVAIL_CHECK(__glewBlitFramebufferANGLE, glBlitFramebufferANGLE)
  glBlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
  OGLM_CHECK_ERR("glBlitFramebufferANGLE", )
#line 3639 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlitFramebufferLayerEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlitFramebufferLayerEXT)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "srcX0, srcY0, srcX1, srcY1, srcLayer, dstX0, dstY0, dstX1, dstY1, dstLayer, mask, filter");
    {
	GLint	srcX0 = (int)SvIV(ST(0))
;
	GLint	srcY0 = (int)SvIV(ST(1))
;
	GLint	srcX1 = (int)SvIV(ST(2))
;
	GLint	srcY1 = (int)SvIV(ST(3))
;
	GLint	srcLayer = (int)SvIV(ST(4))
;
	GLint	dstX0 = (int)SvIV(ST(5))
;
	GLint	dstY0 = (int)SvIV(ST(6))
;
	GLint	dstX1 = (int)SvIV(ST(7))
;
	GLint	dstY1 = (int)SvIV(ST(8))
;
	GLint	dstLayer = (int)SvIV(ST(9))
;
	GLbitfield	mask = (int)SvIV(ST(10))
;
	GLenum	filter = (int)SvIV(ST(11))
;
#line 1614 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlitFramebufferLayerEXT", )
  OGLM_AVAIL_CHECK(__glewBlitFramebufferLayerEXT, glBlitFramebufferLayerEXT)
  glBlitFramebufferLayerEXT(srcX0, srcY0, srcX1, srcY1, srcLayer, dstX0, dstY0, dstX1, dstY1, dstLayer, mask, filter);
  OGLM_CHECK_ERR("glBlitFramebufferLayerEXT", )
#line 3682 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlitFramebufferLayersEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlitFramebufferLayersEXT)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter");
    {
	GLint	srcX0 = (int)SvIV(ST(0))
;
	GLint	srcY0 = (int)SvIV(ST(1))
;
	GLint	srcX1 = (int)SvIV(ST(2))
;
	GLint	srcY1 = (int)SvIV(ST(3))
;
	GLint	dstX0 = (int)SvIV(ST(4))
;
	GLint	dstY0 = (int)SvIV(ST(5))
;
	GLint	dstX1 = (int)SvIV(ST(6))
;
	GLint	dstY1 = (int)SvIV(ST(7))
;
	GLbitfield	mask = (int)SvIV(ST(8))
;
	GLenum	filter = (int)SvIV(ST(9))
;
#line 1633 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlitFramebufferLayersEXT", )
  OGLM_AVAIL_CHECK(__glewBlitFramebufferLayersEXT, glBlitFramebufferLayersEXT)
  glBlitFramebufferLayersEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
  OGLM_CHECK_ERR("glBlitFramebufferLayersEXT", )
#line 3721 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBlitNamedFramebuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBlitNamedFramebuffer)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter");
    {
	GLuint	readFramebuffer = (unsigned int)SvUV(ST(0))
;
	GLuint	drawFramebuffer = (unsigned int)SvUV(ST(1))
;
	GLint	srcX0 = (int)SvIV(ST(2))
;
	GLint	srcY0 = (int)SvIV(ST(3))
;
	GLint	srcX1 = (int)SvIV(ST(4))
;
	GLint	srcY1 = (int)SvIV(ST(5))
;
	GLint	dstX0 = (int)SvIV(ST(6))
;
	GLint	dstY0 = (int)SvIV(ST(7))
;
	GLint	dstX1 = (int)SvIV(ST(8))
;
	GLint	dstY1 = (int)SvIV(ST(9))
;
	GLbitfield	mask = (int)SvIV(ST(10))
;
	GLenum	filter = (int)SvIV(ST(11))
;
#line 1654 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBlitNamedFramebuffer", )
  OGLM_AVAIL_CHECK(__glewBlitNamedFramebuffer, glBlitNamedFramebuffer)
  glBlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
  OGLM_CHECK_ERR("glBlitNamedFramebuffer", )
#line 3764 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBufferAddressRangeNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBufferAddressRangeNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "pname, index, address, length");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLuint64EXT	address = (unsigned int)SvUV(ST(2))
;
	GLsizeiptr	length = (unsigned int)SvUV(ST(3))
;
#line 1667 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBufferAddressRangeNV", )
  OGLM_AVAIL_CHECK(__glewBufferAddressRangeNV, glBufferAddressRangeNV)
  glBufferAddressRangeNV(pname, index, address, length);
  OGLM_CHECK_ERR("glBufferAddressRangeNV", )
#line 3791 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBufferAttachMemoryNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBufferAttachMemoryNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, memory, offset");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	memory = (unsigned int)SvUV(ST(1))
;
	GLuint64	offset = (unsigned int)SvUV(ST(2))
;
#line 1679 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBufferAttachMemoryNV", )
  OGLM_AVAIL_CHECK(__glewBufferAttachMemoryNV, glBufferAttachMemoryNV)
  glBufferAttachMemoryNV(target, memory, offset);
  OGLM_CHECK_ERR("glBufferAttachMemoryNV", )
#line 3816 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBufferData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBufferData_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, size, data, usage");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(1))
;
	const void*	data = INT2PTR(const void *,SvIV(ST(2)))
;
	GLenum	usage = (int)SvIV(ST(3))
;
#line 1694 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBufferData", )
  OGLM_AVAIL_CHECK(__glewBufferData, glBufferData)
  glBufferData(target, size, data, usage);
  OGLM_CHECK_ERR("glBufferData", )
#line 3844 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBufferPageCommitmentARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBufferPageCommitmentARB)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, offset, size, commit");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(2))
;
	GLboolean	commit = (int)SvIV(ST(3))
;
#line 1707 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBufferPageCommitmentARB", )
  OGLM_AVAIL_CHECK(__glewBufferPageCommitmentARB, glBufferPageCommitmentARB)
  glBufferPageCommitmentARB(target, offset, size, commit);
  OGLM_CHECK_ERR("glBufferPageCommitmentARB", )
#line 3871 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBufferPageCommitmentMemNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBufferPageCommitmentMemNV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, offset, size, memory, memOffset, commit");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(2))
;
	GLuint	memory = (unsigned int)SvUV(ST(3))
;
	GLuint64	memOffset = (unsigned int)SvUV(ST(4))
;
	GLboolean	commit = (int)SvIV(ST(5))
;
#line 1722 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBufferPageCommitmentMemNV", )
  OGLM_AVAIL_CHECK(__glewBufferPageCommitmentMemNV, glBufferPageCommitmentMemNV)
  glBufferPageCommitmentMemNV(target, offset, size, memory, memOffset, commit);
  OGLM_CHECK_ERR("glBufferPageCommitmentMemNV", )
#line 3902 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBufferParameteriAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBufferParameteriAPPLE)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 1734 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBufferParameteriAPPLE", )
  OGLM_AVAIL_CHECK(__glewBufferParameteriAPPLE, glBufferParameteriAPPLE)
  glBufferParameteriAPPLE(target, pname, param);
  OGLM_CHECK_ERR("glBufferParameteriAPPLE", )
#line 3927 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBufferRegionEnabled); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBufferRegionEnabled)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	GLuint	RETVAL;
	dXSTARG;
#line 1743 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBufferRegionEnabled", )
  OGLM_AVAIL_CHECK(__glewBufferRegionEnabled, glBufferRegionEnabled)
  RETVAL = glBufferRegionEnabled();
  OGLM_CHECK_ERR("glBufferRegionEnabled", )
#line 3948 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glBufferStorage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBufferStorage_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, size, data, flags");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(1))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(2)))
;
	GLbitfield	flags = (int)SvIV(ST(3))
;
#line 1760 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBufferStorage", )
  OGLM_AVAIL_CHECK(__glewBufferStorage, glBufferStorage)
  glBufferStorage(target, size, data, flags);
  OGLM_CHECK_ERR("glBufferStorage", )
#line 3978 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBufferStorageExternalEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBufferStorageExternalEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, offset, size, clientBuffer, flags");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(2))
;
	GLeglClientBufferEXT	clientBuffer = INT2PTR(GLeglClientBufferEXT,SvIV(ST(3)))
;
	GLbitfield	flags = (int)SvIV(ST(4))
;
#line 1774 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBufferStorageExternalEXT", )
  OGLM_AVAIL_CHECK(__glewBufferStorageExternalEXT, glBufferStorageExternalEXT)
  glBufferStorageExternalEXT(target, offset, size, clientBuffer, flags);
  OGLM_CHECK_ERR("glBufferStorageExternalEXT", )
#line 4007 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBufferStorageMemEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBufferStorageMemEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, size, memory, offset");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(1))
;
	GLuint	memory = (unsigned int)SvUV(ST(2))
;
	GLuint64	offset = (unsigned int)SvUV(ST(3))
;
#line 1787 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBufferStorageMemEXT", )
  OGLM_AVAIL_CHECK(__glewBufferStorageMemEXT, glBufferStorageMemEXT)
  glBufferStorageMemEXT(target, size, memory, offset);
  OGLM_CHECK_ERR("glBufferStorageMemEXT", )
#line 4034 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glBufferSubData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glBufferSubData_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, offset, size, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(2))
;
	const void*	data = INT2PTR(const void *,SvIV(ST(3)))
;
#line 1802 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glBufferSubData", )
  OGLM_AVAIL_CHECK(__glewBufferSubData, glBufferSubData)
  glBufferSubData(target, offset, size, data);
  OGLM_CHECK_ERR("glBufferSubData", )
#line 4062 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCallCommandListNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCallCommandListNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "list");
    {
	GLuint	list = (unsigned int)SvUV(ST(0))
;
#line 1812 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCallCommandListNV", )
  OGLM_AVAIL_CHECK(__glewCallCommandListNV, glCallCommandListNV)
  glCallCommandListNV(list);
  OGLM_CHECK_ERR("glCallCommandListNV", )
#line 4083 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCallList); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCallList)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "list");
    {
	GLuint	list = (unsigned int)SvUV(ST(0))
;
#line 1822 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCallList", )
  glCallList(list);
  OGLM_CHECK_ERR("glCallList", )
#line 4103 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCallLists_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCallLists_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "n, type, lists");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const void *	lists = INT2PTR(const void *,SvIV(ST(2)))
;
#line 1833 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCallLists", )
  glCallLists(n, type, lists);
  OGLM_CHECK_ERR("glCallLists", )
#line 4127 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCheckFramebufferStatus); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCheckFramebufferStatus)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	RETVAL;
	dXSTARG;
#line 1844 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCheckFramebufferStatus", )
  OGLM_AVAIL_CHECK(__glewCheckFramebufferStatus, glCheckFramebufferStatus)
  RETVAL = glCheckFramebufferStatus(target);
  OGLM_CHECK_ERR("glCheckFramebufferStatus", )
#line 4151 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glCheckFramebufferStatusOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCheckFramebufferStatusOES)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	RETVAL;
	dXSTARG;
#line 1856 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCheckFramebufferStatusOES", )
  OGLM_AVAIL_CHECK(__glewCheckFramebufferStatusOES, glCheckFramebufferStatusOES)
  RETVAL = glCheckFramebufferStatusOES(target);
  OGLM_CHECK_ERR("glCheckFramebufferStatusOES", )
#line 4176 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glCheckNamedFramebufferStatus); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCheckNamedFramebufferStatus)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "framebuffer, target");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	RETVAL;
	dXSTARG;
#line 1869 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCheckNamedFramebufferStatus", )
  OGLM_AVAIL_CHECK(__glewCheckNamedFramebufferStatus, glCheckNamedFramebufferStatus)
  RETVAL = glCheckNamedFramebufferStatus(framebuffer, target);
  OGLM_CHECK_ERR("glCheckNamedFramebufferStatus", )
#line 4203 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glCheckNamedFramebufferStatusEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCheckNamedFramebufferStatusEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "framebuffer, target");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	RETVAL;
	dXSTARG;
#line 1882 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCheckNamedFramebufferStatusEXT", )
  OGLM_AVAIL_CHECK(__glewCheckNamedFramebufferStatusEXT, glCheckNamedFramebufferStatusEXT)
  RETVAL = glCheckNamedFramebufferStatusEXT(framebuffer, target);
  OGLM_CHECK_ERR("glCheckNamedFramebufferStatusEXT", )
#line 4230 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glClampColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClampColor)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, clamp");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	clamp = (int)SvIV(ST(1))
;
#line 1897 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClampColor", )
  OGLM_AVAIL_CHECK(__glewClampColor, glClampColor)
  glClampColor(target, clamp);
  OGLM_CHECK_ERR("glClampColor", )
#line 4256 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClear); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClear)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLbitfield	mask = (int)SvIV(ST(0))
;
#line 1907 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClear", )
  glClear(mask);
  OGLM_CHECK_ERR("glClear", )
#line 4276 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearAccum); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearAccum)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLfloat	red = (float)SvNV(ST(0))
;
	GLfloat	green = (float)SvNV(ST(1))
;
	GLfloat	blue = (float)SvNV(ST(2))
;
	GLfloat	alpha = (float)SvNV(ST(3))
;
#line 1919 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearAccum", )
  glClearAccum(red, green, blue, alpha);
  OGLM_CHECK_ERR("glClearAccum", )
#line 4302 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearBufferData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearBufferData_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, internalformat, format, type, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(4)))
;
#line 1932 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearBufferData", )
  OGLM_AVAIL_CHECK(__glewClearBufferData, glClearBufferData)
  glClearBufferData(target, internalformat, format, type, data);
  OGLM_CHECK_ERR("glClearBufferData", )
#line 4331 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearBufferSubData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearBufferSubData_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, internalformat, offset, size, format, type, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLintptr	offset = (unsigned int)SvUV(ST(2))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLenum	type = (int)SvIV(ST(5))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(6)))
;
#line 1948 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearBufferSubData", )
  OGLM_AVAIL_CHECK(__glewClearBufferSubData, glClearBufferSubData)
  glClearBufferSubData(target, internalformat, offset, size, format, type, data);
  OGLM_CHECK_ERR("glClearBufferSubData", )
#line 4364 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearBufferfi); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearBufferfi)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "buffer, drawbuffer, depth, stencil");
    {
	GLenum	buffer = (int)SvIV(ST(0))
;
	GLint	drawbuffer = (int)SvIV(ST(1))
;
	GLfloat	depth = (float)SvNV(ST(2))
;
	GLint	stencil = (int)SvIV(ST(3))
;
#line 1961 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearBufferfi", )
  OGLM_AVAIL_CHECK(__glewClearBufferfi, glClearBufferfi)
  glClearBufferfi(buffer, drawbuffer, depth, stencil);
  OGLM_CHECK_ERR("glClearBufferfi", )
#line 4391 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearBufferfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearBufferfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, drawbuffer, value");
    {
	GLenum	buffer = (int)SvIV(ST(0))
;
	GLint	drawbuffer = (int)SvIV(ST(1))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 1973 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearBufferfv", )
  OGLM_AVAIL_CHECK(__glewClearBufferfv, glClearBufferfv)
  glClearBufferfv(buffer, drawbuffer, value);
  OGLM_CHECK_ERR("glClearBufferfv", )
#line 4416 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearBufferfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearBufferfv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "buffer, drawbuffer, ...");
    {
	GLenum	buffer = (int)SvIV(ST(0))
;
	GLint	drawbuffer = (int)SvIV(ST(1))
;
#line 1984 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearBufferfv", )
  OGLM_AVAIL_CHECK(__glewClearBufferfv, glClearBufferfv)
  OGLM_SIZE_ENUM(Buffer,buffer,1)
  GLfloat* value = OGLM_GET_VARARGS(value,2,GLfloat,NV,buffer_count);
  glClearBufferfv((GLenum )buffer, (GLint )drawbuffer, (const GLfloat* )value);
  OGLM_CHECK_ERR("glClearBufferfv", free(value);)
  free(value);
#line 4442 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearBufferiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearBufferiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, drawbuffer, value");
    {
	GLenum	buffer = (int)SvIV(ST(0))
;
	GLint	drawbuffer = (int)SvIV(ST(1))
;
	const GLint*	value = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 1999 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearBufferiv", )
  OGLM_AVAIL_CHECK(__glewClearBufferiv, glClearBufferiv)
  glClearBufferiv(buffer, drawbuffer, value);
  OGLM_CHECK_ERR("glClearBufferiv", )
#line 4467 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearBufferiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearBufferiv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "buffer, drawbuffer, ...");
    {
	GLenum	buffer = (int)SvIV(ST(0))
;
	GLint	drawbuffer = (int)SvIV(ST(1))
;
#line 2010 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearBufferiv", )
  OGLM_AVAIL_CHECK(__glewClearBufferiv, glClearBufferiv)
  OGLM_SIZE_ENUM(Buffer,buffer,1)
  GLint* value = OGLM_GET_VARARGS(value,2,GLint,IV,buffer_count);
  glClearBufferiv((GLenum )buffer, (GLint )drawbuffer, (const GLint* )value);
  OGLM_CHECK_ERR("glClearBufferiv", free(value);)
  free(value);
#line 4493 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearBufferuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearBufferuiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, drawbuffer, value");
    {
	GLenum	buffer = (int)SvIV(ST(0))
;
	GLint	drawbuffer = (int)SvIV(ST(1))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 2025 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearBufferuiv", )
  OGLM_AVAIL_CHECK(__glewClearBufferuiv, glClearBufferuiv)
  glClearBufferuiv(buffer, drawbuffer, value);
  OGLM_CHECK_ERR("glClearBufferuiv", )
#line 4518 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearBufferuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearBufferuiv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "buffer, drawbuffer, ...");
    {
	GLenum	buffer = (int)SvIV(ST(0))
;
	GLint	drawbuffer = (int)SvIV(ST(1))
;
#line 2036 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearBufferuiv", )
  OGLM_AVAIL_CHECK(__glewClearBufferuiv, glClearBufferuiv)
  OGLM_SIZE_ENUM(Buffer,buffer,1)
  GLuint* value = OGLM_GET_VARARGS(value,2,GLuint,UV,buffer_count);
  glClearBufferuiv((GLenum )buffer, (GLint )drawbuffer, (const GLuint* )value);
  OGLM_CHECK_ERR("glClearBufferuiv", free(value);)
  free(value);
#line 4544 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearColor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearColor)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLclampf	red = (float)SvNV(ST(0))
;
	GLclampf	green = (float)SvNV(ST(1))
;
	GLclampf	blue = (float)SvNV(ST(2))
;
	GLclampf	alpha = (float)SvNV(ST(3))
;
#line 2052 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearColor", )
  glClearColor(red, green, blue, alpha);
  OGLM_CHECK_ERR("glClearColor", )
#line 4570 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearColorIiEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearColorIiEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLint	red = (int)SvIV(ST(0))
;
	GLint	green = (int)SvIV(ST(1))
;
	GLint	blue = (int)SvIV(ST(2))
;
	GLint	alpha = (int)SvIV(ST(3))
;
#line 2064 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearColorIiEXT", )
  OGLM_AVAIL_CHECK(__glewClearColorIiEXT, glClearColorIiEXT)
  glClearColorIiEXT(red, green, blue, alpha);
  OGLM_CHECK_ERR("glClearColorIiEXT", )
#line 4597 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearColorIuiEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearColorIuiEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLuint	red = (unsigned int)SvUV(ST(0))
;
	GLuint	green = (unsigned int)SvUV(ST(1))
;
	GLuint	blue = (unsigned int)SvUV(ST(2))
;
	GLuint	alpha = (unsigned int)SvUV(ST(3))
;
#line 2077 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearColorIuiEXT", )
  OGLM_AVAIL_CHECK(__glewClearColorIuiEXT, glClearColorIuiEXT)
  glClearColorIuiEXT(red, green, blue, alpha);
  OGLM_CHECK_ERR("glClearColorIuiEXT", )
#line 4624 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearColorx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearColorx)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLclampx	red = (int)SvIV(ST(0))
;
	GLclampx	green = (int)SvIV(ST(1))
;
	GLclampx	blue = (int)SvIV(ST(2))
;
	GLclampx	alpha = (int)SvIV(ST(3))
;
#line 2090 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearColorx", )
  OGLM_AVAIL_CHECK(__glewClearColorx, glClearColorx)
  glClearColorx(red, green, blue, alpha);
  OGLM_CHECK_ERR("glClearColorx", )
#line 4651 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearDepth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearDepth)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "depth");
    {
	GLclampd	depth = (double)SvNV(ST(0))
;
#line 2100 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearDepth", )
  glClearDepth(depth);
  OGLM_CHECK_ERR("glClearDepth", )
#line 4671 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearDepthdNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearDepthdNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "depth");
    {
	GLdouble	depth = (double)SvNV(ST(0))
;
#line 2109 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearDepthdNV", )
  OGLM_AVAIL_CHECK(__glewClearDepthdNV, glClearDepthdNV)
  glClearDepthdNV(depth);
  OGLM_CHECK_ERR("glClearDepthdNV", )
#line 4692 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearDepthf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearDepthf)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "d");
    {
	GLclampf	d = (float)SvNV(ST(0))
;
#line 2119 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearDepthf", )
  OGLM_AVAIL_CHECK(__glewClearDepthf, glClearDepthf)
  glClearDepthf(d);
  OGLM_CHECK_ERR("glClearDepthf", )
#line 4713 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearDepthfOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearDepthfOES)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "depth");
    {
	GLclampf	depth = (float)SvNV(ST(0))
;
#line 2129 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearDepthfOES", )
  OGLM_AVAIL_CHECK(__glewClearDepthfOES, glClearDepthfOES)
  glClearDepthfOES(depth);
  OGLM_CHECK_ERR("glClearDepthfOES", )
#line 4734 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearDepthx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearDepthx)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "depth");
    {
	GLclampx	depth = (int)SvIV(ST(0))
;
#line 2139 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearDepthx", )
  OGLM_AVAIL_CHECK(__glewClearDepthx, glClearDepthx)
  glClearDepthx(depth);
  OGLM_CHECK_ERR("glClearDepthx", )
#line 4755 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearIndex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearIndex)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "c");
    {
	GLfloat	c = (float)SvNV(ST(0))
;
#line 2149 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearIndex", )
  glClearIndex(c);
  OGLM_CHECK_ERR("glClearIndex", )
#line 4775 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearNamedBufferData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearNamedBufferData_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "buffer, internalformat, format, type, data");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(4)))
;
#line 2162 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearNamedBufferData", )
  OGLM_AVAIL_CHECK(__glewClearNamedBufferData, glClearNamedBufferData)
  glClearNamedBufferData(buffer, internalformat, format, type, data);
  OGLM_CHECK_ERR("glClearNamedBufferData", )
#line 4804 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearNamedBufferDataEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearNamedBufferDataEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "buffer, internalformat, format, type, data");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(4)))
;
#line 2176 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearNamedBufferDataEXT", )
  OGLM_AVAIL_CHECK(__glewClearNamedBufferDataEXT, glClearNamedBufferDataEXT)
  glClearNamedBufferDataEXT(buffer, internalformat, format, type, data);
  OGLM_CHECK_ERR("glClearNamedBufferDataEXT", )
#line 4833 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearNamedBufferSubData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearNamedBufferSubData_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "buffer, internalformat, offset, size, format, type, data");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLintptr	offset = (unsigned int)SvUV(ST(2))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLenum	type = (int)SvIV(ST(5))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(6)))
;
#line 2192 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearNamedBufferSubData", )
  OGLM_AVAIL_CHECK(__glewClearNamedBufferSubData, glClearNamedBufferSubData)
  glClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data);
  OGLM_CHECK_ERR("glClearNamedBufferSubData", )
#line 4866 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearNamedBufferSubDataEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearNamedBufferSubDataEXT_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "buffer, internalformat, offset, size, format, type, data");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLintptr	offset = (unsigned int)SvUV(ST(2))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLenum	type = (int)SvIV(ST(5))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(6)))
;
#line 2208 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearNamedBufferSubDataEXT", )
  OGLM_AVAIL_CHECK(__glewClearNamedBufferSubDataEXT, glClearNamedBufferSubDataEXT)
  glClearNamedBufferSubDataEXT(buffer, internalformat, offset, size, format, type, data);
  OGLM_CHECK_ERR("glClearNamedBufferSubDataEXT", )
#line 4899 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferfi); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferfi)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "framebuffer, buffer, drawbuffer, depth, stencil");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	buffer = (int)SvIV(ST(1))
;
	GLint	drawbuffer = (int)SvIV(ST(2))
;
	GLfloat	depth = (float)SvNV(ST(3))
;
	GLint	stencil = (int)SvIV(ST(4))
;
#line 2222 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearNamedFramebufferfi", )
  OGLM_AVAIL_CHECK(__glewClearNamedFramebufferfi, glClearNamedFramebufferfi)
  glClearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil);
  OGLM_CHECK_ERR("glClearNamedFramebufferfi", )
#line 4928 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferfv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, buffer, drawbuffer, value");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	buffer = (int)SvIV(ST(1))
;
	GLint	drawbuffer = (int)SvIV(ST(2))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 2235 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearNamedFramebufferfv", )
  OGLM_AVAIL_CHECK(__glewClearNamedFramebufferfv, glClearNamedFramebufferfv)
  glClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value);
  OGLM_CHECK_ERR("glClearNamedFramebufferfv", )
#line 4955 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferfv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "framebuffer, buffer, drawbuffer, ...");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	buffer = (int)SvIV(ST(1))
;
	GLint	drawbuffer = (int)SvIV(ST(2))
;
#line 2247 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearNamedFramebufferfv", )
  OGLM_AVAIL_CHECK(__glewClearNamedFramebufferfv, glClearNamedFramebufferfv)
  OGLM_SIZE_ENUM(Buffer,buffer,1)
  GLfloat* value = OGLM_GET_VARARGS(value,3,GLfloat,NV,buffer_count);
  glClearNamedFramebufferfv((GLuint )framebuffer, (GLenum )buffer, (GLint )drawbuffer, (const GLfloat* )value);
  OGLM_CHECK_ERR("glClearNamedFramebufferfv", free(value);)
  free(value);
#line 4983 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferiv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, buffer, drawbuffer, value");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	buffer = (int)SvIV(ST(1))
;
	GLint	drawbuffer = (int)SvIV(ST(2))
;
	const GLint*	value = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 2263 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearNamedFramebufferiv", )
  OGLM_AVAIL_CHECK(__glewClearNamedFramebufferiv, glClearNamedFramebufferiv)
  glClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value);
  OGLM_CHECK_ERR("glClearNamedFramebufferiv", )
#line 5010 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferiv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "framebuffer, buffer, drawbuffer, ...");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	buffer = (int)SvIV(ST(1))
;
	GLint	drawbuffer = (int)SvIV(ST(2))
;
#line 2275 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearNamedFramebufferiv", )
  OGLM_AVAIL_CHECK(__glewClearNamedFramebufferiv, glClearNamedFramebufferiv)
  OGLM_SIZE_ENUM(Buffer,buffer,1)
  GLint* value = OGLM_GET_VARARGS(value,3,GLint,IV,buffer_count);
  glClearNamedFramebufferiv((GLuint )framebuffer, (GLenum )buffer, (GLint )drawbuffer, (const GLint* )value);
  OGLM_CHECK_ERR("glClearNamedFramebufferiv", free(value);)
  free(value);
#line 5038 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferuiv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, buffer, drawbuffer, value");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	buffer = (int)SvIV(ST(1))
;
	GLint	drawbuffer = (int)SvIV(ST(2))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 2291 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearNamedFramebufferuiv", )
  OGLM_AVAIL_CHECK(__glewClearNamedFramebufferuiv, glClearNamedFramebufferuiv)
  glClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value);
  OGLM_CHECK_ERR("glClearNamedFramebufferuiv", )
#line 5065 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearNamedFramebufferuiv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "framebuffer, buffer, drawbuffer, ...");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	buffer = (int)SvIV(ST(1))
;
	GLint	drawbuffer = (int)SvIV(ST(2))
;
#line 2303 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearNamedFramebufferuiv", )
  OGLM_AVAIL_CHECK(__glewClearNamedFramebufferuiv, glClearNamedFramebufferuiv)
  OGLM_SIZE_ENUM(Buffer,buffer,1)
  GLuint* value = OGLM_GET_VARARGS(value,3,GLuint,UV,buffer_count);
  glClearNamedFramebufferuiv((GLuint )framebuffer, (GLenum )buffer, (GLint )drawbuffer, (const GLuint* )value);
  OGLM_CHECK_ERR("glClearNamedFramebufferuiv", free(value);)
  free(value);
#line 5093 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearPixelLocalStorageuiEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearPixelLocalStorageuiEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "offset, n, values");
    {
	GLsizei	offset = (int)SvIV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
	const GLuint*	values = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 2318 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearPixelLocalStorageuiEXT", )
  OGLM_AVAIL_CHECK(__glewClearPixelLocalStorageuiEXT, glClearPixelLocalStorageuiEXT)
  glClearPixelLocalStorageuiEXT(offset, n, values);
  OGLM_CHECK_ERR("glClearPixelLocalStorageuiEXT", )
#line 5118 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearPixelLocalStorageuiEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearPixelLocalStorageuiEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "offset, ...");
    {
	GLsizei	offset = (int)SvIV(ST(0))
;
#line 2328 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearPixelLocalStorageuiEXT", )
  OGLM_AVAIL_CHECK(__glewClearPixelLocalStorageuiEXT, glClearPixelLocalStorageuiEXT)
  GLsizei n = items-1;
  GLuint* values = OGLM_GET_VARARGS(values,1,GLuint,UV,n);
  glClearPixelLocalStorageuiEXT((GLsizei )offset, (GLsizei )n, (const GLuint* )values);
  OGLM_CHECK_ERR("glClearPixelLocalStorageuiEXT", free(values);)
  free(values);
#line 5142 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearStencil); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearStencil)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "s");
    {
	GLint	s = (int)SvIV(ST(0))
;
#line 2341 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearStencil", )
  glClearStencil(s);
  OGLM_CHECK_ERR("glClearStencil", )
#line 5162 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearTexImage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearTexImage_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "texture, level, format, type, data");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(4)))
;
#line 2356 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearTexImage", )
  OGLM_AVAIL_CHECK(__glewClearTexImage, glClearTexImage)
  glClearTexImage(texture, level, format, type, data);
  OGLM_CHECK_ERR("glClearTexImage", )
#line 5192 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClearTexSubImage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClearTexSubImage_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 11)
       croak_xs_usage(cv,  "texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLenum	type = (int)SvIV(ST(9))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(10)))
;
#line 2378 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClearTexSubImage", )
  OGLM_AVAIL_CHECK(__glewClearTexSubImage, glClearTexSubImage)
  glClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data);
  OGLM_CHECK_ERR("glClearTexSubImage", )
#line 5234 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClientActiveTexture); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClientActiveTexture)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "texture");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
#line 2390 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClientActiveTexture", )
  OGLM_AVAIL_CHECK(__glewClientActiveTexture, glClientActiveTexture)
  glClientActiveTexture(texture);
  OGLM_CHECK_ERR("glClientActiveTexture", )
#line 5256 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClientActiveVertexStreamATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClientActiveVertexStreamATI)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "stream");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 2400 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClientActiveVertexStreamATI", )
  OGLM_AVAIL_CHECK(__glewClientActiveVertexStreamATI, glClientActiveVertexStreamATI)
  glClientActiveVertexStreamATI(stream);
  OGLM_CHECK_ERR("glClientActiveVertexStreamATI", )
#line 5277 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClientAttribDefaultEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClientAttribDefaultEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLbitfield	mask = (int)SvIV(ST(0))
;
#line 2410 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClientAttribDefaultEXT", )
  OGLM_AVAIL_CHECK(__glewClientAttribDefaultEXT, glClientAttribDefaultEXT)
  glClientAttribDefaultEXT(mask);
  OGLM_CHECK_ERR("glClientAttribDefaultEXT", )
#line 5298 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClientWaitSemaphoreui64NVX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClientWaitSemaphoreui64NVX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "fenceObjectCount, semaphoreArray, fenceValueArray");
    {
	GLsizei	fenceObjectCount = (int)SvIV(ST(0))
;
	const GLuint*	semaphoreArray = INT2PTR(const GLuint *,SvIV(ST(1)))
;
	const GLuint64 *	fenceValueArray = INT2PTR(const GLuint64 *,SvIV(ST(2)))
;
#line 2422 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClientWaitSemaphoreui64NVX", )
  OGLM_AVAIL_CHECK(__glewClientWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX)
  glClientWaitSemaphoreui64NVX(fenceObjectCount, semaphoreArray, fenceValueArray);
  OGLM_CHECK_ERR("glClientWaitSemaphoreui64NVX", )
#line 5323 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClientWaitSemaphoreui64NVX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClientWaitSemaphoreui64NVX_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "semaphoreArraySV, fenceValueArraySV");
    {
	SV *	semaphoreArraySV = ST(0)
;
	SV *	fenceValueArraySV = ST(1)
;
#line 2433 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClientWaitSemaphoreui64NVX", )
  OGLM_AVAIL_CHECK(__glewClientWaitSemaphoreui64NVX, glClientWaitSemaphoreui64NVX)
  GLsizei fenceObjectCount = OGLM_LEN_ARRAY(fenceObjectCount, semaphoreArray);
  GLuint64 *fenceValueArray = OGLM_GET_ARRAY(fenceValueArray, GLuint64, UV, fenceObjectCount);
  GLuint* semaphoreArray = OGLM_GET_ARRAY(semaphoreArray, GLuint, UV, fenceObjectCount);
  glClientWaitSemaphoreui64NVX((GLsizei )fenceObjectCount, (const GLuint* )semaphoreArray, (const GLuint64 *)fenceValueArray);
  OGLM_CHECK_ERR("glClientWaitSemaphoreui64NVX", free(fenceValueArray);free(semaphoreArray);)
  free(fenceValueArray);free(semaphoreArray);
#line 5350 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClientWaitSync); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClientWaitSync)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "sync, flags, timeout");
    {
	GLsync	sync = INT2PTR(GLsync,SvIV(ST(0)))
;
	GLbitfield	flags = (int)SvIV(ST(1))
;
	GLuint64	timeout = (unsigned int)SvUV(ST(2))
;
	GLenum	RETVAL;
	dXSTARG;
#line 2451 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClientWaitSync", )
  OGLM_AVAIL_CHECK(__glewClientWaitSync, glClientWaitSync)
  RETVAL = glClientWaitSync(sync, flags, timeout);
  OGLM_CHECK_ERR("glClientWaitSync", )
#line 5378 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glClipControl); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClipControl)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "origin, depth");
    {
	GLenum	origin = (int)SvIV(ST(0))
;
	GLenum	depth = (int)SvIV(ST(1))
;
#line 2466 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClipControl", )
  OGLM_AVAIL_CHECK(__glewClipControl, glClipControl)
  glClipControl(origin, depth);
  OGLM_CHECK_ERR("glClipControl", )
#line 5404 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClipPlane_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClipPlane_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "plane, equation");
    {
	GLenum	plane = (int)SvIV(ST(0))
;
	const GLdouble *	equation = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 2477 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClipPlane", )
  glClipPlane(plane, equation);
  OGLM_CHECK_ERR("glClipPlane", )
#line 5426 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClipPlane_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClipPlane_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "plane, ...");
    {
	GLenum	plane = (int)SvIV(ST(0))
;
#line 2486 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClipPlane", )
  GLdouble *equation = OGLM_GET_VARARGS(equation,1,GLdouble,NV,4);
  glClipPlane((GLenum )plane, (const GLdouble *)equation);
  OGLM_CHECK_ERR("glClipPlane", free(equation);)
  free(equation);
#line 5448 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClipPlanef_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClipPlanef_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "p, eqn");
    {
	GLenum	p = (int)SvIV(ST(0))
;
	const GLfloat*	eqn = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 2498 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClipPlanef", )
  OGLM_AVAIL_CHECK(__glewClipPlanef, glClipPlanef)
  glClipPlanef(p, eqn);
  OGLM_CHECK_ERR("glClipPlanef", )
#line 5471 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClipPlanef_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClipPlanef_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "p, ...");
    {
	GLenum	p = (int)SvIV(ST(0))
;
#line 2508 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClipPlanef", )
  OGLM_AVAIL_CHECK(__glewClipPlanef, glClipPlanef)
  GLfloat* eqn = OGLM_GET_VARARGS(eqn,1,GLfloat,NV,4);
  glClipPlanef((GLenum )p, (const GLfloat* )eqn);
  OGLM_CHECK_ERR("glClipPlanef", free(eqn);)
  free(eqn);
#line 5494 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClipPlanefOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClipPlanefOES_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "plane, equation");
    {
	GLenum	plane = (int)SvIV(ST(0))
;
	const GLfloat*	equation = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 2521 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClipPlanefOES", )
  OGLM_AVAIL_CHECK(__glewClipPlanefOES, glClipPlanefOES)
  glClipPlanefOES(plane, equation);
  OGLM_CHECK_ERR("glClipPlanefOES", )
#line 5517 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClipPlanex_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClipPlanex_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "plane, equation");
    {
	GLenum	plane = (int)SvIV(ST(0))
;
	const GLfixed*	equation = INT2PTR(const GLfixed *,SvIV(ST(1)))
;
#line 2532 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClipPlanex", )
  OGLM_AVAIL_CHECK(__glewClipPlanex, glClipPlanex)
  glClipPlanex(plane, equation);
  OGLM_CHECK_ERR("glClipPlanex", )
#line 5540 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glClipPlanex_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glClipPlanex_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "plane, ...");
    {
	GLenum	plane = (int)SvIV(ST(0))
;
#line 2542 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glClipPlanex", )
  OGLM_AVAIL_CHECK(__glewClipPlanex, glClipPlanex)
  GLfixed* equation = OGLM_GET_VARARGS(equation,1,GLfixed,IV,4);
  glClipPlanex((GLenum )plane, (const GLfixed* )equation);
  OGLM_CHECK_ERR("glClipPlanex", free(equation);)
  free(equation);
#line 5563 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3b); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3b)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLbyte	red = (int)SvIV(ST(0))
;
	GLbyte	green = (int)SvIV(ST(1))
;
	GLbyte	blue = (int)SvIV(ST(2))
;
#line 2556 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3b", )
  glColor3b(red, green, blue);
  OGLM_CHECK_ERR("glColor3b", )
#line 5587 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3bv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3bv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLbyte *	v = INT2PTR(const GLbyte *,SvIV(ST(0)))
;
#line 2565 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3bv", )
  glColor3bv(v);
  OGLM_CHECK_ERR("glColor3bv", )
#line 5607 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3bv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3bv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2573 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3bv", )
  GLbyte *v = OGLM_GET_VARARGS(v,0,GLbyte,IV,3);
  glColor3bv((const GLbyte *)v);
  OGLM_CHECK_ERR("glColor3bv", free(v);)
  free(v);
#line 5627 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3d)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLdouble	red = (double)SvNV(ST(0))
;
	GLdouble	green = (double)SvNV(ST(1))
;
	GLdouble	blue = (double)SvNV(ST(2))
;
#line 2586 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3d", )
  glColor3d(red, green, blue);
  OGLM_CHECK_ERR("glColor3d", )
#line 5651 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 2595 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3dv", )
  glColor3dv(v);
  OGLM_CHECK_ERR("glColor3dv", )
#line 5671 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2603 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,3);
  glColor3dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glColor3dv", free(v);)
  free(v);
#line 5691 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3f)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLfloat	red = (float)SvNV(ST(0))
;
	GLfloat	green = (float)SvNV(ST(1))
;
	GLfloat	blue = (float)SvNV(ST(2))
;
#line 2616 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3f", )
  glColor3f(red, green, blue);
  OGLM_CHECK_ERR("glColor3f", )
#line 5715 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "r, g, b, x, y, z");
    {
	GLfloat	r = (float)SvNV(ST(0))
;
	GLfloat	g = (float)SvNV(ST(1))
;
	GLfloat	b = (float)SvNV(ST(2))
;
	GLfloat	x = (float)SvNV(ST(3))
;
	GLfloat	y = (float)SvNV(ST(4))
;
	GLfloat	z = (float)SvNV(ST(5))
;
#line 2630 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewColor3fVertex3fSUN, glColor3fVertex3fSUN)
  glColor3fVertex3fSUN(r, g, b, x, y, z);
  OGLM_CHECK_ERR("glColor3fVertex3fSUN", )
#line 5746 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "c, v");
    {
	const GLfloat*	c = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 2641 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewColor3fVertex3fvSUN, glColor3fVertex3fvSUN)
  glColor3fVertex3fvSUN(c, v);
  OGLM_CHECK_ERR("glColor3fVertex3fvSUN", )
#line 5769 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "cSV, vSV");
    {
	SV *	cSV = ST(0)
;
	SV *	vSV = ST(1)
;
#line 2652 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewColor3fVertex3fvSUN, glColor3fVertex3fvSUN)
  GLfloat* c = OGLM_GET_ARRAY(c, GLfloat, NV, 3);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glColor3fVertex3fvSUN((const GLfloat* )c, (const GLfloat *)v);
  OGLM_CHECK_ERR("glColor3fVertex3fvSUN", free(c);free(v);)
  free(c);free(v);
#line 5795 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 2665 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3fv", )
  glColor3fv(v);
  OGLM_CHECK_ERR("glColor3fv", )
#line 5815 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2673 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,3);
  glColor3fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glColor3fv", free(v);)
  free(v);
#line 5835 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3hNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLhalf	red = (float)SvNV(ST(0))
;
	GLhalf	green = (float)SvNV(ST(1))
;
	GLhalf	blue = (float)SvNV(ST(2))
;
#line 2686 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3hNV", )
  OGLM_AVAIL_CHECK(__glewColor3hNV, glColor3hNV)
  glColor3hNV(red, green, blue);
  OGLM_CHECK_ERR("glColor3hNV", )
#line 5860 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 2696 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3hvNV", )
  OGLM_AVAIL_CHECK(__glewColor3hvNV, glColor3hvNV)
  glColor3hvNV(v);
  OGLM_CHECK_ERR("glColor3hvNV", )
#line 5881 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3hvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2705 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3hvNV", )
  OGLM_AVAIL_CHECK(__glewColor3hvNV, glColor3hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,0,GLhalf,NV,3);
  glColor3hvNV((const GLhalf* )v);
  OGLM_CHECK_ERR("glColor3hvNV", free(v);)
  free(v);
#line 5902 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3i)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLint	red = (int)SvIV(ST(0))
;
	GLint	green = (int)SvIV(ST(1))
;
	GLint	blue = (int)SvIV(ST(2))
;
#line 2719 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3i", )
  glColor3i(red, green, blue);
  OGLM_CHECK_ERR("glColor3i", )
#line 5926 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 2728 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3iv", )
  glColor3iv(v);
  OGLM_CHECK_ERR("glColor3iv", )
#line 5946 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2736 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,3);
  glColor3iv((const GLint *)v);
  OGLM_CHECK_ERR("glColor3iv", free(v);)
  free(v);
#line 5966 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLshort	red = (short)SvIV(ST(0))
;
	GLshort	green = (short)SvIV(ST(1))
;
	GLshort	blue = (short)SvIV(ST(2))
;
#line 2749 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3s", )
  glColor3s(red, green, blue);
  OGLM_CHECK_ERR("glColor3s", )
#line 5990 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 2758 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3sv", )
  glColor3sv(v);
  OGLM_CHECK_ERR("glColor3sv", )
#line 6010 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2766 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,3);
  glColor3sv((const GLshort *)v);
  OGLM_CHECK_ERR("glColor3sv", free(v);)
  free(v);
#line 6030 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3ub); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3ub)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLubyte	red = (unsigned int)SvUV(ST(0))
;
	GLubyte	green = (unsigned int)SvUV(ST(1))
;
	GLubyte	blue = (unsigned int)SvUV(ST(2))
;
#line 2779 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3ub", )
  glColor3ub(red, green, blue);
  OGLM_CHECK_ERR("glColor3ub", )
#line 6054 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3ubv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3ubv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLubyte *        v = (const GLubyte *)SvPV_nolen(ST(0))
;
#line 2788 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3ubv", )
  glColor3ubv(v);
  OGLM_CHECK_ERR("glColor3ubv", )
#line 6074 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3ubv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3ubv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2796 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3ubv", )
  GLubyte *v = OGLM_GET_VARARGS(v,0,GLubyte,UV,3);
  glColor3ubv((const GLubyte *)v);
  OGLM_CHECK_ERR("glColor3ubv", free(v);)
  free(v);
#line 6094 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3ui)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLuint	red = (unsigned int)SvUV(ST(0))
;
	GLuint	green = (unsigned int)SvUV(ST(1))
;
	GLuint	blue = (unsigned int)SvUV(ST(2))
;
#line 2809 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3ui", )
  glColor3ui(red, green, blue);
  OGLM_CHECK_ERR("glColor3ui", )
#line 6118 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3uiv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLuint *	v = INT2PTR(const GLuint *,SvIV(ST(0)))
;
#line 2818 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3uiv", )
  glColor3uiv(v);
  OGLM_CHECK_ERR("glColor3uiv", )
#line 6138 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3uiv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2826 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3uiv", )
  GLuint *v = OGLM_GET_VARARGS(v,0,GLuint,UV,3);
  glColor3uiv((const GLuint *)v);
  OGLM_CHECK_ERR("glColor3uiv", free(v);)
  free(v);
#line 6158 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3us); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3us)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLushort	red = (unsigned short)SvUV(ST(0))
;
	GLushort	green = (unsigned short)SvUV(ST(1))
;
	GLushort	blue = (unsigned short)SvUV(ST(2))
;
#line 2839 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3us", )
  glColor3us(red, green, blue);
  OGLM_CHECK_ERR("glColor3us", )
#line 6182 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3usv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3usv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLushort *	v = INT2PTR(const GLushort *,SvIV(ST(0)))
;
#line 2848 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3usv", )
  glColor3usv(v);
  OGLM_CHECK_ERR("glColor3usv", )
#line 6202 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor3usv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor3usv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2856 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor3usv", )
  GLushort *v = OGLM_GET_VARARGS(v,0,GLushort,UV,3);
  glColor3usv((const GLushort *)v);
  OGLM_CHECK_ERR("glColor3usv", free(v);)
  free(v);
#line 6222 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4b); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4b)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLbyte	red = (int)SvIV(ST(0))
;
	GLbyte	green = (int)SvIV(ST(1))
;
	GLbyte	blue = (int)SvIV(ST(2))
;
	GLbyte	alpha = (int)SvIV(ST(3))
;
#line 2870 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4b", )
  glColor4b(red, green, blue, alpha);
  OGLM_CHECK_ERR("glColor4b", )
#line 6248 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4bv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4bv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLbyte *	v = INT2PTR(const GLbyte *,SvIV(ST(0)))
;
#line 2879 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4bv", )
  glColor4bv(v);
  OGLM_CHECK_ERR("glColor4bv", )
#line 6268 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4bv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4bv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2887 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4bv", )
  GLbyte *v = OGLM_GET_VARARGS(v,0,GLbyte,IV,4);
  glColor4bv((const GLbyte *)v);
  OGLM_CHECK_ERR("glColor4bv", free(v);)
  free(v);
#line 6288 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4d)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLdouble	red = (double)SvNV(ST(0))
;
	GLdouble	green = (double)SvNV(ST(1))
;
	GLdouble	blue = (double)SvNV(ST(2))
;
	GLdouble	alpha = (double)SvNV(ST(3))
;
#line 2901 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4d", )
  glColor4d(red, green, blue, alpha);
  OGLM_CHECK_ERR("glColor4d", )
#line 6314 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 2910 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4dv", )
  glColor4dv(v);
  OGLM_CHECK_ERR("glColor4dv", )
#line 6334 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2918 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,4);
  glColor4dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glColor4dv", free(v);)
  free(v);
#line 6354 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4f)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLfloat	red = (float)SvNV(ST(0))
;
	GLfloat	green = (float)SvNV(ST(1))
;
	GLfloat	blue = (float)SvNV(ST(2))
;
	GLfloat	alpha = (float)SvNV(ST(3))
;
#line 2932 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4f", )
  glColor4f(red, green, blue, alpha);
  OGLM_CHECK_ERR("glColor4f", )
#line 6380 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4fNormal3fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4fNormal3fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "r, g, b, a, nx, ny, nz, x, y, z");
    {
	GLfloat	r = (float)SvNV(ST(0))
;
	GLfloat	g = (float)SvNV(ST(1))
;
	GLfloat	b = (float)SvNV(ST(2))
;
	GLfloat	a = (float)SvNV(ST(3))
;
	GLfloat	nx = (float)SvNV(ST(4))
;
	GLfloat	ny = (float)SvNV(ST(5))
;
	GLfloat	nz = (float)SvNV(ST(6))
;
	GLfloat	x = (float)SvNV(ST(7))
;
	GLfloat	y = (float)SvNV(ST(8))
;
	GLfloat	z = (float)SvNV(ST(9))
;
#line 2950 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4fNormal3fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewColor4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fSUN)
  glColor4fNormal3fVertex3fSUN(r, g, b, a, nx, ny, nz, x, y, z);
  OGLM_CHECK_ERR("glColor4fNormal3fVertex3fSUN", )
#line 6419 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4fNormal3fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4fNormal3fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "c, n, v");
    {
	const GLfloat*	c = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
	const GLfloat *	n = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 2962 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewColor4fNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fvSUN)
  glColor4fNormal3fVertex3fvSUN(c, n, v);
  OGLM_CHECK_ERR("glColor4fNormal3fVertex3fvSUN", )
#line 6444 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4fNormal3fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4fNormal3fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "cSV, nSV, vSV");
    {
	SV *	cSV = ST(0)
;
	SV *	nSV = ST(1)
;
	SV *	vSV = ST(2)
;
#line 2974 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewColor4fNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fvSUN)
  GLfloat* c = OGLM_GET_ARRAY(c, GLfloat, NV, 4);
  GLfloat *n = OGLM_GET_ARRAY(n, GLfloat, NV, 3);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glColor4fNormal3fVertex3fvSUN((const GLfloat* )c, (const GLfloat *)n, (const GLfloat *)v);
  OGLM_CHECK_ERR("glColor4fNormal3fVertex3fvSUN", free(c);free(n);free(v);)
  free(c);free(n);free(v);
#line 6473 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 2988 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4fv", )
  glColor4fv(v);
  OGLM_CHECK_ERR("glColor4fv", )
#line 6493 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 2996 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,4);
  glColor4fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glColor4fv", free(v);)
  free(v);
#line 6513 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4hNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLhalf	red = (float)SvNV(ST(0))
;
	GLhalf	green = (float)SvNV(ST(1))
;
	GLhalf	blue = (float)SvNV(ST(2))
;
	GLhalf	alpha = (float)SvNV(ST(3))
;
#line 3010 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4hNV", )
  OGLM_AVAIL_CHECK(__glewColor4hNV, glColor4hNV)
  glColor4hNV(red, green, blue, alpha);
  OGLM_CHECK_ERR("glColor4hNV", )
#line 6540 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 3020 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4hvNV", )
  OGLM_AVAIL_CHECK(__glewColor4hvNV, glColor4hvNV)
  glColor4hvNV(v);
  OGLM_CHECK_ERR("glColor4hvNV", )
#line 6561 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4hvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 3029 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4hvNV", )
  OGLM_AVAIL_CHECK(__glewColor4hvNV, glColor4hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,0,GLhalf,NV,4);
  glColor4hvNV((const GLhalf* )v);
  OGLM_CHECK_ERR("glColor4hvNV", free(v);)
  free(v);
#line 6582 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4i)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLint	red = (int)SvIV(ST(0))
;
	GLint	green = (int)SvIV(ST(1))
;
	GLint	blue = (int)SvIV(ST(2))
;
	GLint	alpha = (int)SvIV(ST(3))
;
#line 3044 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4i", )
  glColor4i(red, green, blue, alpha);
  OGLM_CHECK_ERR("glColor4i", )
#line 6608 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 3053 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4iv", )
  glColor4iv(v);
  OGLM_CHECK_ERR("glColor4iv", )
#line 6628 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 3061 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,4);
  glColor4iv((const GLint *)v);
  OGLM_CHECK_ERR("glColor4iv", free(v);)
  free(v);
#line 6648 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4s)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLshort	red = (short)SvIV(ST(0))
;
	GLshort	green = (short)SvIV(ST(1))
;
	GLshort	blue = (short)SvIV(ST(2))
;
	GLshort	alpha = (short)SvIV(ST(3))
;
#line 3075 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4s", )
  glColor4s(red, green, blue, alpha);
  OGLM_CHECK_ERR("glColor4s", )
#line 6674 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 3084 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4sv", )
  glColor4sv(v);
  OGLM_CHECK_ERR("glColor4sv", )
#line 6694 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 3092 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,4);
  glColor4sv((const GLshort *)v);
  OGLM_CHECK_ERR("glColor4sv", free(v);)
  free(v);
#line 6714 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4ub); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4ub)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLubyte	red = (unsigned int)SvUV(ST(0))
;
	GLubyte	green = (unsigned int)SvUV(ST(1))
;
	GLubyte	blue = (unsigned int)SvUV(ST(2))
;
	GLubyte	alpha = (unsigned int)SvUV(ST(3))
;
#line 3106 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4ub", )
  glColor4ub(red, green, blue, alpha);
  OGLM_CHECK_ERR("glColor4ub", )
#line 6740 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex2fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex2fSUN)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "r, g, b, a, x, y");
    {
	GLubyte	r = (unsigned int)SvUV(ST(0))
;
	GLubyte	g = (unsigned int)SvUV(ST(1))
;
	GLubyte	b = (unsigned int)SvUV(ST(2))
;
	GLubyte	a = (unsigned int)SvUV(ST(3))
;
	GLfloat	x = (float)SvNV(ST(4))
;
	GLfloat	y = (float)SvNV(ST(5))
;
#line 3120 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4ubVertex2fSUN", )
  OGLM_AVAIL_CHECK(__glewColor4ubVertex2fSUN, glColor4ubVertex2fSUN)
  glColor4ubVertex2fSUN(r, g, b, a, x, y);
  OGLM_CHECK_ERR("glColor4ubVertex2fSUN", )
#line 6771 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex2fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex2fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "c, v");
    {
	const GLubyte*        c = (const GLubyte *)SvPV_nolen(ST(0))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 3131 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4ubVertex2fvSUN", )
  OGLM_AVAIL_CHECK(__glewColor4ubVertex2fvSUN, glColor4ubVertex2fvSUN)
  glColor4ubVertex2fvSUN(c, v);
  OGLM_CHECK_ERR("glColor4ubVertex2fvSUN", )
#line 6794 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex2fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex2fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "cSV, vSV");
    {
	SV *	cSV = ST(0)
;
	SV *	vSV = ST(1)
;
#line 3142 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4ubVertex2fvSUN", )
  OGLM_AVAIL_CHECK(__glewColor4ubVertex2fvSUN, glColor4ubVertex2fvSUN)
  GLubyte* c = OGLM_GET_ARRAY(c, GLubyte, UV, 4);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 2);
  glColor4ubVertex2fvSUN((const GLubyte* )c, (const GLfloat *)v);
  OGLM_CHECK_ERR("glColor4ubVertex2fvSUN", free(c);free(v);)
  free(c);free(v);
#line 6820 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "r, g, b, a, x, y, z");
    {
	GLubyte	r = (unsigned int)SvUV(ST(0))
;
	GLubyte	g = (unsigned int)SvUV(ST(1))
;
	GLubyte	b = (unsigned int)SvUV(ST(2))
;
	GLubyte	a = (unsigned int)SvUV(ST(3))
;
	GLfloat	x = (float)SvNV(ST(4))
;
	GLfloat	y = (float)SvNV(ST(5))
;
	GLfloat	z = (float)SvNV(ST(6))
;
#line 3161 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4ubVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewColor4ubVertex3fSUN, glColor4ubVertex3fSUN)
  glColor4ubVertex3fSUN(r, g, b, a, x, y, z);
  OGLM_CHECK_ERR("glColor4ubVertex3fSUN", )
#line 6853 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "c, v");
    {
	const GLubyte*        c = (const GLubyte *)SvPV_nolen(ST(0))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 3172 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4ubVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewColor4ubVertex3fvSUN, glColor4ubVertex3fvSUN)
  glColor4ubVertex3fvSUN(c, v);
  OGLM_CHECK_ERR("glColor4ubVertex3fvSUN", )
#line 6876 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4ubVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "cSV, vSV");
    {
	SV *	cSV = ST(0)
;
	SV *	vSV = ST(1)
;
#line 3183 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4ubVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewColor4ubVertex3fvSUN, glColor4ubVertex3fvSUN)
  GLubyte* c = OGLM_GET_ARRAY(c, GLubyte, UV, 4);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glColor4ubVertex3fvSUN((const GLubyte* )c, (const GLfloat *)v);
  OGLM_CHECK_ERR("glColor4ubVertex3fvSUN", free(c);free(v);)
  free(c);free(v);
#line 6902 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4ubv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4ubv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLubyte *        v = (const GLubyte *)SvPV_nolen(ST(0))
;
#line 3196 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4ubv", )
  glColor4ubv(v);
  OGLM_CHECK_ERR("glColor4ubv", )
#line 6922 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4ubv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4ubv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 3204 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4ubv", )
  GLubyte *v = OGLM_GET_VARARGS(v,0,GLubyte,UV,4);
  glColor4ubv((const GLubyte *)v);
  OGLM_CHECK_ERR("glColor4ubv", free(v);)
  free(v);
#line 6942 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4ui)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLuint	red = (unsigned int)SvUV(ST(0))
;
	GLuint	green = (unsigned int)SvUV(ST(1))
;
	GLuint	blue = (unsigned int)SvUV(ST(2))
;
	GLuint	alpha = (unsigned int)SvUV(ST(3))
;
#line 3218 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4ui", )
  glColor4ui(red, green, blue, alpha);
  OGLM_CHECK_ERR("glColor4ui", )
#line 6968 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4uiv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLuint *	v = INT2PTR(const GLuint *,SvIV(ST(0)))
;
#line 3227 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4uiv", )
  glColor4uiv(v);
  OGLM_CHECK_ERR("glColor4uiv", )
#line 6988 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4uiv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 3235 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4uiv", )
  GLuint *v = OGLM_GET_VARARGS(v,0,GLuint,UV,4);
  glColor4uiv((const GLuint *)v);
  OGLM_CHECK_ERR("glColor4uiv", free(v);)
  free(v);
#line 7008 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4us); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4us)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLushort	red = (unsigned short)SvUV(ST(0))
;
	GLushort	green = (unsigned short)SvUV(ST(1))
;
	GLushort	blue = (unsigned short)SvUV(ST(2))
;
	GLushort	alpha = (unsigned short)SvUV(ST(3))
;
#line 3249 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4us", )
  glColor4us(red, green, blue, alpha);
  OGLM_CHECK_ERR("glColor4us", )
#line 7034 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4usv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4usv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLushort *	v = INT2PTR(const GLushort *,SvIV(ST(0)))
;
#line 3258 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4usv", )
  glColor4usv(v);
  OGLM_CHECK_ERR("glColor4usv", )
#line 7054 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4usv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4usv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 3266 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4usv", )
  GLushort *v = OGLM_GET_VARARGS(v,0,GLushort,UV,4);
  glColor4usv((const GLushort *)v);
  OGLM_CHECK_ERR("glColor4usv", free(v);)
  free(v);
#line 7074 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColor4x); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColor4x)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLfixed	red = (int)SvIV(ST(0))
;
	GLfixed	green = (int)SvIV(ST(1))
;
	GLfixed	blue = (int)SvIV(ST(2))
;
	GLfixed	alpha = (int)SvIV(ST(3))
;
#line 3280 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColor4x", )
  OGLM_AVAIL_CHECK(__glewColor4x, glColor4x)
  glColor4x(red, green, blue, alpha);
  OGLM_CHECK_ERR("glColor4x", )
#line 7101 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorFormatNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorFormatNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "size, type, stride");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
#line 3292 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorFormatNV", )
  OGLM_AVAIL_CHECK(__glewColorFormatNV, glColorFormatNV)
  glColorFormatNV(size, type, stride);
  OGLM_CHECK_ERR("glColorFormatNV", )
#line 7126 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorFragmentOp1ATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorFragmentOp1ATI)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod");
    {
	GLenum	op = (int)SvIV(ST(0))
;
	GLuint	dst = (unsigned int)SvUV(ST(1))
;
	GLuint	dstMask = (unsigned int)SvUV(ST(2))
;
	GLuint	dstMod = (unsigned int)SvUV(ST(3))
;
	GLuint	arg1 = (unsigned int)SvUV(ST(4))
;
	GLuint	arg1Rep = (unsigned int)SvUV(ST(5))
;
	GLuint	arg1Mod = (unsigned int)SvUV(ST(6))
;
#line 3308 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorFragmentOp1ATI", )
  OGLM_AVAIL_CHECK(__glewColorFragmentOp1ATI, glColorFragmentOp1ATI)
  glColorFragmentOp1ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod);
  OGLM_CHECK_ERR("glColorFragmentOp1ATI", )
#line 7159 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorFragmentOp2ATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorFragmentOp2ATI)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod");
    {
	GLenum	op = (int)SvIV(ST(0))
;
	GLuint	dst = (unsigned int)SvUV(ST(1))
;
	GLuint	dstMask = (unsigned int)SvUV(ST(2))
;
	GLuint	dstMod = (unsigned int)SvUV(ST(3))
;
	GLuint	arg1 = (unsigned int)SvUV(ST(4))
;
	GLuint	arg1Rep = (unsigned int)SvUV(ST(5))
;
	GLuint	arg1Mod = (unsigned int)SvUV(ST(6))
;
	GLuint	arg2 = (unsigned int)SvUV(ST(7))
;
	GLuint	arg2Rep = (unsigned int)SvUV(ST(8))
;
	GLuint	arg2Mod = (unsigned int)SvUV(ST(9))
;
#line 3327 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorFragmentOp2ATI", )
  OGLM_AVAIL_CHECK(__glewColorFragmentOp2ATI, glColorFragmentOp2ATI)
  glColorFragmentOp2ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod);
  OGLM_CHECK_ERR("glColorFragmentOp2ATI", )
#line 7198 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorFragmentOp3ATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorFragmentOp3ATI)
{
    dVAR; dXSARGS;
    if (items != 13)
       croak_xs_usage(cv,  "op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod");
    {
	GLenum	op = (int)SvIV(ST(0))
;
	GLuint	dst = (unsigned int)SvUV(ST(1))
;
	GLuint	dstMask = (unsigned int)SvUV(ST(2))
;
	GLuint	dstMod = (unsigned int)SvUV(ST(3))
;
	GLuint	arg1 = (unsigned int)SvUV(ST(4))
;
	GLuint	arg1Rep = (unsigned int)SvUV(ST(5))
;
	GLuint	arg1Mod = (unsigned int)SvUV(ST(6))
;
	GLuint	arg2 = (unsigned int)SvUV(ST(7))
;
	GLuint	arg2Rep = (unsigned int)SvUV(ST(8))
;
	GLuint	arg2Mod = (unsigned int)SvUV(ST(9))
;
	GLuint	arg3 = (unsigned int)SvUV(ST(10))
;
	GLuint	arg3Rep = (unsigned int)SvUV(ST(11))
;
	GLuint	arg3Mod = (unsigned int)SvUV(ST(12))
;
#line 3349 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorFragmentOp3ATI", )
  OGLM_AVAIL_CHECK(__glewColorFragmentOp3ATI, glColorFragmentOp3ATI)
  glColorFragmentOp3ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod);
  OGLM_CHECK_ERR("glColorFragmentOp3ATI", )
#line 7243 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorMask); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorMask)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "red, green, blue, alpha");
    {
	GLboolean	red = (int)SvIV(ST(0))
;
	GLboolean	green = (int)SvIV(ST(1))
;
	GLboolean	blue = (int)SvIV(ST(2))
;
	GLboolean	alpha = (int)SvIV(ST(3))
;
#line 3362 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorMask", )
  glColorMask(red, green, blue, alpha);
  OGLM_CHECK_ERR("glColorMask", )
#line 7269 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorMaski); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorMaski)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "buf, red, green, blue, alpha");
    {
	GLuint	buf = (unsigned int)SvUV(ST(0))
;
	GLboolean	red = (int)SvIV(ST(1))
;
	GLboolean	green = (int)SvIV(ST(2))
;
	GLboolean	blue = (int)SvIV(ST(3))
;
	GLboolean	alpha = (int)SvIV(ST(4))
;
#line 3378 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorMaski", )
  OGLM_AVAIL_CHECK(__glewColorMaski, glColorMaski)
  glColorMaski(buf, red, green, blue, alpha);
  OGLM_CHECK_ERR("glColorMaski", )
#line 7299 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorMaskiOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorMaskiOES)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "buf, r, g, b, a");
    {
	GLuint	buf = (unsigned int)SvUV(ST(0))
;
	GLboolean	r = (int)SvIV(ST(1))
;
	GLboolean	g = (int)SvIV(ST(2))
;
	GLboolean	b = (int)SvIV(ST(3))
;
	GLboolean	a = (int)SvIV(ST(4))
;
#line 3392 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorMaskiOES", )
  OGLM_AVAIL_CHECK(__glewColorMaskiOES, glColorMaskiOES)
  glColorMaskiOES(buf, r, g, b, a);
  OGLM_CHECK_ERR("glColorMaskiOES", )
#line 7328 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorMaterial); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorMaterial)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, mode");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 3403 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorMaterial", )
  glColorMaterial(face, mode);
  OGLM_CHECK_ERR("glColorMaterial", )
#line 7350 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorP3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorP3ui)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, color");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	color = (unsigned int)SvUV(ST(1))
;
#line 3413 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorP3ui", )
  OGLM_AVAIL_CHECK(__glewColorP3ui, glColorP3ui)
  glColorP3ui(type, color);
  OGLM_CHECK_ERR("glColorP3ui", )
#line 7373 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorP3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorP3uiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, color");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLuint*	color = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 3424 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorP3uiv", )
  OGLM_AVAIL_CHECK(__glewColorP3uiv, glColorP3uiv)
  glColorP3uiv(type, color);
  OGLM_CHECK_ERR("glColorP3uiv", )
#line 7396 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorP3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorP3uiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
#line 3434 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorP3uiv", )
  OGLM_AVAIL_CHECK(__glewColorP3uiv, glColorP3uiv)
  GLuint* color = OGLM_GET_VARARGS(color,1,GLuint,UV,1);
  glColorP3uiv((GLenum )type, (const GLuint* )color);
  OGLM_CHECK_ERR("glColorP3uiv", free(color);)
  free(color);
#line 7419 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorP4ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorP4ui)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, color");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	color = (unsigned int)SvUV(ST(1))
;
#line 3447 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorP4ui", )
  OGLM_AVAIL_CHECK(__glewColorP4ui, glColorP4ui)
  glColorP4ui(type, color);
  OGLM_CHECK_ERR("glColorP4ui", )
#line 7442 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorP4uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorP4uiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, color");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLuint*	color = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 3458 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorP4uiv", )
  OGLM_AVAIL_CHECK(__glewColorP4uiv, glColorP4uiv)
  glColorP4uiv(type, color);
  OGLM_CHECK_ERR("glColorP4uiv", )
#line 7465 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorP4uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorP4uiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
#line 3468 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorP4uiv", )
  OGLM_AVAIL_CHECK(__glewColorP4uiv, glColorP4uiv)
  GLuint* color = OGLM_GET_VARARGS(color,1,GLuint,UV,1);
  glColorP4uiv((GLenum )type, (const GLuint* )color);
  OGLM_CHECK_ERR("glColorP4uiv", free(color);)
  free(color);
#line 7488 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorPointer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorPointer_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "size, type, stride, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(3)))
;
#line 3483 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorPointer", )
  glColorPointer(size, type, stride, pointer);
  OGLM_CHECK_ERR("glColorPointer", )
#line 7514 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorPointerEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorPointerEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "size, type, stride, count, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(4)))
;
#line 3496 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorPointerEXT", )
  OGLM_AVAIL_CHECK(__glewColorPointerEXT, glColorPointerEXT)
  glColorPointerEXT(size, type, stride, count, pointer);
  OGLM_CHECK_ERR("glColorPointerEXT", )
#line 7543 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorPointerListIBM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorPointerListIBM_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "size, type, stride, pointer, ptrstride");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLint	stride = (int)SvIV(ST(2))
;
	const void**	pointer = INT2PTR(const void **,SvIV(ST(3)))
;
	GLint	ptrstride = (int)SvIV(ST(4))
;
#line 3510 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorPointerListIBM", )
  OGLM_AVAIL_CHECK(__glewColorPointerListIBM, glColorPointerListIBM)
  glColorPointerListIBM(size, type, stride, pointer, ptrstride);
  OGLM_CHECK_ERR("glColorPointerListIBM", )
#line 7572 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorPointervINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorPointervINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "size, type, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const void**	pointer = INT2PTR(const void **,SvIV(ST(2)))
;
#line 3522 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorPointervINTEL", )
  OGLM_AVAIL_CHECK(__glewColorPointervINTEL, glColorPointervINTEL)
  glColorPointervINTEL(size, type, pointer);
  OGLM_CHECK_ERR("glColorPointervINTEL", )
#line 7597 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorSubTable_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorSubTable_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "target, start, count, format, type, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	start = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLenum	format = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(5)))
;
#line 3539 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorSubTable", )
  OGLM_AVAIL_CHECK(__glewColorSubTable, glColorSubTable)
  glColorSubTable(target, start, count, format, type, data);
  OGLM_CHECK_ERR("glColorSubTable", )
#line 7629 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorTable_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorTable_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "target, internalformat, width, format, type, table");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLenum	format = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	const void *	table = INT2PTR(const void *,SvIV(ST(5)))
;
#line 3557 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorTable", )
  OGLM_AVAIL_CHECK(__glewColorTable, glColorTable)
  glColorTable(target, internalformat, width, format, type, table);
  OGLM_CHECK_ERR("glColorTable", )
#line 7661 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorTableParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorTableParameterfv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat *	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 3571 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorTableParameterfv", )
  OGLM_AVAIL_CHECK(__glewColorTableParameterfv, glColorTableParameterfv)
  glColorTableParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glColorTableParameterfv", )
#line 7687 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorTableParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorTableParameterfv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 3584 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorTableParameterfv", )
  OGLM_AVAIL_CHECK(__glewColorTableParameterfv, glColorTableParameterfv)
  OGLM_SIZE_ENUM(ColorTableParameterPName,pname,1)
  GLfloat *params = OGLM_GET_VARARGS(params,2,GLfloat,NV,pname_count);
  glColorTableParameterfv((GLenum )target, (GLenum )pname, (const GLfloat *)params);
  OGLM_CHECK_ERR("glColorTableParameterfv", free(params);)
  free(params);
#line 7714 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorTableParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorTableParameteriv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 3601 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorTableParameteriv", )
  OGLM_AVAIL_CHECK(__glewColorTableParameteriv, glColorTableParameteriv)
  glColorTableParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glColorTableParameteriv", )
#line 7740 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glColorTableParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glColorTableParameteriv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 3614 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glColorTableParameteriv", )
  OGLM_AVAIL_CHECK(__glewColorTableParameteriv, glColorTableParameteriv)
  OGLM_SIZE_ENUM(ColorTableParameterPName,pname,1)
  GLint *params = OGLM_GET_VARARGS(params,2,GLint,IV,pname_count);
  glColorTableParameteriv((GLenum )target, (GLenum )pname, (const GLint *)params);
  OGLM_CHECK_ERR("glColorTableParameteriv", free(params);)
  free(params);
#line 7767 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCombinerInputNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCombinerInputNV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "stage, portion, variable, input, mapping, componentUsage");
    {
	GLenum	stage = (int)SvIV(ST(0))
;
	GLenum	portion = (int)SvIV(ST(1))
;
	GLenum	variable = (int)SvIV(ST(2))
;
	GLenum	input = (int)SvIV(ST(3))
;
	GLenum	mapping = (int)SvIV(ST(4))
;
	GLenum	componentUsage = (int)SvIV(ST(5))
;
#line 3632 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCombinerInputNV", )
  OGLM_AVAIL_CHECK(__glewCombinerInputNV, glCombinerInputNV)
  glCombinerInputNV(stage, portion, variable, input, mapping, componentUsage);
  OGLM_CHECK_ERR("glCombinerInputNV", )
#line 7798 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCombinerOutputNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCombinerOutputNV)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum");
    {
	GLenum	stage = (int)SvIV(ST(0))
;
	GLenum	portion = (int)SvIV(ST(1))
;
	GLenum	abOutput = (int)SvIV(ST(2))
;
	GLenum	cdOutput = (int)SvIV(ST(3))
;
	GLenum	sumOutput = (int)SvIV(ST(4))
;
	GLenum	scale = (int)SvIV(ST(5))
;
	GLenum	bias = (int)SvIV(ST(6))
;
	GLboolean	abDotProduct = (int)SvIV(ST(7))
;
	GLboolean	cdDotProduct = (int)SvIV(ST(8))
;
	GLboolean	muxSum = (int)SvIV(ST(9))
;
#line 3651 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCombinerOutputNV", )
  OGLM_AVAIL_CHECK(__glewCombinerOutputNV, glCombinerOutputNV)
  glCombinerOutputNV(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum);
  OGLM_CHECK_ERR("glCombinerOutputNV", )
#line 7837 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCombinerParameterfNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCombinerParameterfNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 3662 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCombinerParameterfNV", )
  OGLM_AVAIL_CHECK(__glewCombinerParameterfNV, glCombinerParameterfNV)
  glCombinerParameterfNV(pname, param);
  OGLM_CHECK_ERR("glCombinerParameterfNV", )
#line 7860 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCombinerParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCombinerParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 3673 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCombinerParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewCombinerParameterfvNV, glCombinerParameterfvNV)
  glCombinerParameterfvNV(pname, params);
  OGLM_CHECK_ERR("glCombinerParameterfvNV", )
#line 7883 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCombinerParameteriNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCombinerParameteriNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 3684 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCombinerParameteriNV", )
  OGLM_AVAIL_CHECK(__glewCombinerParameteriNV, glCombinerParameteriNV)
  glCombinerParameteriNV(pname, param);
  OGLM_CHECK_ERR("glCombinerParameteriNV", )
#line 7906 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCombinerParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCombinerParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 3695 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCombinerParameterivNV", )
  OGLM_AVAIL_CHECK(__glewCombinerParameterivNV, glCombinerParameterivNV)
  glCombinerParameterivNV(pname, params);
  OGLM_CHECK_ERR("glCombinerParameterivNV", )
#line 7929 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCombinerStageParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCombinerStageParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "stage, pname, params");
    {
	GLenum	stage = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 3707 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCombinerStageParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewCombinerStageParameterfvNV, glCombinerStageParameterfvNV)
  glCombinerStageParameterfvNV(stage, pname, params);
  OGLM_CHECK_ERR("glCombinerStageParameterfvNV", )
#line 7954 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCommandListSegmentsNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCommandListSegmentsNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "list, segments");
    {
	GLuint	list = (unsigned int)SvUV(ST(0))
;
	GLuint	segments = (unsigned int)SvUV(ST(1))
;
#line 3718 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCommandListSegmentsNV", )
  OGLM_AVAIL_CHECK(__glewCommandListSegmentsNV, glCommandListSegmentsNV)
  glCommandListSegmentsNV(list, segments);
  OGLM_CHECK_ERR("glCommandListSegmentsNV", )
#line 7977 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompileCommandListNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompileCommandListNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "list");
    {
	GLuint	list = (unsigned int)SvUV(ST(0))
;
#line 3728 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompileCommandListNV", )
  OGLM_AVAIL_CHECK(__glewCompileCommandListNV, glCompileCommandListNV)
  glCompileCommandListNV(list);
  OGLM_CHECK_ERR("glCompileCommandListNV", )
#line 7998 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompileShader); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompileShader)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "shader");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
#line 3738 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompileShader", )
  OGLM_AVAIL_CHECK(__glewCompileShader, glCompileShader)
  glCompileShader(shader);
  OGLM_CHECK_ERR("glCompileShader", )
#line 8019 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompileShaderARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompileShaderARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "shaderObj");
    {
	GLhandleARB	shaderObj = (unsigned int)SvUV(ST(0))
;
#line 3748 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompileShaderARB", )
  OGLM_AVAIL_CHECK(__glewCompileShaderARB, glCompileShaderARB)
  glCompileShaderARB(shaderObj);
  OGLM_CHECK_ERR("glCompileShaderARB", )
#line 8040 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompileShaderIncludeARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompileShaderIncludeARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "shader, count, path, length");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLchar* const *	path = (const GLchar * const *)SvPV_nolen(ST(2))
;
	const GLint *	length = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 3761 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompileShaderIncludeARB", )
  OGLM_AVAIL_CHECK(__glewCompileShaderIncludeARB, glCompileShaderIncludeARB)
  glCompileShaderIncludeARB(shader, count, path, length);
  OGLM_CHECK_ERR("glCompileShaderIncludeARB", )
#line 8067 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompileShaderIncludeARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompileShaderIncludeARB_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "shader, pathSV, lengthSV");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	SV *	pathSV = ST(1)
;
	SV *	lengthSV = ST(2)
;
#line 3773 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompileShaderIncludeARB", )
  OGLM_AVAIL_CHECK(__glewCompileShaderIncludeARB, glCompileShaderIncludeARB)
  GLsizei count = OGLM_LEN_ARRAY(count, path);
  GLint *length = OGLM_GET_ARRAY(length, GLint, IV, count);
  GLchar* *path = OGLM_GET_ARRAY(path, GLchar*, PV_nolen, count);
  glCompileShaderIncludeARB((GLuint )shader, (GLsizei )count, (const GLchar* const *)path, (const GLint *)length);
  OGLM_CHECK_ERR("glCompileShaderIncludeARB", free(length);free(path);)
  free(length);free(path);
#line 8096 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexImage1DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexImage1DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texunit, target, level, internalformat, width, border, imageSize, bits");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLint	border = (int)SvIV(ST(5))
;
	GLsizei	imageSize = (int)SvIV(ST(6))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(7)))
;
#line 3794 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedMultiTexImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedMultiTexImage1DEXT, glCompressedMultiTexImage1DEXT)
  glCompressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedMultiTexImage1DEXT", )
#line 8131 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexImage2DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexImage2DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texunit, target, level, internalformat, width, height, border, imageSize, bits");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLint	border = (int)SvIV(ST(6))
;
	GLsizei	imageSize = (int)SvIV(ST(7))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(8)))
;
#line 3812 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedMultiTexImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedMultiTexImage2DEXT, glCompressedMultiTexImage2DEXT)
  glCompressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedMultiTexImage2DEXT", )
#line 8168 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexImage3DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexImage3DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "texunit, target, level, internalformat, width, height, depth, border, imageSize, bits");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLsizei	depth = (int)SvIV(ST(6))
;
	GLint	border = (int)SvIV(ST(7))
;
	GLsizei	imageSize = (int)SvIV(ST(8))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(9)))
;
#line 3831 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedMultiTexImage3DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedMultiTexImage3DEXT, glCompressedMultiTexImage3DEXT)
  glCompressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedMultiTexImage3DEXT", )
#line 8207 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexSubImage1DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexSubImage1DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texunit, target, level, xoffset, width, format, imageSize, bits");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLenum	format = (int)SvIV(ST(5))
;
	GLsizei	imageSize = (int)SvIV(ST(6))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(7)))
;
#line 3848 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedMultiTexSubImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedMultiTexSubImage1DEXT, glCompressedMultiTexSubImage1DEXT)
  glCompressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedMultiTexSubImage1DEXT", )
#line 8242 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexSubImage2DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexSubImage2DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLenum	format = (int)SvIV(ST(7))
;
	GLsizei	imageSize = (int)SvIV(ST(8))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(9)))
;
#line 3867 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedMultiTexSubImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedMultiTexSubImage2DEXT, glCompressedMultiTexSubImage2DEXT)
  glCompressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedMultiTexSubImage2DEXT", )
#line 8281 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexSubImage3DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedMultiTexSubImage3DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLint	zoffset = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLsizei	height = (int)SvIV(ST(7))
;
	GLsizei	depth = (int)SvIV(ST(8))
;
	GLenum	format = (int)SvIV(ST(9))
;
	GLsizei	imageSize = (int)SvIV(ST(10))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(11)))
;
#line 3888 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedMultiTexSubImage3DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedMultiTexSubImage3DEXT, glCompressedMultiTexSubImage3DEXT)
  glCompressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedMultiTexSubImage3DEXT", )
#line 8324 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTexImage1D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTexImage1D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 7)
       croak_xs_usage(cv,  "target, level, internalformat, width, border, imageSize, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLint	border = (int)SvIV(ST(4))
;
	GLsizei	imageSize = (int)SvIV(ST(5))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(6)))
;
#line 3906 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTexImage1D", )
  OGLM_AVAIL_CHECK(__glewCompressedTexImage1D, glCompressedTexImage1D)
  glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTexImage1D", )
#line 8358 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTexImage2D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTexImage2D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 8)
       croak_xs_usage(cv,  "target, level, internalformat, width, height, border, imageSize, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLint	border = (int)SvIV(ST(5))
;
	GLsizei	imageSize = (int)SvIV(ST(6))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(7)))
;
#line 3925 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTexImage2D", )
  OGLM_AVAIL_CHECK(__glewCompressedTexImage2D, glCompressedTexImage2D)
  glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTexImage2D", )
#line 8394 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTexImage3D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTexImage3D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 9)
       croak_xs_usage(cv,  "target, level, internalformat, width, height, depth, border, imageSize, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLint	border = (int)SvIV(ST(6))
;
	GLsizei	imageSize = (int)SvIV(ST(7))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(8)))
;
#line 3945 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTexImage3D", )
  OGLM_AVAIL_CHECK(__glewCompressedTexImage3D, glCompressedTexImage3D)
  glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTexImage3D", )
#line 8432 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTexImage3DNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTexImage3DNV_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "target, level, internalformat, width, height, depth, border, imageSize, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLint	border = (int)SvIV(ST(6))
;
	GLsizei	imageSize = (int)SvIV(ST(7))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(8)))
;
#line 3963 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTexImage3DNV", )
  OGLM_AVAIL_CHECK(__glewCompressedTexImage3DNV, glCompressedTexImage3DNV)
  glCompressedTexImage3DNV(target, level, internalformat, width, height, depth, border, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTexImage3DNV", )
#line 8469 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTexImage3DOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTexImage3DOES_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "target, level, internalformat, width, height, depth, border, imageSize, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLint	border = (int)SvIV(ST(6))
;
	GLsizei	imageSize = (int)SvIV(ST(7))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(8)))
;
#line 3981 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTexImage3DOES", )
  OGLM_AVAIL_CHECK(__glewCompressedTexImage3DOES, glCompressedTexImage3DOES)
  glCompressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTexImage3DOES", )
#line 8506 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTexSubImage1D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTexSubImage1D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 7)
       croak_xs_usage(cv,  "target, level, xoffset, width, format, imageSize, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLsizei	imageSize = (int)SvIV(ST(5))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(6)))
;
#line 3999 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTexSubImage1D", )
  OGLM_AVAIL_CHECK(__glewCompressedTexSubImage1D, glCompressedTexSubImage1D)
  glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTexSubImage1D", )
#line 8540 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTexSubImage2D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTexSubImage2D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 9)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, width, height, format, imageSize, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLenum	format = (int)SvIV(ST(6))
;
	GLsizei	imageSize = (int)SvIV(ST(7))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(8)))
;
#line 4019 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTexSubImage2D", )
  OGLM_AVAIL_CHECK(__glewCompressedTexSubImage2D, glCompressedTexSubImage2D)
  glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTexSubImage2D", )
#line 8578 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTexSubImage3D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTexSubImage3D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 11)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLsizei	imageSize = (int)SvIV(ST(9))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(10)))
;
#line 4041 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTexSubImage3D", )
  OGLM_AVAIL_CHECK(__glewCompressedTexSubImage3D, glCompressedTexSubImage3D)
  glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTexSubImage3D", )
#line 8620 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTexSubImage3DNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTexSubImage3DNV_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLsizei	imageSize = (int)SvIV(ST(9))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(10)))
;
#line 4061 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTexSubImage3DNV", )
  OGLM_AVAIL_CHECK(__glewCompressedTexSubImage3DNV, glCompressedTexSubImage3DNV)
  glCompressedTexSubImage3DNV(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTexSubImage3DNV", )
#line 8661 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTexSubImage3DOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTexSubImage3DOES_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLsizei	imageSize = (int)SvIV(ST(9))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(10)))
;
#line 4081 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTexSubImage3DOES", )
  OGLM_AVAIL_CHECK(__glewCompressedTexSubImage3DOES, glCompressedTexSubImage3DOES)
  glCompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTexSubImage3DOES", )
#line 8702 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureImage1DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureImage1DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, target, level, internalformat, width, border, imageSize, bits");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLint	border = (int)SvIV(ST(5))
;
	GLsizei	imageSize = (int)SvIV(ST(6))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(7)))
;
#line 4098 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTextureImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedTextureImage1DEXT, glCompressedTextureImage1DEXT)
  glCompressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedTextureImage1DEXT", )
#line 8737 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureImage2DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureImage2DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texture, target, level, internalformat, width, height, border, imageSize, bits");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLint	border = (int)SvIV(ST(6))
;
	GLsizei	imageSize = (int)SvIV(ST(7))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(8)))
;
#line 4116 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTextureImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedTextureImage2DEXT, glCompressedTextureImage2DEXT)
  glCompressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedTextureImage2DEXT", )
#line 8774 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureImage3DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureImage3DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "texture, target, level, internalformat, width, height, depth, border, imageSize, bits");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLsizei	depth = (int)SvIV(ST(6))
;
	GLint	border = (int)SvIV(ST(7))
;
	GLsizei	imageSize = (int)SvIV(ST(8))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(9)))
;
#line 4135 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTextureImage3DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedTextureImage3DEXT, glCompressedTextureImage3DEXT)
  glCompressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedTextureImage3DEXT", )
#line 8813 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage1D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage1D_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "texture, level, xoffset, width, format, imageSize, data");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLsizei	imageSize = (int)SvIV(ST(5))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(6)))
;
#line 4151 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTextureSubImage1D", )
  OGLM_AVAIL_CHECK(__glewCompressedTextureSubImage1D, glCompressedTextureSubImage1D)
  glCompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTextureSubImage1D", )
#line 8846 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage1DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage1DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, target, level, xoffset, width, format, imageSize, bits");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLenum	format = (int)SvIV(ST(5))
;
	GLsizei	imageSize = (int)SvIV(ST(6))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(7)))
;
#line 4168 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTextureSubImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedTextureSubImage1DEXT, glCompressedTextureSubImage1DEXT)
  glCompressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedTextureSubImage1DEXT", )
#line 8881 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage2D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage2D_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texture, level, xoffset, yoffset, width, height, format, imageSize, data");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLenum	format = (int)SvIV(ST(6))
;
	GLsizei	imageSize = (int)SvIV(ST(7))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(8)))
;
#line 4186 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTextureSubImage2D", )
  OGLM_AVAIL_CHECK(__glewCompressedTextureSubImage2D, glCompressedTextureSubImage2D)
  glCompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTextureSubImage2D", )
#line 8918 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage2DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage2DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLenum	format = (int)SvIV(ST(7))
;
	GLsizei	imageSize = (int)SvIV(ST(8))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(9)))
;
#line 4205 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTextureSubImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedTextureSubImage2DEXT, glCompressedTextureSubImage2DEXT)
  glCompressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedTextureSubImage2DEXT", )
#line 8957 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage3D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage3D_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLsizei	imageSize = (int)SvIV(ST(9))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(10)))
;
#line 4225 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTextureSubImage3D", )
  OGLM_AVAIL_CHECK(__glewCompressedTextureSubImage3D, glCompressedTextureSubImage3D)
  glCompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
  OGLM_CHECK_ERR("glCompressedTextureSubImage3D", )
#line 8998 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage3DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCompressedTextureSubImage3DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLint	zoffset = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLsizei	height = (int)SvIV(ST(7))
;
	GLsizei	depth = (int)SvIV(ST(8))
;
	GLenum	format = (int)SvIV(ST(9))
;
	GLsizei	imageSize = (int)SvIV(ST(10))
;
	const void *	bits = INT2PTR(const void *,SvIV(ST(11)))
;
#line 4246 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCompressedTextureSubImage3DEXT", )
  OGLM_AVAIL_CHECK(__glewCompressedTextureSubImage3DEXT, glCompressedTextureSubImage3DEXT)
  glCompressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);
  OGLM_CHECK_ERR("glCompressedTextureSubImage3DEXT", )
#line 9041 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glConservativeRasterParameterfNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glConservativeRasterParameterfNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, value");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	value = (float)SvNV(ST(1))
;
#line 4257 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glConservativeRasterParameterfNV", )
  OGLM_AVAIL_CHECK(__glewConservativeRasterParameterfNV, glConservativeRasterParameterfNV)
  glConservativeRasterParameterfNV(pname, value);
  OGLM_CHECK_ERR("glConservativeRasterParameterfNV", )
#line 9064 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glConservativeRasterParameteriNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glConservativeRasterParameteriNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 4268 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glConservativeRasterParameteriNV", )
  OGLM_AVAIL_CHECK(__glewConservativeRasterParameteriNV, glConservativeRasterParameteriNV)
  glConservativeRasterParameteriNV(pname, param);
  OGLM_CHECK_ERR("glConservativeRasterParameteriNV", )
#line 9087 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glConvolutionFilter1D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glConvolutionFilter1D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "target, internalformat, width, format, type, image");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLenum	format = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	const void *	image = INT2PTR(const void *,SvIV(ST(5)))
;
#line 4285 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glConvolutionFilter1D", )
  OGLM_AVAIL_CHECK(__glewConvolutionFilter1D, glConvolutionFilter1D)
  glConvolutionFilter1D(target, internalformat, width, format, type, image);
  OGLM_CHECK_ERR("glConvolutionFilter1D", )
#line 9119 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glConvolutionFilter2D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glConvolutionFilter2D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 7)
       croak_xs_usage(cv,  "target, internalformat, width, height, format, type, image");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLenum	type = (int)SvIV(ST(5))
;
	const void *	image = INT2PTR(const void *,SvIV(ST(6)))
;
#line 4303 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glConvolutionFilter2D", )
  OGLM_AVAIL_CHECK(__glewConvolutionFilter2D, glConvolutionFilter2D)
  glConvolutionFilter2D(target, internalformat, width, height, format, type, image);
  OGLM_CHECK_ERR("glConvolutionFilter2D", )
#line 9153 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameterf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameterf)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	params = (float)SvNV(ST(2))
;
#line 4317 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glConvolutionParameterf", )
  OGLM_AVAIL_CHECK(__glewConvolutionParameterf, glConvolutionParameterf)
  glConvolutionParameterf(target, pname, params);
  OGLM_CHECK_ERR("glConvolutionParameterf", )
#line 9179 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameterfv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat *	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 4331 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glConvolutionParameterfv", )
  OGLM_AVAIL_CHECK(__glewConvolutionParameterfv, glConvolutionParameterfv)
  glConvolutionParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glConvolutionParameterfv", )
#line 9205 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameterfv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 4344 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glConvolutionParameterfv", )
  OGLM_AVAIL_CHECK(__glewConvolutionParameterfv, glConvolutionParameterfv)
  OGLM_SIZE_ENUM(ConvolutionParameter,pname,1)
  GLfloat *params = OGLM_GET_VARARGS(params,2,GLfloat,NV,pname_count);
  glConvolutionParameterfv((GLenum )target, (GLenum )pname, (const GLfloat *)params);
  OGLM_CHECK_ERR("glConvolutionParameterfv", free(params);)
  free(params);
#line 9232 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameteri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameteri)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	params = (int)SvIV(ST(2))
;
#line 4361 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glConvolutionParameteri", )
  OGLM_AVAIL_CHECK(__glewConvolutionParameteri, glConvolutionParameteri)
  glConvolutionParameteri(target, pname, params);
  OGLM_CHECK_ERR("glConvolutionParameteri", )
#line 9258 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameteriv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 4375 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glConvolutionParameteriv", )
  OGLM_AVAIL_CHECK(__glewConvolutionParameteriv, glConvolutionParameteriv)
  glConvolutionParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glConvolutionParameteriv", )
#line 9284 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glConvolutionParameteriv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 4388 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glConvolutionParameteriv", )
  OGLM_AVAIL_CHECK(__glewConvolutionParameteriv, glConvolutionParameteriv)
  OGLM_SIZE_ENUM(ConvolutionParameter,pname,1)
  GLint *params = OGLM_GET_VARARGS(params,2,GLint,IV,pname_count);
  glConvolutionParameteriv((GLenum )target, (GLenum )pname, (const GLint *)params);
  OGLM_CHECK_ERR("glConvolutionParameteriv", free(params);)
  free(params);
#line 9311 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyBufferSubData); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyBufferSubData)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "readTarget, writeTarget, readOffset, writeOffset, size");
    {
	GLenum	readTarget = (int)SvIV(ST(0))
;
	GLenum	writeTarget = (int)SvIV(ST(1))
;
	GLintptr	readOffset = (unsigned int)SvUV(ST(2))
;
	GLintptr	writeOffset = (unsigned int)SvUV(ST(3))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(4))
;
#line 4407 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyBufferSubData", )
  OGLM_AVAIL_CHECK(__glewCopyBufferSubData, glCopyBufferSubData)
  glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
  OGLM_CHECK_ERR("glCopyBufferSubData", )
#line 9341 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyColorSubTable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyColorSubTable)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, start, x, y, width");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	start = (int)SvIV(ST(1))
;
	GLint	x = (int)SvIV(ST(2))
;
	GLint	y = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
#line 4423 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyColorSubTable", )
  OGLM_AVAIL_CHECK(__glewCopyColorSubTable, glCopyColorSubTable)
  glCopyColorSubTable(target, start, x, y, width);
  OGLM_CHECK_ERR("glCopyColorSubTable", )
#line 9371 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyColorTable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyColorTable)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, internalformat, x, y, width");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLint	x = (int)SvIV(ST(2))
;
	GLint	y = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
#line 4439 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyColorTable", )
  OGLM_AVAIL_CHECK(__glewCopyColorTable, glCopyColorTable)
  glCopyColorTable(target, internalformat, x, y, width);
  OGLM_CHECK_ERR("glCopyColorTable", )
#line 9401 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyConvolutionFilter1D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyConvolutionFilter1D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, internalformat, x, y, width");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLint	x = (int)SvIV(ST(2))
;
	GLint	y = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
#line 4455 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyConvolutionFilter1D", )
  OGLM_AVAIL_CHECK(__glewCopyConvolutionFilter1D, glCopyConvolutionFilter1D)
  glCopyConvolutionFilter1D(target, internalformat, x, y, width);
  OGLM_CHECK_ERR("glCopyConvolutionFilter1D", )
#line 9431 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyConvolutionFilter2D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyConvolutionFilter2D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "target, internalformat, x, y, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLint	x = (int)SvIV(ST(2))
;
	GLint	y = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
#line 4472 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyConvolutionFilter2D", )
  OGLM_AVAIL_CHECK(__glewCopyConvolutionFilter2D, glCopyConvolutionFilter2D)
  glCopyConvolutionFilter2D(target, internalformat, x, y, width, height);
  OGLM_CHECK_ERR("glCopyConvolutionFilter2D", )
#line 9463 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyImageSubData); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyImageSubData)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 15)
       croak_xs_usage(cv,  "srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth");
    {
	GLuint	srcName = (unsigned int)SvUV(ST(0))
;
	GLenum	srcTarget = (int)SvIV(ST(1))
;
	GLint	srcLevel = (int)SvIV(ST(2))
;
	GLint	srcX = (int)SvIV(ST(3))
;
	GLint	srcY = (int)SvIV(ST(4))
;
	GLint	srcZ = (int)SvIV(ST(5))
;
	GLuint	dstName = (unsigned int)SvUV(ST(6))
;
	GLenum	dstTarget = (int)SvIV(ST(7))
;
	GLint	dstLevel = (int)SvIV(ST(8))
;
	GLint	dstX = (int)SvIV(ST(9))
;
	GLint	dstY = (int)SvIV(ST(10))
;
	GLint	dstZ = (int)SvIV(ST(11))
;
	GLsizei	srcWidth = (int)SvIV(ST(12))
;
	GLsizei	srcHeight = (int)SvIV(ST(13))
;
	GLsizei	srcDepth = (int)SvIV(ST(14))
;
#line 4498 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyImageSubData", )
  OGLM_AVAIL_CHECK(__glewCopyImageSubData, glCopyImageSubData)
  glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
  OGLM_CHECK_ERR("glCopyImageSubData", )
#line 9513 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyImageSubDataNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyImageSubDataNV)
{
    dVAR; dXSARGS;
    if (items != 15)
       croak_xs_usage(cv,  "srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth");
    {
	GLuint	srcName = (unsigned int)SvUV(ST(0))
;
	GLenum	srcTarget = (int)SvIV(ST(1))
;
	GLint	srcLevel = (int)SvIV(ST(2))
;
	GLint	srcX = (int)SvIV(ST(3))
;
	GLint	srcY = (int)SvIV(ST(4))
;
	GLint	srcZ = (int)SvIV(ST(5))
;
	GLuint	dstName = (unsigned int)SvUV(ST(6))
;
	GLenum	dstTarget = (int)SvIV(ST(7))
;
	GLint	dstLevel = (int)SvIV(ST(8))
;
	GLint	dstX = (int)SvIV(ST(9))
;
	GLint	dstY = (int)SvIV(ST(10))
;
	GLint	dstZ = (int)SvIV(ST(11))
;
	GLsizei	width = (int)SvIV(ST(12))
;
	GLsizei	height = (int)SvIV(ST(13))
;
	GLsizei	depth = (int)SvIV(ST(14))
;
#line 4522 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyImageSubDataNV", )
  OGLM_AVAIL_CHECK(__glewCopyImageSubDataNV, glCopyImageSubDataNV)
  glCopyImageSubDataNV(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth);
  OGLM_CHECK_ERR("glCopyImageSubDataNV", )
#line 9562 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyImageSubDataOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyImageSubDataOES)
{
    dVAR; dXSARGS;
    if (items != 15)
       croak_xs_usage(cv,  "srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth");
    {
	GLuint	srcName = (unsigned int)SvUV(ST(0))
;
	GLenum	srcTarget = (int)SvIV(ST(1))
;
	GLint	srcLevel = (int)SvIV(ST(2))
;
	GLint	srcX = (int)SvIV(ST(3))
;
	GLint	srcY = (int)SvIV(ST(4))
;
	GLint	srcZ = (int)SvIV(ST(5))
;
	GLuint	dstName = (unsigned int)SvUV(ST(6))
;
	GLenum	dstTarget = (int)SvIV(ST(7))
;
	GLint	dstLevel = (int)SvIV(ST(8))
;
	GLint	dstX = (int)SvIV(ST(9))
;
	GLint	dstY = (int)SvIV(ST(10))
;
	GLint	dstZ = (int)SvIV(ST(11))
;
	GLsizei	srcWidth = (int)SvIV(ST(12))
;
	GLsizei	srcHeight = (int)SvIV(ST(13))
;
	GLsizei	srcDepth = (int)SvIV(ST(14))
;
#line 4546 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyImageSubDataOES", )
  OGLM_AVAIL_CHECK(__glewCopyImageSubDataOES, glCopyImageSubDataOES)
  glCopyImageSubDataOES(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
  OGLM_CHECK_ERR("glCopyImageSubDataOES", )
#line 9611 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyMultiTexImage1DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyMultiTexImage1DEXT)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texunit, target, level, internalformat, x, y, width, border");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLint	x = (int)SvIV(ST(4))
;
	GLint	y = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLint	border = (int)SvIV(ST(7))
;
#line 4563 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyMultiTexImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewCopyMultiTexImage1DEXT, glCopyMultiTexImage1DEXT)
  glCopyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border);
  OGLM_CHECK_ERR("glCopyMultiTexImage1DEXT", )
#line 9646 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyMultiTexImage2DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyMultiTexImage2DEXT)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texunit, target, level, internalformat, x, y, width, height, border");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLint	x = (int)SvIV(ST(4))
;
	GLint	y = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLsizei	height = (int)SvIV(ST(7))
;
	GLint	border = (int)SvIV(ST(8))
;
#line 4581 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyMultiTexImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewCopyMultiTexImage2DEXT, glCopyMultiTexImage2DEXT)
  glCopyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border);
  OGLM_CHECK_ERR("glCopyMultiTexImage2DEXT", )
#line 9683 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyMultiTexSubImage1DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyMultiTexSubImage1DEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "texunit, target, level, xoffset, x, y, width");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	x = (int)SvIV(ST(4))
;
	GLint	y = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
#line 4597 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyMultiTexSubImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewCopyMultiTexSubImage1DEXT, glCopyMultiTexSubImage1DEXT)
  glCopyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width);
  OGLM_CHECK_ERR("glCopyMultiTexSubImage1DEXT", )
#line 9716 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyMultiTexSubImage2DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyMultiTexSubImage2DEXT)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texunit, target, level, xoffset, yoffset, x, y, width, height");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLint	x = (int)SvIV(ST(5))
;
	GLint	y = (int)SvIV(ST(6))
;
	GLsizei	width = (int)SvIV(ST(7))
;
	GLsizei	height = (int)SvIV(ST(8))
;
#line 4615 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyMultiTexSubImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewCopyMultiTexSubImage2DEXT, glCopyMultiTexSubImage2DEXT)
  glCopyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height);
  OGLM_CHECK_ERR("glCopyMultiTexSubImage2DEXT", )
#line 9753 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyMultiTexSubImage3DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyMultiTexSubImage3DEXT)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLint	zoffset = (int)SvIV(ST(5))
;
	GLint	x = (int)SvIV(ST(6))
;
	GLint	y = (int)SvIV(ST(7))
;
	GLsizei	width = (int)SvIV(ST(8))
;
	GLsizei	height = (int)SvIV(ST(9))
;
#line 4634 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyMultiTexSubImage3DEXT", )
  OGLM_AVAIL_CHECK(__glewCopyMultiTexSubImage3DEXT, glCopyMultiTexSubImage3DEXT)
  glCopyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height);
  OGLM_CHECK_ERR("glCopyMultiTexSubImage3DEXT", )
#line 9792 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyNamedBufferSubData); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyNamedBufferSubData)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "readBuffer, writeBuffer, readOffset, writeOffset, size");
    {
	GLuint	readBuffer = (unsigned int)SvUV(ST(0))
;
	GLuint	writeBuffer = (unsigned int)SvUV(ST(1))
;
	GLintptr	readOffset = (unsigned int)SvUV(ST(2))
;
	GLintptr	writeOffset = (unsigned int)SvUV(ST(3))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(4))
;
#line 4648 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyNamedBufferSubData", )
  OGLM_AVAIL_CHECK(__glewCopyNamedBufferSubData, glCopyNamedBufferSubData)
  glCopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size);
  OGLM_CHECK_ERR("glCopyNamedBufferSubData", )
#line 9821 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyPathNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyPathNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "resultPath, srcPath");
    {
	GLuint	resultPath = (unsigned int)SvUV(ST(0))
;
	GLuint	srcPath = (unsigned int)SvUV(ST(1))
;
#line 4659 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyPathNV", )
  OGLM_AVAIL_CHECK(__glewCopyPathNV, glCopyPathNV)
  glCopyPathNV(resultPath, srcPath);
  OGLM_CHECK_ERR("glCopyPathNV", )
#line 9844 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyPixels); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyPixels)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "x, y, width, height, type");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
#line 4673 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyPixels", )
  glCopyPixels(x, y, width, height, type);
  OGLM_CHECK_ERR("glCopyPixels", )
#line 9872 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTexImage1D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTexImage1D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 7)
       croak_xs_usage(cv,  "target, level, internalformat, x, y, width, border");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLint	x = (int)SvIV(ST(3))
;
	GLint	y = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLint	border = (int)SvIV(ST(6))
;
#line 4690 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTexImage1D", )
  glCopyTexImage1D(target, level, internalformat, x, y, width, border);
  OGLM_CHECK_ERR("glCopyTexImage1D", )
#line 9905 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTexImage2D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTexImage2D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 8)
       croak_xs_usage(cv,  "target, level, internalformat, x, y, width, height, border");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLint	x = (int)SvIV(ST(3))
;
	GLint	y = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLint	border = (int)SvIV(ST(7))
;
#line 4708 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTexImage2D", )
  glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);
  OGLM_CHECK_ERR("glCopyTexImage2D", )
#line 9940 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTexSubImage1D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTexSubImage1D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "target, level, xoffset, x, y, width");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	x = (int)SvIV(ST(3))
;
	GLint	y = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
#line 4724 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTexSubImage1D", )
  glCopyTexSubImage1D(target, level, xoffset, x, y, width);
  OGLM_CHECK_ERR("glCopyTexSubImage1D", )
#line 9971 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTexSubImage2D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTexSubImage2D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 8)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, x, y, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	x = (int)SvIV(ST(4))
;
	GLint	y = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLsizei	height = (int)SvIV(ST(7))
;
#line 4742 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTexSubImage2D", )
  glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
  OGLM_CHECK_ERR("glCopyTexSubImage2D", )
#line 10006 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTexSubImage3D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTexSubImage3D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 9)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, x, y, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLint	x = (int)SvIV(ST(5))
;
	GLint	y = (int)SvIV(ST(6))
;
	GLsizei	width = (int)SvIV(ST(7))
;
	GLsizei	height = (int)SvIV(ST(8))
;
#line 4761 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTexSubImage3D", )
  OGLM_AVAIL_CHECK(__glewCopyTexSubImage3D, glCopyTexSubImage3D)
  glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
  OGLM_CHECK_ERR("glCopyTexSubImage3D", )
#line 10044 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTexSubImage3DNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTexSubImage3DNV)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, x, y, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLint	x = (int)SvIV(ST(5))
;
	GLint	y = (int)SvIV(ST(6))
;
	GLsizei	width = (int)SvIV(ST(7))
;
	GLsizei	height = (int)SvIV(ST(8))
;
#line 4779 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTexSubImage3DNV", )
  OGLM_AVAIL_CHECK(__glewCopyTexSubImage3DNV, glCopyTexSubImage3DNV)
  glCopyTexSubImage3DNV(target, level, xoffset, yoffset, zoffset, x, y, width, height);
  OGLM_CHECK_ERR("glCopyTexSubImage3DNV", )
#line 10081 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTexSubImage3DOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTexSubImage3DOES)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, x, y, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLint	x = (int)SvIV(ST(5))
;
	GLint	y = (int)SvIV(ST(6))
;
	GLsizei	width = (int)SvIV(ST(7))
;
	GLsizei	height = (int)SvIV(ST(8))
;
#line 4797 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTexSubImage3DOES", )
  OGLM_AVAIL_CHECK(__glewCopyTexSubImage3DOES, glCopyTexSubImage3DOES)
  glCopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height);
  OGLM_CHECK_ERR("glCopyTexSubImage3DOES", )
#line 10118 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTextureImage1DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTextureImage1DEXT)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, target, level, internalformat, x, y, width, border");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLint	x = (int)SvIV(ST(4))
;
	GLint	y = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLint	border = (int)SvIV(ST(7))
;
#line 4814 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTextureImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewCopyTextureImage1DEXT, glCopyTextureImage1DEXT)
  glCopyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border);
  OGLM_CHECK_ERR("glCopyTextureImage1DEXT", )
#line 10153 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTextureImage2DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTextureImage2DEXT)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texture, target, level, internalformat, x, y, width, height, border");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLint	x = (int)SvIV(ST(4))
;
	GLint	y = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLsizei	height = (int)SvIV(ST(7))
;
	GLint	border = (int)SvIV(ST(8))
;
#line 4832 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTextureImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewCopyTextureImage2DEXT, glCopyTextureImage2DEXT)
  glCopyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border);
  OGLM_CHECK_ERR("glCopyTextureImage2DEXT", )
#line 10190 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTextureLevelsAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTextureLevelsAPPLE)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "destinationTexture, sourceTexture, sourceBaseLevel, sourceLevelCount");
    {
	GLuint	destinationTexture = (unsigned int)SvUV(ST(0))
;
	GLuint	sourceTexture = (unsigned int)SvUV(ST(1))
;
	GLint	sourceBaseLevel = (int)SvIV(ST(2))
;
	GLsizei	sourceLevelCount = (int)SvIV(ST(3))
;
#line 4845 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTextureLevelsAPPLE", )
  OGLM_AVAIL_CHECK(__glewCopyTextureLevelsAPPLE, glCopyTextureLevelsAPPLE)
  glCopyTextureLevelsAPPLE(destinationTexture, sourceTexture, sourceBaseLevel, sourceLevelCount);
  OGLM_CHECK_ERR("glCopyTextureLevelsAPPLE", )
#line 10217 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage1D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage1D)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "texture, level, xoffset, x, y, width");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	x = (int)SvIV(ST(3))
;
	GLint	y = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
#line 4860 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTextureSubImage1D", )
  OGLM_AVAIL_CHECK(__glewCopyTextureSubImage1D, glCopyTextureSubImage1D)
  glCopyTextureSubImage1D(texture, level, xoffset, x, y, width);
  OGLM_CHECK_ERR("glCopyTextureSubImage1D", )
#line 10248 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage1DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage1DEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "texture, target, level, xoffset, x, y, width");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	x = (int)SvIV(ST(4))
;
	GLint	y = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
#line 4876 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTextureSubImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewCopyTextureSubImage1DEXT, glCopyTextureSubImage1DEXT)
  glCopyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width);
  OGLM_CHECK_ERR("glCopyTextureSubImage1DEXT", )
#line 10281 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage2D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage2D)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, level, xoffset, yoffset, x, y, width, height");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	x = (int)SvIV(ST(4))
;
	GLint	y = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLsizei	height = (int)SvIV(ST(7))
;
#line 4893 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTextureSubImage2D", )
  OGLM_AVAIL_CHECK(__glewCopyTextureSubImage2D, glCopyTextureSubImage2D)
  glCopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height);
  OGLM_CHECK_ERR("glCopyTextureSubImage2D", )
#line 10316 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage2DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage2DEXT)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texture, target, level, xoffset, yoffset, x, y, width, height");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLint	x = (int)SvIV(ST(5))
;
	GLint	y = (int)SvIV(ST(6))
;
	GLsizei	width = (int)SvIV(ST(7))
;
	GLsizei	height = (int)SvIV(ST(8))
;
#line 4911 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTextureSubImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewCopyTextureSubImage2DEXT, glCopyTextureSubImage2DEXT)
  glCopyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height);
  OGLM_CHECK_ERR("glCopyTextureSubImage2DEXT", )
#line 10353 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage3D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage3D)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texture, level, xoffset, yoffset, zoffset, x, y, width, height");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLint	x = (int)SvIV(ST(5))
;
	GLint	y = (int)SvIV(ST(6))
;
	GLsizei	width = (int)SvIV(ST(7))
;
	GLsizei	height = (int)SvIV(ST(8))
;
#line 4929 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTextureSubImage3D", )
  OGLM_AVAIL_CHECK(__glewCopyTextureSubImage3D, glCopyTextureSubImage3D)
  glCopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height);
  OGLM_CHECK_ERR("glCopyTextureSubImage3D", )
#line 10390 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage3DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCopyTextureSubImage3DEXT)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "texture, target, level, xoffset, yoffset, zoffset, x, y, width, height");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLint	zoffset = (int)SvIV(ST(5))
;
	GLint	x = (int)SvIV(ST(6))
;
	GLint	y = (int)SvIV(ST(7))
;
	GLsizei	width = (int)SvIV(ST(8))
;
	GLsizei	height = (int)SvIV(ST(9))
;
#line 4948 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCopyTextureSubImage3DEXT", )
  OGLM_AVAIL_CHECK(__glewCopyTextureSubImage3DEXT, glCopyTextureSubImage3DEXT)
  glCopyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height);
  OGLM_CHECK_ERR("glCopyTextureSubImage3DEXT", )
#line 10429 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCoverFillPathInstancedNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCoverFillPathInstancedNV_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues");
    {
	GLsizei	numPaths = (int)SvIV(ST(0))
;
	GLenum	pathNameType = (int)SvIV(ST(1))
;
	const void *	paths = INT2PTR(const void *,SvIV(ST(2)))
;
	GLuint	pathBase = (unsigned int)SvUV(ST(3))
;
	GLenum	coverMode = (int)SvIV(ST(4))
;
	GLenum	transformType = (int)SvIV(ST(5))
;
	const GLfloat *	transformValues = INT2PTR(const GLfloat *,SvIV(ST(6)))
;
#line 4964 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCoverFillPathInstancedNV", )
  OGLM_AVAIL_CHECK(__glewCoverFillPathInstancedNV, glCoverFillPathInstancedNV)
  glCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues);
  OGLM_CHECK_ERR("glCoverFillPathInstancedNV", )
#line 10462 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCoverFillPathNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCoverFillPathNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "path, coverMode");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	coverMode = (int)SvIV(ST(1))
;
#line 4975 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCoverFillPathNV", )
  OGLM_AVAIL_CHECK(__glewCoverFillPathNV, glCoverFillPathNV)
  glCoverFillPathNV(path, coverMode);
  OGLM_CHECK_ERR("glCoverFillPathNV", )
#line 10485 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCoverStrokePathInstancedNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCoverStrokePathInstancedNV_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues");
    {
	GLsizei	numPaths = (int)SvIV(ST(0))
;
	GLenum	pathNameType = (int)SvIV(ST(1))
;
	const void *	paths = INT2PTR(const void *,SvIV(ST(2)))
;
	GLuint	pathBase = (unsigned int)SvUV(ST(3))
;
	GLenum	coverMode = (int)SvIV(ST(4))
;
	GLenum	transformType = (int)SvIV(ST(5))
;
	const GLfloat *	transformValues = INT2PTR(const GLfloat *,SvIV(ST(6)))
;
#line 4991 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCoverStrokePathInstancedNV", )
  OGLM_AVAIL_CHECK(__glewCoverStrokePathInstancedNV, glCoverStrokePathInstancedNV)
  glCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues);
  OGLM_CHECK_ERR("glCoverStrokePathInstancedNV", )
#line 10518 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCoverStrokePathNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCoverStrokePathNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "path, coverMode");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	coverMode = (int)SvIV(ST(1))
;
#line 5002 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCoverStrokePathNV", )
  OGLM_AVAIL_CHECK(__glewCoverStrokePathNV, glCoverStrokePathNV)
  glCoverStrokePathNV(path, coverMode);
  OGLM_CHECK_ERR("glCoverStrokePathNV", )
#line 10541 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCoverageModulationNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCoverageModulationNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "components");
    {
	GLenum	components = (int)SvIV(ST(0))
;
#line 5012 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCoverageModulationNV", )
  OGLM_AVAIL_CHECK(__glewCoverageModulationNV, glCoverageModulationNV)
  glCoverageModulationNV(components);
  OGLM_CHECK_ERR("glCoverageModulationNV", )
#line 10562 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCoverageModulationTableNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCoverageModulationTableNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, v");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 5023 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCoverageModulationTableNV", )
  OGLM_AVAIL_CHECK(__glewCoverageModulationTableNV, glCoverageModulationTableNV)
  glCoverageModulationTableNV(n, v);
  OGLM_CHECK_ERR("glCoverageModulationTableNV", )
#line 10585 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCoverageModulationTableNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCoverageModulationTableNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 5032 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCoverageModulationTableNV", )
  OGLM_AVAIL_CHECK(__glewCoverageModulationTableNV, glCoverageModulationTableNV)
  GLsizei n = items;
  GLfloat* v = OGLM_GET_VARARGS(v,0,GLfloat,NV,n);
  glCoverageModulationTableNV((GLsizei )n, (const GLfloat* )v);
  OGLM_CHECK_ERR("glCoverageModulationTableNV", free(v);)
  free(v);
#line 10607 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateBuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateBuffers_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, buffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	buffers = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5046 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateBuffers", )
  OGLM_AVAIL_CHECK(__glewCreateBuffers, glCreateBuffers)
  glCreateBuffers(n, buffers);
  OGLM_CHECK_ERR("glCreateBuffers", )
#line 10630 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateBuffers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateBuffers_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 5056 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateBuffers", )
  OGLM_AVAIL_CHECK(__glewCreateBuffers, glCreateBuffers)
  GLuint* buffers = OGLM_ALLOC(n,GLuint,buffers);
  glCreateBuffers(n, buffers);
  OGLM_CHECK_ERR("glCreateBuffers", free(buffers);)
  OGLM_OUT_FINISH(buffers,n,newSVuv)
  free(buffers);
#line 10656 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCreateCommandListsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateCommandListsNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, lists");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	lists = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5070 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateCommandListsNV", )
  OGLM_AVAIL_CHECK(__glewCreateCommandListsNV, glCreateCommandListsNV)
  glCreateCommandListsNV(n, lists);
  OGLM_CHECK_ERR("glCreateCommandListsNV", )
#line 10680 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateCommandListsNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateCommandListsNV_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 5080 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateCommandListsNV", )
  OGLM_AVAIL_CHECK(__glewCreateCommandListsNV, glCreateCommandListsNV)
  GLuint* lists = OGLM_ALLOC(n,GLuint,lists);
  glCreateCommandListsNV(n, lists);
  OGLM_CHECK_ERR("glCreateCommandListsNV", free(lists);)
  OGLM_OUT_FINISH(lists,n,newSVuv)
  free(lists);
#line 10706 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCreateFramebuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateFramebuffers_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, framebuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	framebuffers = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5094 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateFramebuffers", )
  OGLM_AVAIL_CHECK(__glewCreateFramebuffers, glCreateFramebuffers)
  glCreateFramebuffers(n, framebuffers);
  OGLM_CHECK_ERR("glCreateFramebuffers", )
#line 10730 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateFramebuffers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateFramebuffers_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 5104 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateFramebuffers", )
  OGLM_AVAIL_CHECK(__glewCreateFramebuffers, glCreateFramebuffers)
  GLuint* framebuffers = OGLM_ALLOC(n,GLuint,framebuffers);
  glCreateFramebuffers(n, framebuffers);
  OGLM_CHECK_ERR("glCreateFramebuffers", free(framebuffers);)
  OGLM_OUT_FINISH(framebuffers,n,newSVuv)
  free(framebuffers);
#line 10756 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCreateMemoryObjectsEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateMemoryObjectsEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, memoryObjects");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	memoryObjects = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5118 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateMemoryObjectsEXT", )
  OGLM_AVAIL_CHECK(__glewCreateMemoryObjectsEXT, glCreateMemoryObjectsEXT)
  glCreateMemoryObjectsEXT(n, memoryObjects);
  OGLM_CHECK_ERR("glCreateMemoryObjectsEXT", )
#line 10780 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreatePerfQueryINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreatePerfQueryINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "queryId, queryHandle");
    {
	GLuint	queryId = (unsigned int)SvUV(ST(0))
;
	GLuint*	queryHandle = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5129 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreatePerfQueryINTEL", )
  OGLM_AVAIL_CHECK(__glewCreatePerfQueryINTEL, glCreatePerfQueryINTEL)
  glCreatePerfQueryINTEL(queryId, queryHandle);
  OGLM_CHECK_ERR("glCreatePerfQueryINTEL", )
#line 10803 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateProgram); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateProgram)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	GLuint	RETVAL;
	dXSTARG;
#line 5140 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateProgram", )
  OGLM_AVAIL_CHECK(__glewCreateProgram, glCreateProgram)
  RETVAL = glCreateProgram();
  OGLM_CHECK_ERR("glCreateProgram", )
#line 10825 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glCreateProgramPipelines_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateProgramPipelines_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, pipelines");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	pipelines = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5153 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateProgramPipelines", )
  OGLM_AVAIL_CHECK(__glewCreateProgramPipelines, glCreateProgramPipelines)
  glCreateProgramPipelines(n, pipelines);
  OGLM_CHECK_ERR("glCreateProgramPipelines", )
#line 10850 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateProgramPipelines_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateProgramPipelines_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 5163 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateProgramPipelines", )
  OGLM_AVAIL_CHECK(__glewCreateProgramPipelines, glCreateProgramPipelines)
  GLuint* pipelines = OGLM_ALLOC(n,GLuint,pipelines);
  glCreateProgramPipelines(n, pipelines);
  OGLM_CHECK_ERR("glCreateProgramPipelines", free(pipelines);)
  OGLM_OUT_FINISH(pipelines,n,newSVuv)
  free(pipelines);
#line 10876 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCreateProgressFenceNVX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateProgressFenceNVX)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	GLuint	RETVAL;
	dXSTARG;
#line 5175 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateProgressFenceNVX", )
  OGLM_AVAIL_CHECK(__glewCreateProgressFenceNVX, glCreateProgressFenceNVX)
  RETVAL = glCreateProgressFenceNVX();
  OGLM_CHECK_ERR("glCreateProgressFenceNVX", )
#line 10898 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glCreateQueries_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateQueries_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, n, ids");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
	GLuint*	ids = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 5189 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateQueries", )
  OGLM_AVAIL_CHECK(__glewCreateQueries, glCreateQueries)
  glCreateQueries(target, n, ids);
  OGLM_CHECK_ERR("glCreateQueries", )
#line 10925 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateQueries_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateQueries_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
#line 5200 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateQueries", )
  OGLM_AVAIL_CHECK(__glewCreateQueries, glCreateQueries)
  GLuint* ids = OGLM_ALLOC(n,GLuint,ids);
  glCreateQueries(target, n, ids);
  OGLM_CHECK_ERR("glCreateQueries", free(ids);)
  OGLM_OUT_FINISH(ids,n,newSVuv)
  free(ids);
#line 10953 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCreateRenderbuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateRenderbuffers_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, renderbuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	renderbuffers = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5214 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateRenderbuffers", )
  OGLM_AVAIL_CHECK(__glewCreateRenderbuffers, glCreateRenderbuffers)
  glCreateRenderbuffers(n, renderbuffers);
  OGLM_CHECK_ERR("glCreateRenderbuffers", )
#line 10977 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateRenderbuffers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateRenderbuffers_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 5224 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateRenderbuffers", )
  OGLM_AVAIL_CHECK(__glewCreateRenderbuffers, glCreateRenderbuffers)
  GLuint* renderbuffers = OGLM_ALLOC(n,GLuint,renderbuffers);
  glCreateRenderbuffers(n, renderbuffers);
  OGLM_CHECK_ERR("glCreateRenderbuffers", free(renderbuffers);)
  OGLM_OUT_FINISH(renderbuffers,n,newSVuv)
  free(renderbuffers);
#line 11003 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCreateSamplers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateSamplers_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, samplers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	samplers = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5238 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateSamplers", )
  OGLM_AVAIL_CHECK(__glewCreateSamplers, glCreateSamplers)
  glCreateSamplers(n, samplers);
  OGLM_CHECK_ERR("glCreateSamplers", )
#line 11027 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateSamplers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateSamplers_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 5248 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateSamplers", )
  OGLM_AVAIL_CHECK(__glewCreateSamplers, glCreateSamplers)
  GLuint* samplers = OGLM_ALLOC(n,GLuint,samplers);
  glCreateSamplers(n, samplers);
  OGLM_CHECK_ERR("glCreateSamplers", free(samplers);)
  OGLM_OUT_FINISH(samplers,n,newSVuv)
  free(samplers);
#line 11053 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCreateSemaphoresNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateSemaphoresNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, semaphores");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	semaphores = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5262 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateSemaphoresNV", )
  OGLM_AVAIL_CHECK(__glewCreateSemaphoresNV, glCreateSemaphoresNV)
  glCreateSemaphoresNV(n, semaphores);
  OGLM_CHECK_ERR("glCreateSemaphoresNV", )
#line 11077 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateSemaphoresNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateSemaphoresNV_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 5272 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateSemaphoresNV", )
  OGLM_AVAIL_CHECK(__glewCreateSemaphoresNV, glCreateSemaphoresNV)
  GLuint* semaphores = OGLM_ALLOC(n,GLuint,semaphores);
  glCreateSemaphoresNV(n, semaphores);
  OGLM_CHECK_ERR("glCreateSemaphoresNV", free(semaphores);)
  OGLM_OUT_FINISH(semaphores,n,newSVuv)
  free(semaphores);
#line 11103 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCreateShader); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateShader)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "type");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	RETVAL;
	dXSTARG;
#line 5287 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateShader", )
  OGLM_AVAIL_CHECK(__glewCreateShader, glCreateShader)
  RETVAL = glCreateShader(type);
  OGLM_CHECK_ERR("glCreateShader", )
#line 11128 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glCreateShaderProgramEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateShaderProgramEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, string");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLchar*	string = (const GLchar *)SvPV_nolen(ST(1))
;
	GLuint	RETVAL;
	dXSTARG;
#line 5300 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateShaderProgramEXT", )
  OGLM_AVAIL_CHECK(__glewCreateShaderProgramEXT, glCreateShaderProgramEXT)
  RETVAL = glCreateShaderProgramEXT(type, string);
  OGLM_CHECK_ERR("glCreateShaderProgramEXT", )
#line 11155 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glCreateShaderProgramv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateShaderProgramv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "type, count, strings");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLchar * const *	strings = (const GLchar * const *)SvPV_nolen(ST(2))
;
	GLuint	RETVAL;
	dXSTARG;
#line 5314 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateShaderProgramv", )
  OGLM_AVAIL_CHECK(__glewCreateShaderProgramv, glCreateShaderProgramv)
  RETVAL = glCreateShaderProgramv(type, count, strings);
  OGLM_CHECK_ERR("glCreateShaderProgramv", )
#line 11184 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glCreateShaderProgramv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateShaderProgramv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	RETVAL;
	dXSTARG;
#line 5326 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateShaderProgramv", )
  OGLM_AVAIL_CHECK(__glewCreateShaderProgramv, glCreateShaderProgramv)
  GLsizei count = items-1;
  GLchar * * strings = OGLM_GET_VARARGS(strings,1,GLchar*,PV_nolen,count);
  RETVAL = glCreateShaderProgramv((GLenum )type, (GLsizei )count, (const GLchar * const * )strings);
  OGLM_CHECK_ERR("glCreateShaderProgramv", free(strings);)
  free(strings);
#line 11212 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glCreateStatesNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateStatesNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, states");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	states = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5342 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateStatesNV", )
  OGLM_AVAIL_CHECK(__glewCreateStatesNV, glCreateStatesNV)
  glCreateStatesNV(n, states);
  OGLM_CHECK_ERR("glCreateStatesNV", )
#line 11237 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateStatesNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateStatesNV_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 5352 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateStatesNV", )
  OGLM_AVAIL_CHECK(__glewCreateStatesNV, glCreateStatesNV)
  GLuint* states = OGLM_ALLOC(n,GLuint,states);
  glCreateStatesNV(n, states);
  OGLM_CHECK_ERR("glCreateStatesNV", free(states);)
  OGLM_OUT_FINISH(states,n,newSVuv)
  free(states);
#line 11263 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCreateSyncFromCLeventARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateSyncFromCLeventARB)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "context, event, flags");
    {
	cl_context	context = INT2PTR(cl_context,SvIV(ST(0)))
;
	cl_event	event = INT2PTR(cl_event,SvIV(ST(1)))
;
	GLbitfield	flags = (int)SvIV(ST(2))
;
	GLsync	RETVAL;
	dXSTARG;
#line 5367 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateSyncFromCLeventARB", )
  OGLM_AVAIL_CHECK(__glewCreateSyncFromCLeventARB, glCreateSyncFromCLeventARB)
  RETVAL = glCreateSyncFromCLeventARB(context, event, flags);
  OGLM_CHECK_ERR("glCreateSyncFromCLeventARB", )
#line 11291 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glCreateTextures_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateTextures_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, n, textures");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
	GLuint*	textures = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 5381 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateTextures", )
  OGLM_AVAIL_CHECK(__glewCreateTextures, glCreateTextures)
  glCreateTextures(target, n, textures);
  OGLM_CHECK_ERR("glCreateTextures", )
#line 11318 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateTextures_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateTextures_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
#line 5392 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateTextures", )
  OGLM_AVAIL_CHECK(__glewCreateTextures, glCreateTextures)
  GLuint* textures = OGLM_ALLOC(n,GLuint,textures);
  glCreateTextures(target, n, textures);
  OGLM_CHECK_ERR("glCreateTextures", free(textures);)
  OGLM_OUT_FINISH(textures,n,newSVuv)
  free(textures);
#line 11346 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCreateTransformFeedbacks_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateTransformFeedbacks_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, ids");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	ids = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5406 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateTransformFeedbacks", )
  OGLM_AVAIL_CHECK(__glewCreateTransformFeedbacks, glCreateTransformFeedbacks)
  glCreateTransformFeedbacks(n, ids);
  OGLM_CHECK_ERR("glCreateTransformFeedbacks", )
#line 11370 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateTransformFeedbacks_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateTransformFeedbacks_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 5416 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateTransformFeedbacks", )
  OGLM_AVAIL_CHECK(__glewCreateTransformFeedbacks, glCreateTransformFeedbacks)
  GLuint* ids = OGLM_ALLOC(n,GLuint,ids);
  glCreateTransformFeedbacks(n, ids);
  OGLM_CHECK_ERR("glCreateTransformFeedbacks", free(ids);)
  OGLM_OUT_FINISH(ids,n,newSVuv)
  free(ids);
#line 11396 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCreateVertexArrays_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateVertexArrays_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, arrays");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	arrays = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5430 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateVertexArrays", )
  OGLM_AVAIL_CHECK(__glewCreateVertexArrays, glCreateVertexArrays)
  glCreateVertexArrays(n, arrays);
  OGLM_CHECK_ERR("glCreateVertexArrays", )
#line 11420 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCreateVertexArrays_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCreateVertexArrays_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 5440 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCreateVertexArrays", )
  OGLM_AVAIL_CHECK(__glewCreateVertexArrays, glCreateVertexArrays)
  GLuint* arrays = OGLM_ALLOC(n,GLuint,arrays);
  glCreateVertexArrays(n, arrays);
  OGLM_CHECK_ERR("glCreateVertexArrays", free(arrays);)
  OGLM_OUT_FINISH(arrays,n,newSVuv)
  free(arrays);
#line 11446 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCullFace); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCullFace)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 5453 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCullFace", )
  glCullFace(mode);
  OGLM_CHECK_ERR("glCullFace", )
#line 11467 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCullParameterdvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCullParameterdvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLdouble*	params = INT2PTR(GLdouble *,SvIV(ST(1)))
;
#line 5463 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCullParameterdvEXT", )
  OGLM_AVAIL_CHECK(__glewCullParameterdvEXT, glCullParameterdvEXT)
  glCullParameterdvEXT(pname, params);
  OGLM_CHECK_ERR("glCullParameterdvEXT", )
#line 11490 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCullParameterdvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCullParameterdvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 5473 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCullParameterdvEXT", )
  OGLM_AVAIL_CHECK(__glewCullParameterdvEXT, glCullParameterdvEXT)
  GLdouble* params = OGLM_ALLOC(4,GLdouble,params);
  glCullParameterdvEXT(pname, params);
  OGLM_CHECK_ERR("glCullParameterdvEXT", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 11516 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCullParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCullParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 5487 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCullParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewCullParameterfvEXT, glCullParameterfvEXT)
  glCullParameterfvEXT(pname, params);
  OGLM_CHECK_ERR("glCullParameterfvEXT", )
#line 11540 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCullParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCullParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 5497 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCullParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewCullParameterfvEXT, glCullParameterfvEXT)
  GLfloat* params = OGLM_ALLOC(4,GLfloat,params);
  glCullParameterfvEXT(pname, params);
  OGLM_CHECK_ERR("glCullParameterfvEXT", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 11566 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glCurrentPaletteMatrixARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCurrentPaletteMatrixARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "index");
    {
	GLint	index = (int)SvIV(ST(0))
;
#line 5510 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCurrentPaletteMatrixARB", )
  OGLM_AVAIL_CHECK(__glewCurrentPaletteMatrixARB, glCurrentPaletteMatrixARB)
  glCurrentPaletteMatrixARB(index);
  OGLM_CHECK_ERR("glCurrentPaletteMatrixARB", )
#line 11588 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glCurrentPaletteMatrixOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glCurrentPaletteMatrixOES)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "index");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 5520 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glCurrentPaletteMatrixOES", )
  OGLM_AVAIL_CHECK(__glewCurrentPaletteMatrixOES, glCurrentPaletteMatrixOES)
  glCurrentPaletteMatrixOES(index);
  OGLM_CHECK_ERR("glCurrentPaletteMatrixOES", )
#line 11609 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDataPipe); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDataPipe)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "space");
    {
	GLenum	space = (int)SvIV(ST(0))
;
	GLint	RETVAL;
	dXSTARG;
#line 5530 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDataPipe", )
  OGLM_AVAIL_CHECK(__glewDataPipe, glDataPipe)
  RETVAL = glDataPipe(space);
  OGLM_CHECK_ERR("glDataPipe", )
#line 11632 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glDebugMessageCallback_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDebugMessageCallback_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "callback, userParam");
    {
	GLDEBUGPROC	callback = INT2PTR(GLDEBUGPROC,SvIV(ST(0)))
;
	const void *	userParam = INT2PTR(const void *,SvIV(ST(1)))
;
#line 5546 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDebugMessageCallback", )
  OGLM_AVAIL_CHECK(__glewDebugMessageCallback, glDebugMessageCallback)
  glDebugMessageCallback(callback, userParam);
  OGLM_CHECK_ERR("glDebugMessageCallback", )
#line 11658 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDebugMessageCallbackAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDebugMessageCallbackAMD_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "callback, userParam");
    {
	GLDEBUGPROCAMD	callback = INT2PTR(GLDEBUGPROCAMD,SvIV(ST(0)))
;
	void *	userParam = INT2PTR(void *,SvIV(ST(1)))
;
#line 5557 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDebugMessageCallbackAMD", )
  OGLM_AVAIL_CHECK(__glewDebugMessageCallbackAMD, glDebugMessageCallbackAMD)
  glDebugMessageCallbackAMD(callback, userParam);
  OGLM_CHECK_ERR("glDebugMessageCallbackAMD", )
#line 11681 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDebugMessageControl_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDebugMessageControl_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "source, type, severity, count, ids, enabled");
    {
	GLenum	source = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLenum	severity = (int)SvIV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	const GLuint*	ids = INT2PTR(const GLuint *,SvIV(ST(4)))
;
	GLboolean	enabled = (int)SvIV(ST(5))
;
#line 5575 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDebugMessageControl", )
  OGLM_AVAIL_CHECK(__glewDebugMessageControl, glDebugMessageControl)
  glDebugMessageControl(source, type, severity, count, ids, enabled);
  OGLM_CHECK_ERR("glDebugMessageControl", )
#line 11713 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDebugMessageControl_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDebugMessageControl_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 4)
       croak_xs_usage(cv,  "source, type, severity, enabled, ...");
    {
	GLenum	source = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLenum	severity = (int)SvIV(ST(2))
;
	GLboolean	enabled = (int)SvIV(ST(3))
;
#line 5591 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDebugMessageControl", )
  OGLM_AVAIL_CHECK(__glewDebugMessageControl, glDebugMessageControl)
  GLsizei count = items-4;
  GLuint* ids = OGLM_GET_VARARGS(ids,4,GLuint,UV,count);
  glDebugMessageControl((GLenum )source, (GLenum )type, (GLenum )severity, (GLsizei )count, (const GLuint* )ids, (GLboolean )enabled);
  OGLM_CHECK_ERR("glDebugMessageControl", free(ids);)
  free(ids);
#line 11744 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDebugMessageEnableAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDebugMessageEnableAMD_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "category, severity, count, ids, enabled");
    {
	GLenum	category = (int)SvIV(ST(0))
;
	GLenum	severity = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint*	ids = INT2PTR(const GLuint *,SvIV(ST(3)))
;
	GLboolean	enabled = (int)SvIV(ST(4))
;
#line 5608 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDebugMessageEnableAMD", )
  OGLM_AVAIL_CHECK(__glewDebugMessageEnableAMD, glDebugMessageEnableAMD)
  glDebugMessageEnableAMD(category, severity, count, ids, enabled);
  OGLM_CHECK_ERR("glDebugMessageEnableAMD", )
#line 11773 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDebugMessageEnableAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDebugMessageEnableAMD_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "category, severity, enabled, ...");
    {
	GLenum	category = (int)SvIV(ST(0))
;
	GLenum	severity = (int)SvIV(ST(1))
;
	GLboolean	enabled = (int)SvIV(ST(2))
;
#line 5620 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDebugMessageEnableAMD", )
  OGLM_AVAIL_CHECK(__glewDebugMessageEnableAMD, glDebugMessageEnableAMD)
  GLsizei count = items-3;
  GLuint* ids = OGLM_GET_VARARGS(ids,3,GLuint,UV,count);
  glDebugMessageEnableAMD((GLenum )category, (GLenum )severity, (GLsizei )count, (const GLuint* )ids, (GLboolean )enabled);
  OGLM_CHECK_ERR("glDebugMessageEnableAMD", free(ids);)
  free(ids);
#line 11801 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDebugMessageInsert); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDebugMessageInsert)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "source, type, id, severity, length, buf");
    {
	GLenum	source = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLuint	id = (unsigned int)SvUV(ST(2))
;
	GLenum	severity = (int)SvIV(ST(3))
;
	GLsizei	length = (int)SvIV(ST(4))
;
	const GLchar*	buf = (const GLchar *)SvPV_nolen(ST(5))
;
#line 5641 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDebugMessageInsert", )
  OGLM_AVAIL_CHECK(__glewDebugMessageInsert, glDebugMessageInsert)
  glDebugMessageInsert(source, type, id, severity, length, buf);
  OGLM_CHECK_ERR("glDebugMessageInsert", )
#line 11833 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDebugMessageInsertAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDebugMessageInsertAMD)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "category, severity, id, length, buf");
    {
	GLenum	category = (int)SvIV(ST(0))
;
	GLenum	severity = (int)SvIV(ST(1))
;
	GLuint	id = (unsigned int)SvUV(ST(2))
;
	GLsizei	length = (int)SvIV(ST(3))
;
	const GLchar*	buf = (const GLchar *)SvPV_nolen(ST(4))
;
#line 5655 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDebugMessageInsertAMD", )
  OGLM_AVAIL_CHECK(__glewDebugMessageInsertAMD, glDebugMessageInsertAMD)
  glDebugMessageInsertAMD(category, severity, id, length, buf);
  OGLM_CHECK_ERR("glDebugMessageInsertAMD", )
#line 11862 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeformSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeformSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLbitfield	mask = (int)SvIV(ST(0))
;
#line 5665 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeformSGIX", )
  OGLM_AVAIL_CHECK(__glewDeformSGIX, glDeformSGIX)
  glDeformSGIX(mask);
  OGLM_CHECK_ERR("glDeformSGIX", )
#line 11883 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteArraySetsEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteArraySetsEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, arrayset");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const void * *	arrayset = INT2PTR(const void **,SvIV(ST(1)))
;
#line 5676 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteArraySetsEXT", )
  OGLM_AVAIL_CHECK(__glewDeleteArraySetsEXT, glDeleteArraySetsEXT)
  glDeleteArraySetsEXT(n, arrayset);
  OGLM_CHECK_ERR("glDeleteArraySetsEXT", )
#line 11906 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteAsyncMarkersSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteAsyncMarkersSGIX)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "marker, range");
    {
	GLuint	marker = (unsigned int)SvUV(ST(0))
;
	GLsizei	range = (int)SvIV(ST(1))
;
#line 5687 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteAsyncMarkersSGIX", )
  OGLM_AVAIL_CHECK(__glewDeleteAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX)
  glDeleteAsyncMarkersSGIX(marker, range);
  OGLM_CHECK_ERR("glDeleteAsyncMarkersSGIX", )
#line 11929 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteBufferRegion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteBufferRegion)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "region");
    {
	GLenum	region = (int)SvIV(ST(0))
;
#line 5697 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteBufferRegion", )
  OGLM_AVAIL_CHECK(__glewDeleteBufferRegion, glDeleteBufferRegion)
  glDeleteBufferRegion(region);
  OGLM_CHECK_ERR("glDeleteBufferRegion", )
#line 11950 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteBuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteBuffers_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, buffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	buffers = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 5710 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteBuffers", )
  OGLM_AVAIL_CHECK(__glewDeleteBuffers, glDeleteBuffers)
  glDeleteBuffers(n, buffers);
  OGLM_CHECK_ERR("glDeleteBuffers", )
#line 11974 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteBuffers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteBuffers_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 5721 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteBuffers", )
  OGLM_AVAIL_CHECK(__glewDeleteBuffers, glDeleteBuffers)
  GLsizei n = items;
  GLuint* buffers = OGLM_GET_VARARGS(buffers,0,GLuint,UV,n);
  glDeleteBuffers((GLsizei )n, (const GLuint* )buffers);
  OGLM_CHECK_ERR("glDeleteBuffers", free(buffers);)
  free(buffers);
#line 11997 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteCommandListsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteCommandListsNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, lists");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	lists = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 5735 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteCommandListsNV", )
  OGLM_AVAIL_CHECK(__glewDeleteCommandListsNV, glDeleteCommandListsNV)
  glDeleteCommandListsNV(n, lists);
  OGLM_CHECK_ERR("glDeleteCommandListsNV", )
#line 12020 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteCommandListsNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteCommandListsNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 5744 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteCommandListsNV", )
  OGLM_AVAIL_CHECK(__glewDeleteCommandListsNV, glDeleteCommandListsNV)
  GLsizei n = items;
  GLuint* lists = OGLM_GET_VARARGS(lists,0,GLuint,UV,n);
  glDeleteCommandListsNV((GLsizei )n, (const GLuint* )lists);
  OGLM_CHECK_ERR("glDeleteCommandListsNV", free(lists);)
  free(lists);
#line 12042 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteFencesAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteFencesAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, fences");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	fences = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 5758 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteFencesAPPLE", )
  OGLM_AVAIL_CHECK(__glewDeleteFencesAPPLE, glDeleteFencesAPPLE)
  glDeleteFencesAPPLE(n, fences);
  OGLM_CHECK_ERR("glDeleteFencesAPPLE", )
#line 12065 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteFencesAPPLE_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteFencesAPPLE_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 5767 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteFencesAPPLE", )
  OGLM_AVAIL_CHECK(__glewDeleteFencesAPPLE, glDeleteFencesAPPLE)
  GLsizei n = items;
  GLuint* fences = OGLM_GET_VARARGS(fences,0,GLuint,UV,n);
  glDeleteFencesAPPLE((GLsizei )n, (const GLuint* )fences);
  OGLM_CHECK_ERR("glDeleteFencesAPPLE", free(fences);)
  free(fences);
#line 12087 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteFencesNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteFencesNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, fences");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	fences = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 5781 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteFencesNV", )
  OGLM_AVAIL_CHECK(__glewDeleteFencesNV, glDeleteFencesNV)
  glDeleteFencesNV(n, fences);
  OGLM_CHECK_ERR("glDeleteFencesNV", )
#line 12110 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteFencesNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteFencesNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 5790 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteFencesNV", )
  OGLM_AVAIL_CHECK(__glewDeleteFencesNV, glDeleteFencesNV)
  GLsizei n = items;
  GLuint* fences = OGLM_GET_VARARGS(fences,0,GLuint,UV,n);
  glDeleteFencesNV((GLsizei )n, (const GLuint* )fences);
  OGLM_CHECK_ERR("glDeleteFencesNV", free(fences);)
  free(fences);
#line 12132 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteFragmentShaderATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteFragmentShaderATI)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
#line 5803 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteFragmentShaderATI", )
  OGLM_AVAIL_CHECK(__glewDeleteFragmentShaderATI, glDeleteFragmentShaderATI)
  glDeleteFragmentShaderATI(id);
  OGLM_CHECK_ERR("glDeleteFragmentShaderATI", )
#line 12153 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteFramebuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteFramebuffers_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, framebuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	framebuffers = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 5816 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteFramebuffers", )
  OGLM_AVAIL_CHECK(__glewDeleteFramebuffers, glDeleteFramebuffers)
  glDeleteFramebuffers(n, framebuffers);
  OGLM_CHECK_ERR("glDeleteFramebuffers", )
#line 12177 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteFramebuffers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteFramebuffers_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 5827 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteFramebuffers", )
  OGLM_AVAIL_CHECK(__glewDeleteFramebuffers, glDeleteFramebuffers)
  GLsizei n = items;
  GLuint* framebuffers = OGLM_GET_VARARGS(framebuffers,0,GLuint,UV,n);
  glDeleteFramebuffers((GLsizei )n, (const GLuint* )framebuffers);
  OGLM_CHECK_ERR("glDeleteFramebuffers", free(framebuffers);)
  free(framebuffers);
#line 12200 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteFramebuffersOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteFramebuffersOES_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, framebuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	framebuffers = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 5841 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteFramebuffersOES", )
  OGLM_AVAIL_CHECK(__glewDeleteFramebuffersOES, glDeleteFramebuffersOES)
  glDeleteFramebuffersOES(n, framebuffers);
  OGLM_CHECK_ERR("glDeleteFramebuffersOES", )
#line 12223 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteLists); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteLists)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "list, range");
    {
	GLuint	list = (unsigned int)SvUV(ST(0))
;
	GLsizei	range = (int)SvIV(ST(1))
;
#line 5852 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteLists", )
  glDeleteLists(list, range);
  OGLM_CHECK_ERR("glDeleteLists", )
#line 12245 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteMPEGPredictorsSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteMPEGPredictorsSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, predictors");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	predictors = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5862 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteMPEGPredictorsSGIX", )
  OGLM_AVAIL_CHECK(__glewDeleteMPEGPredictorsSGIX, glDeleteMPEGPredictorsSGIX)
  glDeleteMPEGPredictorsSGIX(n, predictors);
  OGLM_CHECK_ERR("glDeleteMPEGPredictorsSGIX", )
#line 12268 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteMemoryObjectsEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteMemoryObjectsEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, memoryObjects");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	memoryObjects = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 5873 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteMemoryObjectsEXT", )
  OGLM_AVAIL_CHECK(__glewDeleteMemoryObjectsEXT, glDeleteMemoryObjectsEXT)
  glDeleteMemoryObjectsEXT(n, memoryObjects);
  OGLM_CHECK_ERR("glDeleteMemoryObjectsEXT", )
#line 12291 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteMemoryObjectsEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteMemoryObjectsEXT_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 5882 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteMemoryObjectsEXT", )
  OGLM_AVAIL_CHECK(__glewDeleteMemoryObjectsEXT, glDeleteMemoryObjectsEXT)
  GLsizei n = items;
  GLuint* memoryObjects = OGLM_GET_VARARGS(memoryObjects,0,GLuint,UV,n);
  glDeleteMemoryObjectsEXT((GLsizei )n, (const GLuint* )memoryObjects);
  OGLM_CHECK_ERR("glDeleteMemoryObjectsEXT", free(memoryObjects);)
  free(memoryObjects);
#line 12313 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteNamedStringARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteNamedStringARB)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "namelen, name");
    {
	GLint	namelen = (int)SvIV(ST(0))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(1))
;
#line 5896 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteNamedStringARB", )
  OGLM_AVAIL_CHECK(__glewDeleteNamedStringARB, glDeleteNamedStringARB)
  glDeleteNamedStringARB(namelen, name);
  OGLM_CHECK_ERR("glDeleteNamedStringARB", )
#line 12336 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteNamesAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteNamesAMD_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "identifier, num, names");
    {
	GLenum	identifier = (int)SvIV(ST(0))
;
	GLuint	num = (unsigned int)SvUV(ST(1))
;
	const GLuint*	names = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 5908 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteNamesAMD", )
  OGLM_AVAIL_CHECK(__glewDeleteNamesAMD, glDeleteNamesAMD)
  glDeleteNamesAMD(identifier, num, names);
  OGLM_CHECK_ERR("glDeleteNamesAMD", )
#line 12361 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteNamesAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteNamesAMD_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "identifier, ...");
    {
	GLenum	identifier = (int)SvIV(ST(0))
;
#line 5918 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteNamesAMD", )
  OGLM_AVAIL_CHECK(__glewDeleteNamesAMD, glDeleteNamesAMD)
  GLuint num = items-1;
  GLuint* names = OGLM_GET_VARARGS(names,1,GLuint,UV,num);
  glDeleteNamesAMD((GLenum )identifier, (GLuint )num, (const GLuint* )names);
  OGLM_CHECK_ERR("glDeleteNamesAMD", free(names);)
  free(names);
#line 12385 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteObjectARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteObjectARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "obj");
    {
	GLhandleARB	obj = (unsigned int)SvUV(ST(0))
;
#line 5931 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteObjectARB", )
  OGLM_AVAIL_CHECK(__glewDeleteObjectARB, glDeleteObjectARB)
  glDeleteObjectARB(obj);
  OGLM_CHECK_ERR("glDeleteObjectARB", )
#line 12406 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteOcclusionQueriesNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteOcclusionQueriesNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, ids");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	ids = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 5942 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteOcclusionQueriesNV", )
  OGLM_AVAIL_CHECK(__glewDeleteOcclusionQueriesNV, glDeleteOcclusionQueriesNV)
  glDeleteOcclusionQueriesNV(n, ids);
  OGLM_CHECK_ERR("glDeleteOcclusionQueriesNV", )
#line 12429 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteOcclusionQueriesNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteOcclusionQueriesNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 5951 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteOcclusionQueriesNV", )
  OGLM_AVAIL_CHECK(__glewDeleteOcclusionQueriesNV, glDeleteOcclusionQueriesNV)
  GLsizei n = items;
  GLuint* ids = OGLM_GET_VARARGS(ids,0,GLuint,UV,n);
  glDeleteOcclusionQueriesNV((GLsizei )n, (const GLuint* )ids);
  OGLM_CHECK_ERR("glDeleteOcclusionQueriesNV", free(ids);)
  free(ids);
#line 12451 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeletePathsNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeletePathsNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "path, range");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLsizei	range = (int)SvIV(ST(1))
;
#line 5965 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeletePathsNV", )
  OGLM_AVAIL_CHECK(__glewDeletePathsNV, glDeletePathsNV)
  glDeletePathsNV(path, range);
  OGLM_CHECK_ERR("glDeletePathsNV", )
#line 12474 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeletePerfMonitorsAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeletePerfMonitorsAMD_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, monitors");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	monitors = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 5976 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeletePerfMonitorsAMD", )
  OGLM_AVAIL_CHECK(__glewDeletePerfMonitorsAMD, glDeletePerfMonitorsAMD)
  glDeletePerfMonitorsAMD(n, monitors);
  OGLM_CHECK_ERR("glDeletePerfMonitorsAMD", )
#line 12497 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeletePerfMonitorsAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeletePerfMonitorsAMD_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 5986 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeletePerfMonitorsAMD", )
  OGLM_AVAIL_CHECK(__glewDeletePerfMonitorsAMD, glDeletePerfMonitorsAMD)
  GLuint* monitors = OGLM_ALLOC(n,GLuint,monitors);
  glDeletePerfMonitorsAMD(n, monitors);
  OGLM_CHECK_ERR("glDeletePerfMonitorsAMD", free(monitors);)
  OGLM_OUT_FINISH(monitors,n,newSVuv)
  free(monitors);
#line 12523 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glDeletePerfQueryINTEL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeletePerfQueryINTEL)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "queryHandle");
    {
	GLuint	queryHandle = (unsigned int)SvUV(ST(0))
;
#line 5999 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeletePerfQueryINTEL", )
  OGLM_AVAIL_CHECK(__glewDeletePerfQueryINTEL, glDeletePerfQueryINTEL)
  glDeletePerfQueryINTEL(queryHandle);
  OGLM_CHECK_ERR("glDeletePerfQueryINTEL", )
#line 12545 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteProgram); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteProgram)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "program");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
#line 6009 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteProgram", )
  OGLM_AVAIL_CHECK(__glewDeleteProgram, glDeleteProgram)
  glDeleteProgram(program);
  OGLM_CHECK_ERR("glDeleteProgram", )
#line 12566 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteProgramPipelines_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteProgramPipelines_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, pipelines");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	pipelines = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6020 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteProgramPipelines", )
  OGLM_AVAIL_CHECK(__glewDeleteProgramPipelines, glDeleteProgramPipelines)
  glDeleteProgramPipelines(n, pipelines);
  OGLM_CHECK_ERR("glDeleteProgramPipelines", )
#line 12589 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteProgramPipelines_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteProgramPipelines_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6029 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteProgramPipelines", )
  OGLM_AVAIL_CHECK(__glewDeleteProgramPipelines, glDeleteProgramPipelines)
  GLsizei n = items;
  GLuint* pipelines = OGLM_GET_VARARGS(pipelines,0,GLuint,UV,n);
  glDeleteProgramPipelines((GLsizei )n, (const GLuint* )pipelines);
  OGLM_CHECK_ERR("glDeleteProgramPipelines", free(pipelines);)
  free(pipelines);
#line 12611 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteProgramsARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteProgramsARB_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, programs");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	programs = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6045 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteProgramsARB", )
  OGLM_AVAIL_CHECK(__glewDeleteProgramsARB, glDeleteProgramsARB)
  glDeleteProgramsARB(n, programs);
  OGLM_CHECK_ERR("glDeleteProgramsARB", )
#line 12635 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteProgramsARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteProgramsARB_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6056 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteProgramsARB", )
  OGLM_AVAIL_CHECK(__glewDeleteProgramsARB, glDeleteProgramsARB)
  GLsizei n = items;
  GLuint* programs = OGLM_GET_VARARGS(programs,0,GLuint,UV,n);
  glDeleteProgramsARB((GLsizei )n, (const GLuint* )programs);
  OGLM_CHECK_ERR("glDeleteProgramsARB", free(programs);)
  free(programs);
#line 12658 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteQueries_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteQueries_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, ids");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	ids = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6072 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteQueries", )
  OGLM_AVAIL_CHECK(__glewDeleteQueries, glDeleteQueries)
  glDeleteQueries(n, ids);
  OGLM_CHECK_ERR("glDeleteQueries", )
#line 12682 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteQueries_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteQueries_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6083 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteQueries", )
  OGLM_AVAIL_CHECK(__glewDeleteQueries, glDeleteQueries)
  GLsizei n = items;
  GLuint* ids = OGLM_GET_VARARGS(ids,0,GLuint,UV,n);
  glDeleteQueries((GLsizei )n, (const GLuint* )ids);
  OGLM_CHECK_ERR("glDeleteQueries", free(ids);)
  free(ids);
#line 12705 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteQueriesANGLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteQueriesANGLE_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, ids");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	ids = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6097 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteQueriesANGLE", )
  OGLM_AVAIL_CHECK(__glewDeleteQueriesANGLE, glDeleteQueriesANGLE)
  glDeleteQueriesANGLE(n, ids);
  OGLM_CHECK_ERR("glDeleteQueriesANGLE", )
#line 12728 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteQueriesEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteQueriesEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, ids");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	ids = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6108 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteQueriesEXT", )
  OGLM_AVAIL_CHECK(__glewDeleteQueriesEXT, glDeleteQueriesEXT)
  glDeleteQueriesEXT(n, ids);
  OGLM_CHECK_ERR("glDeleteQueriesEXT", )
#line 12751 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteQueriesEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteQueriesEXT_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6117 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteQueriesEXT", )
  OGLM_AVAIL_CHECK(__glewDeleteQueriesEXT, glDeleteQueriesEXT)
  GLsizei n = items;
  GLuint* ids = OGLM_GET_VARARGS(ids,0,GLuint,UV,n);
  glDeleteQueriesEXT((GLsizei )n, (const GLuint* )ids);
  OGLM_CHECK_ERR("glDeleteQueriesEXT", free(ids);)
  free(ids);
#line 12773 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteRenderbuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteRenderbuffers_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, renderbuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	renderbuffers = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6133 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteRenderbuffers", )
  OGLM_AVAIL_CHECK(__glewDeleteRenderbuffers, glDeleteRenderbuffers)
  glDeleteRenderbuffers(n, renderbuffers);
  OGLM_CHECK_ERR("glDeleteRenderbuffers", )
#line 12797 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteRenderbuffers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteRenderbuffers_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6144 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteRenderbuffers", )
  OGLM_AVAIL_CHECK(__glewDeleteRenderbuffers, glDeleteRenderbuffers)
  GLsizei n = items;
  GLuint* renderbuffers = OGLM_GET_VARARGS(renderbuffers,0,GLuint,UV,n);
  glDeleteRenderbuffers((GLsizei )n, (const GLuint* )renderbuffers);
  OGLM_CHECK_ERR("glDeleteRenderbuffers", free(renderbuffers);)
  free(renderbuffers);
#line 12820 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteRenderbuffersOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteRenderbuffersOES_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, renderbuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	renderbuffers = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6158 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteRenderbuffersOES", )
  OGLM_AVAIL_CHECK(__glewDeleteRenderbuffersOES, glDeleteRenderbuffersOES)
  glDeleteRenderbuffersOES(n, renderbuffers);
  OGLM_CHECK_ERR("glDeleteRenderbuffersOES", )
#line 12843 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteSamplers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteSamplers_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "count, samplers");
    {
	GLsizei	count = (int)SvIV(ST(0))
;
	const GLuint *	samplers = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6169 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteSamplers", )
  OGLM_AVAIL_CHECK(__glewDeleteSamplers, glDeleteSamplers)
  glDeleteSamplers(count, samplers);
  OGLM_CHECK_ERR("glDeleteSamplers", )
#line 12866 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteSamplers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteSamplers_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6178 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteSamplers", )
  OGLM_AVAIL_CHECK(__glewDeleteSamplers, glDeleteSamplers)
  GLsizei count = items;
  GLuint * samplers = OGLM_GET_VARARGS(samplers,0,GLuint,UV,count);
  glDeleteSamplers((GLsizei )count, (const GLuint * )samplers);
  OGLM_CHECK_ERR("glDeleteSamplers", free(samplers);)
  free(samplers);
#line 12888 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteSemaphoresEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteSemaphoresEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, semaphores");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	semaphores = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6192 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteSemaphoresEXT", )
  OGLM_AVAIL_CHECK(__glewDeleteSemaphoresEXT, glDeleteSemaphoresEXT)
  glDeleteSemaphoresEXT(n, semaphores);
  OGLM_CHECK_ERR("glDeleteSemaphoresEXT", )
#line 12911 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteSemaphoresEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteSemaphoresEXT_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6201 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteSemaphoresEXT", )
  OGLM_AVAIL_CHECK(__glewDeleteSemaphoresEXT, glDeleteSemaphoresEXT)
  GLsizei n = items;
  GLuint* semaphores = OGLM_GET_VARARGS(semaphores,0,GLuint,UV,n);
  glDeleteSemaphoresEXT((GLsizei )n, (const GLuint* )semaphores);
  OGLM_CHECK_ERR("glDeleteSemaphoresEXT", free(semaphores);)
  free(semaphores);
#line 12933 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteShader); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteShader)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "shader");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
#line 6214 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteShader", )
  OGLM_AVAIL_CHECK(__glewDeleteShader, glDeleteShader)
  glDeleteShader(shader);
  OGLM_CHECK_ERR("glDeleteShader", )
#line 12954 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteStatesNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteStatesNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, states");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	states = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6225 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteStatesNV", )
  OGLM_AVAIL_CHECK(__glewDeleteStatesNV, glDeleteStatesNV)
  glDeleteStatesNV(n, states);
  OGLM_CHECK_ERR("glDeleteStatesNV", )
#line 12977 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteStatesNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteStatesNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6234 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteStatesNV", )
  OGLM_AVAIL_CHECK(__glewDeleteStatesNV, glDeleteStatesNV)
  GLsizei n = items;
  GLuint* states = OGLM_GET_VARARGS(states,0,GLuint,UV,n);
  glDeleteStatesNV((GLsizei )n, (const GLuint* )states);
  OGLM_CHECK_ERR("glDeleteStatesNV", free(states);)
  free(states);
#line 12999 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteSync); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteSync)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "myGLsync");
    {
	GLsync	myGLsync = INT2PTR(GLsync,SvIV(ST(0)))
;
#line 6249 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteSync", )
  OGLM_AVAIL_CHECK(__glewDeleteSync, glDeleteSync)
  glDeleteSync(myGLsync);
  OGLM_CHECK_ERR("glDeleteSync", )
#line 13021 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteTextures_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteTextures_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, textures");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint *	textures = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6260 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteTextures", )
  glDeleteTextures(n, textures);
  OGLM_CHECK_ERR("glDeleteTextures", )
#line 13043 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteTextures_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteTextures_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6268 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteTextures", )
  GLsizei n = items;
  GLuint *textures = OGLM_GET_VARARGS(textures,0,GLuint,UV,n);
  glDeleteTextures((GLsizei )n, (const GLuint *)textures);
  OGLM_CHECK_ERR("glDeleteTextures", free(textures);)
  free(textures);
#line 13064 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteTexturesEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteTexturesEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, textures");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	textures = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6281 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteTexturesEXT", )
  OGLM_AVAIL_CHECK(__glewDeleteTexturesEXT, glDeleteTexturesEXT)
  glDeleteTexturesEXT(n, textures);
  OGLM_CHECK_ERR("glDeleteTexturesEXT", )
#line 13087 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteTexturesEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteTexturesEXT_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6290 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteTexturesEXT", )
  OGLM_AVAIL_CHECK(__glewDeleteTexturesEXT, glDeleteTexturesEXT)
  GLsizei n = items;
  GLuint* textures = OGLM_GET_VARARGS(textures,0,GLuint,UV,n);
  glDeleteTexturesEXT((GLsizei )n, (const GLuint* )textures);
  OGLM_CHECK_ERR("glDeleteTexturesEXT", free(textures);)
  free(textures);
#line 13109 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteTransformFeedbacks_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteTransformFeedbacks_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, ids");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	ids = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6306 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteTransformFeedbacks", )
  OGLM_AVAIL_CHECK(__glewDeleteTransformFeedbacks, glDeleteTransformFeedbacks)
  glDeleteTransformFeedbacks(n, ids);
  OGLM_CHECK_ERR("glDeleteTransformFeedbacks", )
#line 13133 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteTransformFeedbacks_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteTransformFeedbacks_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6317 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteTransformFeedbacks", )
  OGLM_AVAIL_CHECK(__glewDeleteTransformFeedbacks, glDeleteTransformFeedbacks)
  GLsizei n = items;
  GLuint* ids = OGLM_GET_VARARGS(ids,0,GLuint,UV,n);
  glDeleteTransformFeedbacks((GLsizei )n, (const GLuint* )ids);
  OGLM_CHECK_ERR("glDeleteTransformFeedbacks", free(ids);)
  free(ids);
#line 13156 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteVertexArrays_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteVertexArrays_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, arrays");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	arrays = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6333 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteVertexArrays", )
  OGLM_AVAIL_CHECK(__glewDeleteVertexArrays, glDeleteVertexArrays)
  glDeleteVertexArrays(n, arrays);
  OGLM_CHECK_ERR("glDeleteVertexArrays", )
#line 13180 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteVertexArrays_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteVertexArrays_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6344 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteVertexArrays", )
  OGLM_AVAIL_CHECK(__glewDeleteVertexArrays, glDeleteVertexArrays)
  GLsizei n = items;
  GLuint* arrays = OGLM_GET_VARARGS(arrays,0,GLuint,UV,n);
  glDeleteVertexArrays((GLsizei )n, (const GLuint* )arrays);
  OGLM_CHECK_ERR("glDeleteVertexArrays", free(arrays);)
  free(arrays);
#line 13203 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteVertexArraysOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteVertexArraysOES_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, arrays");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	arrays = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6358 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteVertexArraysOES", )
  OGLM_AVAIL_CHECK(__glewDeleteVertexArraysOES, glDeleteVertexArraysOES)
  glDeleteVertexArraysOES(n, arrays);
  OGLM_CHECK_ERR("glDeleteVertexArraysOES", )
#line 13226 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteVertexArraysSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteVertexArraysSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, arrays");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	arrays = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 6369 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteVertexArraysSGIX", )
  OGLM_AVAIL_CHECK(__glewDeleteVertexArraysSGIX, glDeleteVertexArraysSGIX)
  glDeleteVertexArraysSGIX(n, arrays);
  OGLM_CHECK_ERR("glDeleteVertexArraysSGIX", )
#line 13249 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDeleteVertexShaderEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDeleteVertexShaderEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
#line 6379 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDeleteVertexShaderEXT", )
  OGLM_AVAIL_CHECK(__glewDeleteVertexShaderEXT, glDeleteVertexShaderEXT)
  glDeleteVertexShaderEXT(id);
  OGLM_CHECK_ERR("glDeleteVertexShaderEXT", )
#line 13270 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthBoundsEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthBoundsEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "zmin, zmax");
    {
	GLclampd	zmin = (double)SvNV(ST(0))
;
	GLclampd	zmax = (double)SvNV(ST(1))
;
#line 6390 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthBoundsEXT", )
  OGLM_AVAIL_CHECK(__glewDepthBoundsEXT, glDepthBoundsEXT)
  glDepthBoundsEXT(zmin, zmax);
  OGLM_CHECK_ERR("glDepthBoundsEXT", )
#line 13293 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthBoundsdNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthBoundsdNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "zmin, zmax");
    {
	GLdouble	zmin = (double)SvNV(ST(0))
;
	GLdouble	zmax = (double)SvNV(ST(1))
;
#line 6401 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthBoundsdNV", )
  OGLM_AVAIL_CHECK(__glewDepthBoundsdNV, glDepthBoundsdNV)
  glDepthBoundsdNV(zmin, zmax);
  OGLM_CHECK_ERR("glDepthBoundsdNV", )
#line 13316 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthFunc); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthFunc)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "func");
    {
	GLenum	func = (int)SvIV(ST(0))
;
#line 6411 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthFunc", )
  glDepthFunc(func);
  OGLM_CHECK_ERR("glDepthFunc", )
#line 13336 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthMask); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthMask)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "flag");
    {
	GLboolean	flag = (int)SvIV(ST(0))
;
#line 6420 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthMask", )
  glDepthMask(flag);
  OGLM_CHECK_ERR("glDepthMask", )
#line 13356 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthRange); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthRange)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "zNear, zFar");
    {
	GLclampd	zNear = (double)SvNV(ST(0))
;
	GLclampd	zFar = (double)SvNV(ST(1))
;
#line 6430 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthRange", )
  glDepthRange(zNear, zFar);
  OGLM_CHECK_ERR("glDepthRange", )
#line 13378 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthRangeArrayfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthRangeArrayfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "first, count, v");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 6441 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthRangeArrayfvNV", )
  OGLM_AVAIL_CHECK(__glewDepthRangeArrayfvNV, glDepthRangeArrayfvNV)
  glDepthRangeArrayfvNV(first, count, v);
  OGLM_CHECK_ERR("glDepthRangeArrayfvNV", )
#line 13403 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthRangeArrayv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthRangeArrayv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "first, count, v");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLclampd *	v = INT2PTR(const GLclampd *,SvIV(ST(2)))
;
#line 6453 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthRangeArrayv", )
  OGLM_AVAIL_CHECK(__glewDepthRangeArrayv, glDepthRangeArrayv)
  glDepthRangeArrayv(first, count, v);
  OGLM_CHECK_ERR("glDepthRangeArrayv", )
#line 13428 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthRangeArrayv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthRangeArrayv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "first, ...");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
#line 6463 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthRangeArrayv", )
  OGLM_AVAIL_CHECK(__glewDepthRangeArrayv, glDepthRangeArrayv)
  GLsizei count = items-1;
  GLclampd * v = OGLM_GET_VARARGS(v,1,GLclampd,NV,count);
  glDepthRangeArrayv((GLuint )first, (GLsizei )count, (const GLclampd * )v);
  OGLM_CHECK_ERR("glDepthRangeArrayv", free(v);)
  free(v);
#line 13452 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthRangeIndexed); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthRangeIndexed)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, n, f");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLclampd	n = (double)SvNV(ST(1))
;
	GLclampd	f = (double)SvNV(ST(2))
;
#line 6478 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthRangeIndexed", )
  OGLM_AVAIL_CHECK(__glewDepthRangeIndexed, glDepthRangeIndexed)
  glDepthRangeIndexed(index, n, f);
  OGLM_CHECK_ERR("glDepthRangeIndexed", )
#line 13477 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthRangeIndexedfNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthRangeIndexedfNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, n, f");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLfloat	n = (float)SvNV(ST(1))
;
	GLfloat	f = (float)SvNV(ST(2))
;
#line 6490 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthRangeIndexedfNV", )
  OGLM_AVAIL_CHECK(__glewDepthRangeIndexedfNV, glDepthRangeIndexedfNV)
  glDepthRangeIndexedfNV(index, n, f);
  OGLM_CHECK_ERR("glDepthRangeIndexedfNV", )
#line 13502 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthRangedNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthRangedNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "zNear, zFar");
    {
	GLdouble	zNear = (double)SvNV(ST(0))
;
	GLdouble	zFar = (double)SvNV(ST(1))
;
#line 6501 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthRangedNV", )
  OGLM_AVAIL_CHECK(__glewDepthRangedNV, glDepthRangedNV)
  glDepthRangedNV(zNear, zFar);
  OGLM_CHECK_ERR("glDepthRangedNV", )
#line 13525 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthRangef); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthRangef)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, f");
    {
	GLclampf	n = (float)SvNV(ST(0))
;
	GLclampf	f = (float)SvNV(ST(1))
;
#line 6512 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthRangef", )
  OGLM_AVAIL_CHECK(__glewDepthRangef, glDepthRangef)
  glDepthRangef(n, f);
  OGLM_CHECK_ERR("glDepthRangef", )
#line 13548 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthRangefOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthRangefOES)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, f");
    {
	GLclampf	n = (float)SvNV(ST(0))
;
	GLclampf	f = (float)SvNV(ST(1))
;
#line 6523 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthRangefOES", )
  OGLM_AVAIL_CHECK(__glewDepthRangefOES, glDepthRangefOES)
  glDepthRangefOES(n, f);
  OGLM_CHECK_ERR("glDepthRangefOES", )
#line 13571 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDepthRangex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDepthRangex)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "zNear, zFar");
    {
	GLclampx	zNear = (int)SvIV(ST(0))
;
	GLclampx	zFar = (int)SvIV(ST(1))
;
#line 6534 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDepthRangex", )
  OGLM_AVAIL_CHECK(__glewDepthRangex, glDepthRangex)
  glDepthRangex(zNear, zFar);
  OGLM_CHECK_ERR("glDepthRangex", )
#line 13594 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDetachObjectARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDetachObjectARB)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "containerObj, attachedObj");
    {
	GLhandleARB	containerObj = (unsigned int)SvUV(ST(0))
;
	GLhandleARB	attachedObj = (unsigned int)SvUV(ST(1))
;
#line 6545 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDetachObjectARB", )
  OGLM_AVAIL_CHECK(__glewDetachObjectARB, glDetachObjectARB)
  glDetachObjectARB(containerObj, attachedObj);
  OGLM_CHECK_ERR("glDetachObjectARB", )
#line 13617 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDetachShader); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDetachShader)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, shader");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	shader = (unsigned int)SvUV(ST(1))
;
#line 6556 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDetachShader", )
  OGLM_AVAIL_CHECK(__glewDetachShader, glDetachShader)
  glDetachShader(program, shader);
  OGLM_CHECK_ERR("glDetachShader", )
#line 13640 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDetailTexFuncSGIS_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDetailTexFuncSGIS_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, n, points");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
	const GLfloat*	points = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 6568 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDetailTexFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewDetailTexFuncSGIS, glDetailTexFuncSGIS)
  glDetailTexFuncSGIS(target, n, points);
  OGLM_CHECK_ERR("glDetailTexFuncSGIS", )
#line 13665 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDetailTexFuncSGIS_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDetailTexFuncSGIS_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, n, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
#line 6579 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDetailTexFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewDetailTexFuncSGIS, glDetailTexFuncSGIS)
  GLfloat* points = OGLM_GET_VARARGS(points,2,GLfloat,NV,n*2);
  glDetailTexFuncSGIS((GLenum )target, (GLsizei )n, (const GLfloat* )points);
  OGLM_CHECK_ERR("glDetailTexFuncSGIS", free(points);)
  free(points);
#line 13690 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "cap");
    {
	GLenum	cap = (int)SvIV(ST(0))
;
#line 6591 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisable", )
  glDisable(cap);
  OGLM_CHECK_ERR("glDisable", )
#line 13710 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisableClientState); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisableClientState)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "array");
    {
	GLenum	array = (int)SvIV(ST(0))
;
#line 6600 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisableClientState", )
  glDisableClientState(array);
  OGLM_CHECK_ERR("glDisableClientState", )
#line 13730 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisableClientStateIndexedEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisableClientStateIndexedEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "array, index");
    {
	GLenum	array = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 6610 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisableClientStateIndexedEXT", )
  OGLM_AVAIL_CHECK(__glewDisableClientStateIndexedEXT, glDisableClientStateIndexedEXT)
  glDisableClientStateIndexedEXT(array, index);
  OGLM_CHECK_ERR("glDisableClientStateIndexedEXT", )
#line 13753 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisableClientStateiEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisableClientStateiEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "array, index");
    {
	GLenum	array = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 6621 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisableClientStateiEXT", )
  OGLM_AVAIL_CHECK(__glewDisableClientStateiEXT, glDisableClientStateiEXT)
  glDisableClientStateiEXT(array, index);
  OGLM_CHECK_ERR("glDisableClientStateiEXT", )
#line 13776 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisableDriverControlQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisableDriverControlQCOM)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "driverControl");
    {
	GLuint	driverControl = (unsigned int)SvUV(ST(0))
;
#line 6631 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisableDriverControlQCOM", )
  OGLM_AVAIL_CHECK(__glewDisableDriverControlQCOM, glDisableDriverControlQCOM)
  glDisableDriverControlQCOM(driverControl);
  OGLM_CHECK_ERR("glDisableDriverControlQCOM", )
#line 13797 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisableVariantClientStateEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisableVariantClientStateEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
#line 6641 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisableVariantClientStateEXT", )
  OGLM_AVAIL_CHECK(__glewDisableVariantClientStateEXT, glDisableVariantClientStateEXT)
  glDisableVariantClientStateEXT(id);
  OGLM_CHECK_ERR("glDisableVariantClientStateEXT", )
#line 13818 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisableVertexArrayAttrib); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisableVertexArrayAttrib)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "vaobj, index");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 6652 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisableVertexArrayAttrib", )
  OGLM_AVAIL_CHECK(__glewDisableVertexArrayAttrib, glDisableVertexArrayAttrib)
  glDisableVertexArrayAttrib(vaobj, index);
  OGLM_CHECK_ERR("glDisableVertexArrayAttrib", )
#line 13841 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisableVertexArrayAttribEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisableVertexArrayAttribEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "vaobj, index");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 6663 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisableVertexArrayAttribEXT", )
  OGLM_AVAIL_CHECK(__glewDisableVertexArrayAttribEXT, glDisableVertexArrayAttribEXT)
  glDisableVertexArrayAttribEXT(vaobj, index);
  OGLM_CHECK_ERR("glDisableVertexArrayAttribEXT", )
#line 13864 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisableVertexArrayEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisableVertexArrayEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "vaobj, array");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLenum	array = (int)SvIV(ST(1))
;
#line 6674 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisableVertexArrayEXT", )
  OGLM_AVAIL_CHECK(__glewDisableVertexArrayEXT, glDisableVertexArrayEXT)
  glDisableVertexArrayEXT(vaobj, array);
  OGLM_CHECK_ERR("glDisableVertexArrayEXT", )
#line 13887 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisableVertexAttribAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisableVertexAttribAPPLE)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 6685 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisableVertexAttribAPPLE", )
  OGLM_AVAIL_CHECK(__glewDisableVertexAttribAPPLE, glDisableVertexAttribAPPLE)
  glDisableVertexAttribAPPLE(index, pname);
  OGLM_CHECK_ERR("glDisableVertexAttribAPPLE", )
#line 13910 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisableVertexAttribArray); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisableVertexAttribArray)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "index");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 6697 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisableVertexAttribArray", )
  OGLM_AVAIL_CHECK(__glewDisableVertexAttribArray, glDisableVertexAttribArray)
  glDisableVertexAttribArray(index);
  OGLM_CHECK_ERR("glDisableVertexAttribArray", )
#line 13932 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisablei); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisablei)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 6712 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisablei", )
  OGLM_AVAIL_CHECK(__glewDisablei, glDisablei)
  glDisablei(target, index);
  OGLM_CHECK_ERR("glDisablei", )
#line 13956 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDisableiOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDisableiOES)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 6723 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDisableiOES", )
  OGLM_AVAIL_CHECK(__glewDisableiOES, glDisableiOES)
  glDisableiOES(target, index);
  OGLM_CHECK_ERR("glDisableiOES", )
#line 13979 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDiscardFramebufferEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDiscardFramebufferEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, numAttachments, attachments");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	numAttachments = (int)SvIV(ST(1))
;
	const GLenum*	attachments = INT2PTR(const GLenum *,SvIV(ST(2)))
;
#line 6735 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDiscardFramebufferEXT", )
  OGLM_AVAIL_CHECK(__glewDiscardFramebufferEXT, glDiscardFramebufferEXT)
  glDiscardFramebufferEXT(target, numAttachments, attachments);
  OGLM_CHECK_ERR("glDiscardFramebufferEXT", )
#line 14004 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDiscardFramebufferEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDiscardFramebufferEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 6745 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDiscardFramebufferEXT", )
  OGLM_AVAIL_CHECK(__glewDiscardFramebufferEXT, glDiscardFramebufferEXT)
  GLsizei numAttachments = items-1;
  GLenum* attachments = OGLM_GET_VARARGS(attachments,1,GLenum,IV,numAttachments);
  glDiscardFramebufferEXT((GLenum )target, (GLsizei )numAttachments, (const GLenum* )attachments);
  OGLM_CHECK_ERR("glDiscardFramebufferEXT", free(attachments);)
  free(attachments);
#line 14028 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDispatchCompute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDispatchCompute)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "num_groups_x, num_groups_y, num_groups_z");
    {
	GLuint	num_groups_x = (unsigned int)SvUV(ST(0))
;
	GLuint	num_groups_y = (unsigned int)SvUV(ST(1))
;
	GLuint	num_groups_z = (unsigned int)SvUV(ST(2))
;
#line 6760 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDispatchCompute", )
  OGLM_AVAIL_CHECK(__glewDispatchCompute, glDispatchCompute)
  glDispatchCompute(num_groups_x, num_groups_y, num_groups_z);
  OGLM_CHECK_ERR("glDispatchCompute", )
#line 14053 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDispatchComputeGroupSizeARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDispatchComputeGroupSizeARB)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z");
    {
	GLuint	num_groups_x = (unsigned int)SvUV(ST(0))
;
	GLuint	num_groups_y = (unsigned int)SvUV(ST(1))
;
	GLuint	num_groups_z = (unsigned int)SvUV(ST(2))
;
	GLuint	group_size_x = (unsigned int)SvUV(ST(3))
;
	GLuint	group_size_y = (unsigned int)SvUV(ST(4))
;
	GLuint	group_size_z = (unsigned int)SvUV(ST(5))
;
#line 6775 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDispatchComputeGroupSizeARB", )
  OGLM_AVAIL_CHECK(__glewDispatchComputeGroupSizeARB, glDispatchComputeGroupSizeARB)
  glDispatchComputeGroupSizeARB(num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z);
  OGLM_CHECK_ERR("glDispatchComputeGroupSizeARB", )
#line 14084 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDispatchComputeIndirect); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDispatchComputeIndirect)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "indirect");
    {
	GLintptr	indirect = (unsigned int)SvUV(ST(0))
;
#line 6785 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDispatchComputeIndirect", )
  OGLM_AVAIL_CHECK(__glewDispatchComputeIndirect, glDispatchComputeIndirect)
  glDispatchComputeIndirect(indirect);
  OGLM_CHECK_ERR("glDispatchComputeIndirect", )
#line 14105 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawArrays); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawArrays)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "mode, first, count");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLint	first = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 6799 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawArrays", )
  glDrawArrays(mode, first, count);
  OGLM_CHECK_ERR("glDrawArrays", )
#line 14130 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawArraysIndirect_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawArraysIndirect_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "mode, indirect");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const void *	indirect = INT2PTR(const void *,SvIV(ST(1)))
;
#line 6809 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawArraysIndirect", )
  OGLM_AVAIL_CHECK(__glewDrawArraysIndirect, glDrawArraysIndirect)
  glDrawArraysIndirect(mode, indirect);
  OGLM_CHECK_ERR("glDrawArraysIndirect", )
#line 14153 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawArraysInstanced); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawArraysInstanced)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "mode, first, count, instancecount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLint	first = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLsizei	instancecount = (int)SvIV(ST(3))
;
#line 6827 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawArraysInstanced", )
  OGLM_AVAIL_CHECK(__glewDrawArraysInstanced, glDrawArraysInstanced)
  glDrawArraysInstanced(mode, first, count, instancecount);
  OGLM_CHECK_ERR("glDrawArraysInstanced", )
#line 14181 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawArraysInstancedBaseInstance); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawArraysInstancedBaseInstance)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "mode, first, count, instancecount, baseinstance");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLint	first = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLsizei	instancecount = (int)SvIV(ST(3))
;
	GLuint	baseinstance = (unsigned int)SvUV(ST(4))
;
#line 6843 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawArraysInstancedBaseInstance", )
  OGLM_AVAIL_CHECK(__glewDrawArraysInstancedBaseInstance, glDrawArraysInstancedBaseInstance)
  glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);
  OGLM_CHECK_ERR("glDrawArraysInstancedBaseInstance", )
#line 14211 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawBuffer)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "buf");
    {
	GLenum	buf = (int)SvIV(ST(0))
;
#line 6853 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawBuffer", )
  glDrawBuffer(buf);
  OGLM_CHECK_ERR("glDrawBuffer", )
#line 14231 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawBufferRegion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawBufferRegion)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "region, x, y, width, height, xDest, yDest");
    {
	GLuint	region = (unsigned int)SvUV(ST(0))
;
	GLint	x = (int)SvIV(ST(1))
;
	GLint	y = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLint	xDest = (int)SvIV(ST(5))
;
	GLint	yDest = (int)SvIV(ST(6))
;
#line 6868 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawBufferRegion", )
  OGLM_AVAIL_CHECK(__glewDrawBufferRegion, glDrawBufferRegion)
  glDrawBufferRegion(region, x, y, width, height, xDest, yDest);
  OGLM_CHECK_ERR("glDrawBufferRegion", )
#line 14264 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawBuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawBuffers_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, bufs");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLenum*	bufs = INT2PTR(const GLenum *,SvIV(ST(1)))
;
#line 6883 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawBuffers", )
  OGLM_AVAIL_CHECK(__glewDrawBuffers, glDrawBuffers)
  glDrawBuffers(n, bufs);
  OGLM_CHECK_ERR("glDrawBuffers", )
#line 14288 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawBuffers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawBuffers_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6896 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawBuffers", )
  OGLM_AVAIL_CHECK(__glewDrawBuffers, glDrawBuffers)
  GLsizei n = items;
  GLenum* bufs = OGLM_GET_VARARGS(bufs,0,GLenum,IV,n);
  glDrawBuffers((GLsizei )n, (const GLenum* )bufs);
  OGLM_CHECK_ERR("glDrawBuffers", free(bufs);)
  free(bufs);
#line 14311 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawBuffersIndexedEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawBuffersIndexedEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "n, location, indices");
    {
	GLint	n = (int)SvIV(ST(0))
;
	const GLenum*	location = INT2PTR(const GLenum *,SvIV(ST(1)))
;
	const GLint *	indices = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 6911 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawBuffersIndexedEXT", )
  OGLM_AVAIL_CHECK(__glewDrawBuffersIndexedEXT, glDrawBuffersIndexedEXT)
  glDrawBuffersIndexedEXT(n, location, indices);
  OGLM_CHECK_ERR("glDrawBuffersIndexedEXT", )
#line 14336 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawBuffersIndexedEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawBuffersIndexedEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "locationSV, indicesSV");
    {
	SV *	locationSV = ST(0)
;
	SV *	indicesSV = ST(1)
;
#line 6922 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawBuffersIndexedEXT", )
  OGLM_AVAIL_CHECK(__glewDrawBuffersIndexedEXT, glDrawBuffersIndexedEXT)
  GLint n = OGLM_LEN_ARRAY(n, location);
  GLint *indices = OGLM_GET_ARRAY(indices, GLint, IV, n);
  GLenum* location = OGLM_GET_ARRAY(location, GLenum, IV, n);
  glDrawBuffersIndexedEXT((GLint )n, (const GLenum* )location, (const GLint *)indices);
  OGLM_CHECK_ERR("glDrawBuffersIndexedEXT", free(indices);free(location);)
  free(indices);free(location);
#line 14363 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawBuffersNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawBuffersNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, bufs");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLenum*	bufs = INT2PTR(const GLenum *,SvIV(ST(1)))
;
#line 6937 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawBuffersNV", )
  OGLM_AVAIL_CHECK(__glewDrawBuffersNV, glDrawBuffersNV)
  glDrawBuffersNV(n, bufs);
  OGLM_CHECK_ERR("glDrawBuffersNV", )
#line 14386 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawBuffersNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawBuffersNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 6946 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawBuffersNV", )
  OGLM_AVAIL_CHECK(__glewDrawBuffersNV, glDrawBuffersNV)
  GLsizei n = items;
  GLenum* bufs = OGLM_GET_VARARGS(bufs,0,GLenum,IV,n);
  glDrawBuffersNV((GLsizei )n, (const GLenum* )bufs);
  OGLM_CHECK_ERR("glDrawBuffersNV", free(bufs);)
  free(bufs);
#line 14408 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawCommandsAddressNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawCommandsAddressNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "primitiveMode, indirects, sizes, count");
    {
	GLenum	primitiveMode = (int)SvIV(ST(0))
;
	const GLuint64*	indirects = INT2PTR(const GLuint64 *,SvIV(ST(1)))
;
	const GLsizei*	sizes = INT2PTR(const GLsizei *,SvIV(ST(2)))
;
	GLuint	count = (unsigned int)SvUV(ST(3))
;
#line 6962 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawCommandsAddressNV", )
  OGLM_AVAIL_CHECK(__glewDrawCommandsAddressNV, glDrawCommandsAddressNV)
  glDrawCommandsAddressNV(primitiveMode, indirects, sizes, count);
  OGLM_CHECK_ERR("glDrawCommandsAddressNV", )
#line 14435 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawCommandsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawCommandsNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "primitiveMode, buffer, indirects, sizes, count");
    {
	GLenum	primitiveMode = (int)SvIV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	const GLintptr*	indirects = INT2PTR(const GLintptr *,SvIV(ST(2)))
;
	const GLsizei*	sizes = INT2PTR(const GLsizei *,SvIV(ST(3)))
;
	GLuint	count = (unsigned int)SvUV(ST(4))
;
#line 6976 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawCommandsNV", )
  OGLM_AVAIL_CHECK(__glewDrawCommandsNV, glDrawCommandsNV)
  glDrawCommandsNV(primitiveMode, buffer, indirects, sizes, count);
  OGLM_CHECK_ERR("glDrawCommandsNV", )
#line 14464 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawCommandsStatesAddressNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawCommandsStatesAddressNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "indirects, sizes, states, fbos, count");
    {
	const GLuint64*	indirects = INT2PTR(const GLuint64 *,SvIV(ST(0)))
;
	const GLsizei*	sizes = INT2PTR(const GLsizei *,SvIV(ST(1)))
;
	const GLuint*	states = INT2PTR(const GLuint *,SvIV(ST(2)))
;
	const GLuint*	fbos = INT2PTR(const GLuint *,SvIV(ST(3)))
;
	GLuint	count = (unsigned int)SvUV(ST(4))
;
#line 6990 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawCommandsStatesAddressNV", )
  OGLM_AVAIL_CHECK(__glewDrawCommandsStatesAddressNV, glDrawCommandsStatesAddressNV)
  glDrawCommandsStatesAddressNV(indirects, sizes, states, fbos, count);
  OGLM_CHECK_ERR("glDrawCommandsStatesAddressNV", )
#line 14493 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawCommandsStatesNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawCommandsStatesNV_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "buffer, indirects, sizes, states, fbos, count");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	const GLintptr*	indirects = INT2PTR(const GLintptr *,SvIV(ST(1)))
;
	const GLsizei*	sizes = INT2PTR(const GLsizei *,SvIV(ST(2)))
;
	const GLuint*	states = INT2PTR(const GLuint *,SvIV(ST(3)))
;
	const GLuint*	fbos = INT2PTR(const GLuint *,SvIV(ST(4)))
;
	GLuint	count = (unsigned int)SvUV(ST(5))
;
#line 7005 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawCommandsStatesNV", )
  OGLM_AVAIL_CHECK(__glewDrawCommandsStatesNV, glDrawCommandsStatesNV)
  glDrawCommandsStatesNV(buffer, indirects, sizes, states, fbos, count);
  OGLM_CHECK_ERR("glDrawCommandsStatesNV", )
#line 14524 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawElementArrayAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawElementArrayAPPLE)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "mode, first, count");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLint	first = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 7017 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawElementArrayAPPLE", )
  OGLM_AVAIL_CHECK(__glewDrawElementArrayAPPLE, glDrawElementArrayAPPLE)
  glDrawElementArrayAPPLE(mode, first, count);
  OGLM_CHECK_ERR("glDrawElementArrayAPPLE", )
#line 14549 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawElementArrayATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawElementArrayATI)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "mode, count");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 7028 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawElementArrayATI", )
  OGLM_AVAIL_CHECK(__glewDrawElementArrayATI, glDrawElementArrayATI)
  glDrawElementArrayATI(mode, count);
  OGLM_CHECK_ERR("glDrawElementArrayATI", )
#line 14572 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawElements_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawElements_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "mode, count, type, indices");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	const void *	indices = INT2PTR(const void *,SvIV(ST(3)))
;
#line 7041 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawElements", )
  glDrawElements(mode, count, type, indices);
  OGLM_CHECK_ERR("glDrawElements", )
#line 14598 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawElementsBaseVertex_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawElementsBaseVertex_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "mode, count, type, indices, basevertex");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	const void *	indices = INT2PTR(const void *,SvIV(ST(3)))
;
	GLint	basevertex = (int)SvIV(ST(4))
;
#line 7056 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawElementsBaseVertex", )
  OGLM_AVAIL_CHECK(__glewDrawElementsBaseVertex, glDrawElementsBaseVertex)
  glDrawElementsBaseVertex(mode, count, type, indices, basevertex);
  OGLM_CHECK_ERR("glDrawElementsBaseVertex", )
#line 14628 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawElementsIndirect_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawElementsIndirect_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "mode, type, indirect");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const void *	indirect = INT2PTR(const void *,SvIV(ST(2)))
;
#line 7068 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawElementsIndirect", )
  OGLM_AVAIL_CHECK(__glewDrawElementsIndirect, glDrawElementsIndirect)
  glDrawElementsIndirect(mode, type, indirect);
  OGLM_CHECK_ERR("glDrawElementsIndirect", )
#line 14653 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawElementsInstanced_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawElementsInstanced_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "mode, count, type, indices, instancecount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	const void*	indices = INT2PTR(const void *,SvIV(ST(3)))
;
	GLsizei	instancecount = (int)SvIV(ST(4))
;
#line 7087 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawElementsInstanced", )
  OGLM_AVAIL_CHECK(__glewDrawElementsInstanced, glDrawElementsInstanced)
  glDrawElementsInstanced(mode, count, type, indices, instancecount);
  OGLM_CHECK_ERR("glDrawElementsInstanced", )
#line 14683 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawElementsInstancedBaseInstance_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawElementsInstancedBaseInstance_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "mode, count, type, indices, instancecount, baseinstance");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	const void *	indices = INT2PTR(const void *,SvIV(ST(3)))
;
	GLsizei	instancecount = (int)SvIV(ST(4))
;
	GLuint	baseinstance = (unsigned int)SvUV(ST(5))
;
#line 7104 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawElementsInstancedBaseInstance", )
  OGLM_AVAIL_CHECK(__glewDrawElementsInstancedBaseInstance, glDrawElementsInstancedBaseInstance)
  glDrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance);
  OGLM_CHECK_ERR("glDrawElementsInstancedBaseInstance", )
#line 14715 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawElementsInstancedBaseVertex_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawElementsInstancedBaseVertex_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "mode, count, type, indices, instancecount, basevertex");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	const void *	indices = INT2PTR(const void *,SvIV(ST(3)))
;
	GLsizei	instancecount = (int)SvIV(ST(4))
;
	GLint	basevertex = (int)SvIV(ST(5))
;
#line 7121 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawElementsInstancedBaseVertex", )
  OGLM_AVAIL_CHECK(__glewDrawElementsInstancedBaseVertex, glDrawElementsInstancedBaseVertex)
  glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
  OGLM_CHECK_ERR("glDrawElementsInstancedBaseVertex", )
#line 14747 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawElementsInstancedBaseVertexBaseInstance_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawElementsInstancedBaseVertexBaseInstance_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 7)
       croak_xs_usage(cv,  "mode, count, type, indices, instancecount, basevertex, baseinstance");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	const void *	indices = INT2PTR(const void *,SvIV(ST(3)))
;
	GLsizei	instancecount = (int)SvIV(ST(4))
;
	GLint	basevertex = (int)SvIV(ST(5))
;
	GLuint	baseinstance = (unsigned int)SvUV(ST(6))
;
#line 7139 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawElementsInstancedBaseVertexBaseInstance", )
  OGLM_AVAIL_CHECK(__glewDrawElementsInstancedBaseVertexBaseInstance, glDrawElementsInstancedBaseVertexBaseInstance)
  glDrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance);
  OGLM_CHECK_ERR("glDrawElementsInstancedBaseVertexBaseInstance", )
#line 14781 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawMeshTasksEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawMeshTasksEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "num_groups_x, num_groups_y, num_groups_z");
    {
	GLuint	num_groups_x = (unsigned int)SvUV(ST(0))
;
	GLuint	num_groups_y = (unsigned int)SvUV(ST(1))
;
	GLuint	num_groups_z = (unsigned int)SvUV(ST(2))
;
#line 7151 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawMeshTasksEXT", )
  OGLM_AVAIL_CHECK(__glewDrawMeshTasksEXT, glDrawMeshTasksEXT)
  glDrawMeshTasksEXT(num_groups_x, num_groups_y, num_groups_z);
  OGLM_CHECK_ERR("glDrawMeshTasksEXT", )
#line 14806 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawMeshTasksIndirectEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawMeshTasksIndirectEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "indirect");
    {
	GLintptr	indirect = (unsigned int)SvUV(ST(0))
;
#line 7161 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawMeshTasksIndirectEXT", )
  OGLM_AVAIL_CHECK(__glewDrawMeshTasksIndirectEXT, glDrawMeshTasksIndirectEXT)
  glDrawMeshTasksIndirectEXT(indirect);
  OGLM_CHECK_ERR("glDrawMeshTasksIndirectEXT", )
#line 14827 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawMeshTasksIndirectNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawMeshTasksIndirectNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "indirect");
    {
	GLintptr	indirect = (unsigned int)SvUV(ST(0))
;
#line 7171 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawMeshTasksIndirectNV", )
  OGLM_AVAIL_CHECK(__glewDrawMeshTasksIndirectNV, glDrawMeshTasksIndirectNV)
  glDrawMeshTasksIndirectNV(indirect);
  OGLM_CHECK_ERR("glDrawMeshTasksIndirectNV", )
#line 14848 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawMeshTasksNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawMeshTasksNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "first, count");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
	GLuint	count = (unsigned int)SvUV(ST(1))
;
#line 7182 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawMeshTasksNV", )
  OGLM_AVAIL_CHECK(__glewDrawMeshTasksNV, glDrawMeshTasksNV)
  glDrawMeshTasksNV(first, count);
  OGLM_CHECK_ERR("glDrawMeshTasksNV", )
#line 14871 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawPixels_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawPixels_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "width, height, format, type, pixels");
    {
	GLsizei	width = (int)SvIV(ST(0))
;
	GLsizei	height = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(4)))
;
#line 7196 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawPixels", )
  glDrawPixels(width, height, format, type, pixels);
  OGLM_CHECK_ERR("glDrawPixels", )
#line 14899 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawRangeElementArrayAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawRangeElementArrayAPPLE)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "mode, start, end, first, count");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLuint	start = (unsigned int)SvUV(ST(1))
;
	GLuint	end = (unsigned int)SvUV(ST(2))
;
	GLint	first = (int)SvIV(ST(3))
;
	GLsizei	count = (int)SvIV(ST(4))
;
#line 7209 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawRangeElementArrayAPPLE", )
  OGLM_AVAIL_CHECK(__glewDrawRangeElementArrayAPPLE, glDrawRangeElementArrayAPPLE)
  glDrawRangeElementArrayAPPLE(mode, start, end, first, count);
  OGLM_CHECK_ERR("glDrawRangeElementArrayAPPLE", )
#line 14928 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawRangeElementArrayATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawRangeElementArrayATI)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "mode, start, end, count");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLuint	start = (unsigned int)SvUV(ST(1))
;
	GLuint	end = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
#line 7222 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawRangeElementArrayATI", )
  OGLM_AVAIL_CHECK(__glewDrawRangeElementArrayATI, glDrawRangeElementArrayATI)
  glDrawRangeElementArrayATI(mode, start, end, count);
  OGLM_CHECK_ERR("glDrawRangeElementArrayATI", )
#line 14955 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawRangeElements_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawRangeElements_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "mode, start, end, count, type, indices");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLuint	start = (unsigned int)SvUV(ST(1))
;
	GLuint	end = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	const void *	indices = INT2PTR(const void *,SvIV(ST(5)))
;
#line 7239 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawRangeElements", )
  OGLM_AVAIL_CHECK(__glewDrawRangeElements, glDrawRangeElements)
  glDrawRangeElements(mode, start, end, count, type, indices);
  OGLM_CHECK_ERR("glDrawRangeElements", )
#line 14987 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawRangeElementsBaseVertex_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawRangeElementsBaseVertex_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 7)
       croak_xs_usage(cv,  "mode, start, end, count, type, indices, basevertex");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLuint	start = (unsigned int)SvUV(ST(1))
;
	GLuint	end = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	const void *	indices = INT2PTR(const void *,SvIV(ST(5)))
;
	GLint	basevertex = (int)SvIV(ST(6))
;
#line 7257 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawRangeElementsBaseVertex", )
  OGLM_AVAIL_CHECK(__glewDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex)
  glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
  OGLM_CHECK_ERR("glDrawRangeElementsBaseVertex", )
#line 15021 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawTextureNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawTextureNV)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "texture, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLuint	sampler = (unsigned int)SvUV(ST(1))
;
	GLfloat	x0 = (float)SvNV(ST(2))
;
	GLfloat	y0 = (float)SvNV(ST(3))
;
	GLfloat	x1 = (float)SvNV(ST(4))
;
	GLfloat	y1 = (float)SvNV(ST(5))
;
	GLfloat	z = (float)SvNV(ST(6))
;
	GLfloat	s0 = (float)SvNV(ST(7))
;
	GLfloat	t0 = (float)SvNV(ST(8))
;
	GLfloat	s1 = (float)SvNV(ST(9))
;
	GLfloat	t1 = (float)SvNV(ST(10))
;
#line 7277 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawTextureNV", )
  OGLM_AVAIL_CHECK(__glewDrawTextureNV, glDrawTextureNV)
  glDrawTextureNV(texture, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1);
  OGLM_CHECK_ERR("glDrawTextureNV", )
#line 15062 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawTransformFeedback); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawTransformFeedback)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "mode, id");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
#line 7291 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawTransformFeedback", )
  OGLM_AVAIL_CHECK(__glewDrawTransformFeedback, glDrawTransformFeedback)
  glDrawTransformFeedback(mode, id);
  OGLM_CHECK_ERR("glDrawTransformFeedback", )
#line 15086 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawTransformFeedbackInstanced); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawTransformFeedbackInstanced)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "mode, id, instancecount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
	GLsizei	instancecount = (int)SvIV(ST(2))
;
#line 7305 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawTransformFeedbackInstanced", )
  OGLM_AVAIL_CHECK(__glewDrawTransformFeedbackInstanced, glDrawTransformFeedbackInstanced)
  glDrawTransformFeedbackInstanced(mode, id, instancecount);
  OGLM_CHECK_ERR("glDrawTransformFeedbackInstanced", )
#line 15112 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawTransformFeedbackStream); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawTransformFeedbackStream)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "mode, id, stream");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
	GLuint	stream = (unsigned int)SvUV(ST(2))
;
#line 7317 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawTransformFeedbackStream", )
  OGLM_AVAIL_CHECK(__glewDrawTransformFeedbackStream, glDrawTransformFeedbackStream)
  glDrawTransformFeedbackStream(mode, id, stream);
  OGLM_CHECK_ERR("glDrawTransformFeedbackStream", )
#line 15137 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawTransformFeedbackStreamInstanced); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawTransformFeedbackStreamInstanced)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "mode, id, stream, instancecount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
	GLuint	stream = (unsigned int)SvUV(ST(2))
;
	GLsizei	instancecount = (int)SvIV(ST(3))
;
#line 7330 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawTransformFeedbackStreamInstanced", )
  OGLM_AVAIL_CHECK(__glewDrawTransformFeedbackStreamInstanced, glDrawTransformFeedbackStreamInstanced)
  glDrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount);
  OGLM_CHECK_ERR("glDrawTransformFeedbackStreamInstanced", )
#line 15164 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glDrawVkImageNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glDrawVkImageNV)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1");
    {
	GLuint64	vkImage = (unsigned int)SvUV(ST(0))
;
	GLuint	sampler = (unsigned int)SvUV(ST(1))
;
	GLfloat	x0 = (float)SvNV(ST(2))
;
	GLfloat	y0 = (float)SvNV(ST(3))
;
	GLfloat	x1 = (float)SvNV(ST(4))
;
	GLfloat	y1 = (float)SvNV(ST(5))
;
	GLfloat	z = (float)SvNV(ST(6))
;
	GLfloat	s0 = (float)SvNV(ST(7))
;
	GLfloat	t0 = (float)SvNV(ST(8))
;
	GLfloat	s1 = (float)SvNV(ST(9))
;
	GLfloat	t1 = (float)SvNV(ST(10))
;
#line 7350 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glDrawVkImageNV", )
  OGLM_AVAIL_CHECK(__glewDrawVkImageNV, glDrawVkImageNV)
  glDrawVkImageNV(vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1);
  OGLM_CHECK_ERR("glDrawVkImageNV", )
#line 15205 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEGLImageTargetRenderbufferStorageOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEGLImageTargetRenderbufferStorageOES)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, image");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLeglImageOES	image = INT2PTR(GLeglImageOES,SvIV(ST(1)))
;
#line 7361 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEGLImageTargetRenderbufferStorageOES", )
  OGLM_AVAIL_CHECK(__glewEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES)
  glEGLImageTargetRenderbufferStorageOES(target, image);
  OGLM_CHECK_ERR("glEGLImageTargetRenderbufferStorageOES", )
#line 15228 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEGLImageTargetTexStorageEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEGLImageTargetTexStorageEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, image, attrib_list");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLeglImageOES	image = INT2PTR(GLeglImageOES,SvIV(ST(1)))
;
	const GLint*	attrib_list = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 7373 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEGLImageTargetTexStorageEXT", )
  OGLM_AVAIL_CHECK(__glewEGLImageTargetTexStorageEXT, glEGLImageTargetTexStorageEXT)
  glEGLImageTargetTexStorageEXT(target, image, attrib_list);
  OGLM_CHECK_ERR("glEGLImageTargetTexStorageEXT", )
#line 15253 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEGLImageTargetTexture2DOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEGLImageTargetTexture2DOES)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, image");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLeglImageOES	image = INT2PTR(GLeglImageOES,SvIV(ST(1)))
;
#line 7384 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEGLImageTargetTexture2DOES", )
  OGLM_AVAIL_CHECK(__glewEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES)
  glEGLImageTargetTexture2DOES(target, image);
  OGLM_CHECK_ERR("glEGLImageTargetTexture2DOES", )
#line 15276 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEGLImageTargetTextureStorageEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEGLImageTargetTextureStorageEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, image, attrib_list");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLeglImageOES	image = INT2PTR(GLeglImageOES,SvIV(ST(1)))
;
	const GLint*	attrib_list = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 7396 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEGLImageTargetTextureStorageEXT", )
  OGLM_AVAIL_CHECK(__glewEGLImageTargetTextureStorageEXT, glEGLImageTargetTextureStorageEXT)
  glEGLImageTargetTextureStorageEXT(texture, image, attrib_list);
  OGLM_CHECK_ERR("glEGLImageTargetTextureStorageEXT", )
#line 15301 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEdgeFlag); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEdgeFlag)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "flag");
    {
	GLboolean	flag = (int)SvIV(ST(0))
;
#line 7406 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEdgeFlag", )
  glEdgeFlag(flag);
  OGLM_CHECK_ERR("glEdgeFlag", )
#line 15321 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagFormatNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagFormatNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "stride");
    {
	GLsizei	stride = (int)SvIV(ST(0))
;
#line 7415 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEdgeFlagFormatNV", )
  OGLM_AVAIL_CHECK(__glewEdgeFlagFormatNV, glEdgeFlagFormatNV)
  glEdgeFlagFormatNV(stride);
  OGLM_CHECK_ERR("glEdgeFlagFormatNV", )
#line 15342 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagPointer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagPointer_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stride, pointer");
    {
	GLsizei	stride = (int)SvIV(ST(0))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(1)))
;
#line 7426 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEdgeFlagPointer", )
  glEdgeFlagPointer(stride, pointer);
  OGLM_CHECK_ERR("glEdgeFlagPointer", )
#line 15364 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagPointerEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagPointerEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "stride, count, pointer");
    {
	GLsizei	stride = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLboolean*	pointer = INT2PTR(const GLboolean *,SvIV(ST(2)))
;
#line 7437 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEdgeFlagPointerEXT", )
  OGLM_AVAIL_CHECK(__glewEdgeFlagPointerEXT, glEdgeFlagPointerEXT)
  glEdgeFlagPointerEXT(stride, count, pointer);
  OGLM_CHECK_ERR("glEdgeFlagPointerEXT", )
#line 15389 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagPointerListIBM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagPointerListIBM_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "stride, pointer, ptrstride");
    {
	GLint	stride = (int)SvIV(ST(0))
;
	const GLboolean **	pointer = INT2PTR(const GLboolean **,SvIV(ST(1)))
;
	GLint	ptrstride = (int)SvIV(ST(2))
;
#line 7449 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEdgeFlagPointerListIBM", )
  OGLM_AVAIL_CHECK(__glewEdgeFlagPointerListIBM, glEdgeFlagPointerListIBM)
  glEdgeFlagPointerListIBM(stride, pointer, ptrstride);
  OGLM_CHECK_ERR("glEdgeFlagPointerListIBM", )
#line 15414 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "flag");
    {
	const GLboolean *	flag = INT2PTR(const GLboolean *,SvIV(ST(0)))
;
#line 7459 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEdgeFlagv", )
  glEdgeFlagv(flag);
  OGLM_CHECK_ERR("glEdgeFlagv", )
#line 15434 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEdgeFlagv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 7467 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEdgeFlagv", )
  GLboolean *flag = OGLM_GET_VARARGS(flag,0,GLboolean,IV,1);
  glEdgeFlagv((const GLboolean *)flag);
  OGLM_CHECK_ERR("glEdgeFlagv", free(flag);)
  free(flag);
#line 15454 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glElementPointerAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glElementPointerAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(1)))
;
#line 7479 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glElementPointerAPPLE", )
  OGLM_AVAIL_CHECK(__glewElementPointerAPPLE, glElementPointerAPPLE)
  glElementPointerAPPLE(type, pointer);
  OGLM_CHECK_ERR("glElementPointerAPPLE", )
#line 15477 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glElementPointerATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glElementPointerATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(1)))
;
#line 7490 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glElementPointerATI", )
  OGLM_AVAIL_CHECK(__glewElementPointerATI, glElementPointerATI)
  glElementPointerATI(type, pointer);
  OGLM_CHECK_ERR("glElementPointerATI", )
#line 15500 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "cap");
    {
	GLenum	cap = (int)SvIV(ST(0))
;
#line 7500 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnable", )
  glEnable(cap);
  OGLM_CHECK_ERR("glEnable", )
#line 15520 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnableClientState); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnableClientState)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "array");
    {
	GLenum	array = (int)SvIV(ST(0))
;
#line 7509 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnableClientState", )
  glEnableClientState(array);
  OGLM_CHECK_ERR("glEnableClientState", )
#line 15540 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnableClientStateIndexedEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnableClientStateIndexedEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "array, index");
    {
	GLenum	array = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 7519 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnableClientStateIndexedEXT", )
  OGLM_AVAIL_CHECK(__glewEnableClientStateIndexedEXT, glEnableClientStateIndexedEXT)
  glEnableClientStateIndexedEXT(array, index);
  OGLM_CHECK_ERR("glEnableClientStateIndexedEXT", )
#line 15563 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnableClientStateiEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnableClientStateiEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "array, index");
    {
	GLenum	array = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 7530 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnableClientStateiEXT", )
  OGLM_AVAIL_CHECK(__glewEnableClientStateiEXT, glEnableClientStateiEXT)
  glEnableClientStateiEXT(array, index);
  OGLM_CHECK_ERR("glEnableClientStateiEXT", )
#line 15586 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnableDriverControlQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnableDriverControlQCOM)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "driverControl");
    {
	GLuint	driverControl = (unsigned int)SvUV(ST(0))
;
#line 7540 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnableDriverControlQCOM", )
  OGLM_AVAIL_CHECK(__glewEnableDriverControlQCOM, glEnableDriverControlQCOM)
  glEnableDriverControlQCOM(driverControl);
  OGLM_CHECK_ERR("glEnableDriverControlQCOM", )
#line 15607 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnableVariantClientStateEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnableVariantClientStateEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
#line 7550 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnableVariantClientStateEXT", )
  OGLM_AVAIL_CHECK(__glewEnableVariantClientStateEXT, glEnableVariantClientStateEXT)
  glEnableVariantClientStateEXT(id);
  OGLM_CHECK_ERR("glEnableVariantClientStateEXT", )
#line 15628 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnableVertexArrayAttrib); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnableVertexArrayAttrib)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "vaobj, index");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 7561 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnableVertexArrayAttrib", )
  OGLM_AVAIL_CHECK(__glewEnableVertexArrayAttrib, glEnableVertexArrayAttrib)
  glEnableVertexArrayAttrib(vaobj, index);
  OGLM_CHECK_ERR("glEnableVertexArrayAttrib", )
#line 15651 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnableVertexArrayAttribEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnableVertexArrayAttribEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "vaobj, index");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 7572 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnableVertexArrayAttribEXT", )
  OGLM_AVAIL_CHECK(__glewEnableVertexArrayAttribEXT, glEnableVertexArrayAttribEXT)
  glEnableVertexArrayAttribEXT(vaobj, index);
  OGLM_CHECK_ERR("glEnableVertexArrayAttribEXT", )
#line 15674 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnableVertexArrayEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnableVertexArrayEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "vaobj, array");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLenum	array = (int)SvIV(ST(1))
;
#line 7583 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnableVertexArrayEXT", )
  OGLM_AVAIL_CHECK(__glewEnableVertexArrayEXT, glEnableVertexArrayEXT)
  glEnableVertexArrayEXT(vaobj, array);
  OGLM_CHECK_ERR("glEnableVertexArrayEXT", )
#line 15697 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnableVertexAttribAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnableVertexAttribAPPLE)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 7594 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnableVertexAttribAPPLE", )
  OGLM_AVAIL_CHECK(__glewEnableVertexAttribAPPLE, glEnableVertexAttribAPPLE)
  glEnableVertexAttribAPPLE(index, pname);
  OGLM_CHECK_ERR("glEnableVertexAttribAPPLE", )
#line 15720 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnableVertexAttribArray); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnableVertexAttribArray)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "index");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 7606 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnableVertexAttribArray", )
  OGLM_AVAIL_CHECK(__glewEnableVertexAttribArray, glEnableVertexAttribArray)
  glEnableVertexAttribArray(index);
  OGLM_CHECK_ERR("glEnableVertexAttribArray", )
#line 15742 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnablei); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnablei)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 7621 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnablei", )
  OGLM_AVAIL_CHECK(__glewEnablei, glEnablei)
  glEnablei(target, index);
  OGLM_CHECK_ERR("glEnablei", )
#line 15766 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnableiOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnableiOES)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 7632 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnableiOES", )
  OGLM_AVAIL_CHECK(__glewEnableiOES, glEnableiOES)
  glEnableiOES(target, index);
  OGLM_CHECK_ERR("glEnableiOES", )
#line 15789 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEnd); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEnd)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 7641 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEnd", )
  glEnd();
  OGLM_CHECK_ERR("glEnd", )
#line 15807 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndConditionalRender); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndConditionalRender)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 7652 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndConditionalRender", )
  OGLM_AVAIL_CHECK(__glewEndConditionalRender, glEndConditionalRender)
  glEndConditionalRender();
  OGLM_CHECK_ERR("glEndConditionalRender", )
#line 15827 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndFragmentShaderATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndFragmentShaderATI)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 7661 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndFragmentShaderATI", )
  OGLM_AVAIL_CHECK(__glewEndFragmentShaderATI, glEndFragmentShaderATI)
  glEndFragmentShaderATI();
  OGLM_CHECK_ERR("glEndFragmentShaderATI", )
#line 15846 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndList); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndList)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 7670 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndList", )
  glEndList();
  OGLM_CHECK_ERR("glEndList", )
#line 15864 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndOcclusionQueryNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndOcclusionQueryNV)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 7678 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndOcclusionQueryNV", )
  OGLM_AVAIL_CHECK(__glewEndOcclusionQueryNV, glEndOcclusionQueryNV)
  glEndOcclusionQueryNV();
  OGLM_CHECK_ERR("glEndOcclusionQueryNV", )
#line 15883 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndPerfMonitorAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndPerfMonitorAMD)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "monitor");
    {
	GLuint	monitor = (unsigned int)SvUV(ST(0))
;
#line 7688 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndPerfMonitorAMD", )
  OGLM_AVAIL_CHECK(__glewEndPerfMonitorAMD, glEndPerfMonitorAMD)
  glEndPerfMonitorAMD(monitor);
  OGLM_CHECK_ERR("glEndPerfMonitorAMD", )
#line 15904 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndPerfQueryINTEL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndPerfQueryINTEL)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "queryHandle");
    {
	GLuint	queryHandle = (unsigned int)SvUV(ST(0))
;
#line 7698 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndPerfQueryINTEL", )
  OGLM_AVAIL_CHECK(__glewEndPerfQueryINTEL, glEndPerfQueryINTEL)
  glEndPerfQueryINTEL(queryHandle);
  OGLM_CHECK_ERR("glEndPerfQueryINTEL", )
#line 15925 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndQuery); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndQuery)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 7710 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndQuery", )
  OGLM_AVAIL_CHECK(__glewEndQuery, glEndQuery)
  glEndQuery(target);
  OGLM_CHECK_ERR("glEndQuery", )
#line 15947 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndQueryANGLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndQueryANGLE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 7720 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndQueryANGLE", )
  OGLM_AVAIL_CHECK(__glewEndQueryANGLE, glEndQueryANGLE)
  glEndQueryANGLE(target);
  OGLM_CHECK_ERR("glEndQueryANGLE", )
#line 15968 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndQueryEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndQueryEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 7730 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndQueryEXT", )
  OGLM_AVAIL_CHECK(__glewEndQueryEXT, glEndQueryEXT)
  glEndQueryEXT(target);
  OGLM_CHECK_ERR("glEndQueryEXT", )
#line 15989 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndQueryIndexed); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndQueryIndexed)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 7741 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndQueryIndexed", )
  OGLM_AVAIL_CHECK(__glewEndQueryIndexed, glEndQueryIndexed)
  glEndQueryIndexed(target, index);
  OGLM_CHECK_ERR("glEndQueryIndexed", )
#line 16012 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndSceneEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndSceneEXT)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 7750 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndSceneEXT", )
  OGLM_AVAIL_CHECK(__glewEndSceneEXT, glEndSceneEXT)
  glEndSceneEXT();
  OGLM_CHECK_ERR("glEndSceneEXT", )
#line 16031 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndTilingQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndTilingQCOM)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "preserveMask");
    {
	GLbitfield	preserveMask = (int)SvIV(ST(0))
;
#line 7760 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndTilingQCOM", )
  OGLM_AVAIL_CHECK(__glewEndTilingQCOM, glEndTilingQCOM)
  glEndTilingQCOM(preserveMask);
  OGLM_CHECK_ERR("glEndTilingQCOM", )
#line 16052 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndTransformFeedback); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndTransformFeedback)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 7772 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndTransformFeedback", )
  OGLM_AVAIL_CHECK(__glewEndTransformFeedback, glEndTransformFeedback)
  glEndTransformFeedback();
  OGLM_CHECK_ERR("glEndTransformFeedback", )
#line 16072 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndVertexShaderEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndVertexShaderEXT)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 7781 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndVertexShaderEXT", )
  OGLM_AVAIL_CHECK(__glewEndVertexShaderEXT, glEndVertexShaderEXT)
  glEndVertexShaderEXT();
  OGLM_CHECK_ERR("glEndVertexShaderEXT", )
#line 16091 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEndVideoCaptureNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEndVideoCaptureNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "video_capture_slot");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
#line 7791 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEndVideoCaptureNV", )
  OGLM_AVAIL_CHECK(__glewEndVideoCaptureNV, glEndVideoCaptureNV)
  glEndVideoCaptureNV(video_capture_slot);
  OGLM_CHECK_ERR("glEndVideoCaptureNV", )
#line 16112 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1d)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "u");
    {
	GLdouble	u = (double)SvNV(ST(0))
;
#line 7801 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord1d", )
  glEvalCoord1d(u);
  OGLM_CHECK_ERR("glEvalCoord1d", )
#line 16132 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "u");
    {
	const GLdouble *	u = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 7810 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord1dv", )
  glEvalCoord1dv(u);
  OGLM_CHECK_ERR("glEvalCoord1dv", )
#line 16152 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 7818 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord1dv", )
  GLdouble *u = OGLM_GET_VARARGS(u,0,GLdouble,NV,1);
  glEvalCoord1dv((const GLdouble *)u);
  OGLM_CHECK_ERR("glEvalCoord1dv", free(u);)
  free(u);
#line 16172 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1f)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "u");
    {
	GLfloat	u = (float)SvNV(ST(0))
;
#line 7829 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord1f", )
  glEvalCoord1f(u);
  OGLM_CHECK_ERR("glEvalCoord1f", )
#line 16192 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "u");
    {
	const GLfloat *	u = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 7838 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord1fv", )
  glEvalCoord1fv(u);
  OGLM_CHECK_ERR("glEvalCoord1fv", )
#line 16212 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord1fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 7846 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord1fv", )
  GLfloat *u = OGLM_GET_VARARGS(u,0,GLfloat,NV,1);
  glEvalCoord1fv((const GLfloat *)u);
  OGLM_CHECK_ERR("glEvalCoord1fv", free(u);)
  free(u);
#line 16232 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2d)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "u, v");
    {
	GLdouble	u = (double)SvNV(ST(0))
;
	GLdouble	v = (double)SvNV(ST(1))
;
#line 7858 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord2d", )
  glEvalCoord2d(u, v);
  OGLM_CHECK_ERR("glEvalCoord2d", )
#line 16254 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "u");
    {
	const GLdouble *	u = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 7867 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord2dv", )
  glEvalCoord2dv(u);
  OGLM_CHECK_ERR("glEvalCoord2dv", )
#line 16274 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 7875 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord2dv", )
  GLdouble *u = OGLM_GET_VARARGS(u,0,GLdouble,NV,2);
  glEvalCoord2dv((const GLdouble *)u);
  OGLM_CHECK_ERR("glEvalCoord2dv", free(u);)
  free(u);
#line 16294 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2f)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "u, v");
    {
	GLfloat	u = (float)SvNV(ST(0))
;
	GLfloat	v = (float)SvNV(ST(1))
;
#line 7887 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord2f", )
  glEvalCoord2f(u, v);
  OGLM_CHECK_ERR("glEvalCoord2f", )
#line 16316 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "u");
    {
	const GLfloat *	u = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 7896 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord2fv", )
  glEvalCoord2fv(u);
  OGLM_CHECK_ERR("glEvalCoord2fv", )
#line 16336 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalCoord2fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 7904 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalCoord2fv", )
  GLfloat *u = OGLM_GET_VARARGS(u,0,GLfloat,NV,2);
  glEvalCoord2fv((const GLfloat *)u);
  OGLM_CHECK_ERR("glEvalCoord2fv", free(u);)
  free(u);
#line 16356 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalMapsNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalMapsNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, mode");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 7916 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalMapsNV", )
  OGLM_AVAIL_CHECK(__glewEvalMapsNV, glEvalMapsNV)
  glEvalMapsNV(target, mode);
  OGLM_CHECK_ERR("glEvalMapsNV", )
#line 16379 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalMesh1); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalMesh1)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "mode, i1, i2");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLint	i1 = (int)SvIV(ST(1))
;
	GLint	i2 = (int)SvIV(ST(2))
;
#line 7928 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalMesh1", )
  glEvalMesh1(mode, i1, i2);
  OGLM_CHECK_ERR("glEvalMesh1", )
#line 16403 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalMesh2); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalMesh2)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "mode, i1, i2, j1, j2");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLint	i1 = (int)SvIV(ST(1))
;
	GLint	i2 = (int)SvIV(ST(2))
;
	GLint	j1 = (int)SvIV(ST(3))
;
	GLint	j2 = (int)SvIV(ST(4))
;
#line 7941 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalMesh2", )
  glEvalMesh2(mode, i1, i2, j1, j2);
  OGLM_CHECK_ERR("glEvalMesh2", )
#line 16431 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalPoint1); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalPoint1)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "i");
    {
	GLint	i = (int)SvIV(ST(0))
;
#line 7950 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalPoint1", )
  glEvalPoint1(i);
  OGLM_CHECK_ERR("glEvalPoint1", )
#line 16451 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvalPoint2); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvalPoint2)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "i, j");
    {
	GLint	i = (int)SvIV(ST(0))
;
	GLint	j = (int)SvIV(ST(1))
;
#line 7960 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvalPoint2", )
  glEvalPoint2(i, j);
  OGLM_CHECK_ERR("glEvalPoint2", )
#line 16473 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glEvaluateDepthValuesARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glEvaluateDepthValuesARB)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 7968 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glEvaluateDepthValuesARB", )
  OGLM_AVAIL_CHECK(__glewEvaluateDepthValuesARB, glEvaluateDepthValuesARB)
  glEvaluateDepthValuesARB();
  OGLM_CHECK_ERR("glEvaluateDepthValuesARB", )
#line 16492 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExecuteProgramNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExecuteProgramNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, id, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 7980 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExecuteProgramNV", )
  OGLM_AVAIL_CHECK(__glewExecuteProgramNV, glExecuteProgramNV)
  glExecuteProgramNV(target, id, params);
  OGLM_CHECK_ERR("glExecuteProgramNV", )
#line 16517 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExecuteProgramNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExecuteProgramNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, id, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
#line 7991 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExecuteProgramNV", )
  OGLM_AVAIL_CHECK(__glewExecuteProgramNV, glExecuteProgramNV)
  GLfloat* params = OGLM_GET_VARARGS(params,2,GLfloat,NV,4);
  glExecuteProgramNV((GLenum )target, (GLuint )id, (const GLfloat* )params);
  OGLM_CHECK_ERR("glExecuteProgramNV", free(params);)
  free(params);
#line 16542 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetBufferPointervQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetBufferPointervQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	void**	params = INT2PTR(void **,SvIV(ST(1)))
;
#line 8004 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetBufferPointervQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetBufferPointervQCOM, glExtGetBufferPointervQCOM)
  glExtGetBufferPointervQCOM(target, params);
  OGLM_CHECK_ERR("glExtGetBufferPointervQCOM", )
#line 16565 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetBuffersQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetBuffersQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffers, maxBuffers, numBuffers");
    {
	GLuint*	buffers = INT2PTR(GLuint *,SvIV(ST(0)))
;
	GLint	maxBuffers = (int)SvIV(ST(1))
;
	GLint*	numBuffers = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 8016 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetBuffersQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetBuffersQCOM, glExtGetBuffersQCOM)
  glExtGetBuffersQCOM(buffers, maxBuffers, numBuffers);
  OGLM_CHECK_ERR("glExtGetBuffersQCOM", )
#line 16590 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetBuffersQCOM_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetBuffersQCOM_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "maxBuffers");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	maxBuffers = (int)SvIV(ST(0))
;
#line 8026 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetBuffersQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetBuffersQCOM, glExtGetBuffersQCOM)
  GLuint* buffers = OGLM_ALLOC(maxBuffers,GLuint,buffers);
  GLint numBuffers[1];
  glExtGetBuffersQCOM(buffers, maxBuffers, numBuffers);
  OGLM_CHECK_ERR("glExtGetBuffersQCOM", free(buffers);)
  EXTEND(sp, 2);
  OGLM_PUSH_ARRAY(glExtGetBuffersQCOM, newSVuv, buffers, maxBuffers)
  mPUSHs(newSViv(numBuffers[0]));
  free(buffers);
#line 16619 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetFramebuffersQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetFramebuffersQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "framebuffers, maxFramebuffers, numFramebuffers");
    {
	GLuint*	framebuffers = INT2PTR(GLuint *,SvIV(ST(0)))
;
	GLint	maxFramebuffers = (int)SvIV(ST(1))
;
	GLint*	numFramebuffers = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 8044 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetFramebuffersQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetFramebuffersQCOM, glExtGetFramebuffersQCOM)
  glExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers);
  OGLM_CHECK_ERR("glExtGetFramebuffersQCOM", )
#line 16645 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetFramebuffersQCOM_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetFramebuffersQCOM_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "maxFramebuffers");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	maxFramebuffers = (int)SvIV(ST(0))
;
#line 8054 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetFramebuffersQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetFramebuffersQCOM, glExtGetFramebuffersQCOM)
  GLuint* framebuffers = OGLM_ALLOC(maxFramebuffers,GLuint,framebuffers);
  GLint numFramebuffers[1];
  glExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers);
  OGLM_CHECK_ERR("glExtGetFramebuffersQCOM", free(framebuffers);)
  EXTEND(sp, 2);
  OGLM_PUSH_ARRAY(glExtGetFramebuffersQCOM, newSVuv, framebuffers, maxFramebuffers)
  mPUSHs(newSViv(numFramebuffers[0]));
  free(framebuffers);
#line 16674 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetProgramBinarySourceQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetProgramBinarySourceQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, shadertype, source, length");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	shadertype = (int)SvIV(ST(1))
;
	GLchar*	source = (GLchar *)SvPV_nolen(ST(2))
;
	GLint*	length = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 8073 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetProgramBinarySourceQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetProgramBinarySourceQCOM, glExtGetProgramBinarySourceQCOM)
  glExtGetProgramBinarySourceQCOM(program, shadertype, source, length);
  OGLM_CHECK_ERR("glExtGetProgramBinarySourceQCOM", )
#line 16702 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetProgramsQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetProgramsQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "programs, maxPrograms, numPrograms");
    {
	GLuint*	programs = INT2PTR(GLuint *,SvIV(ST(0)))
;
	GLint	maxPrograms = (int)SvIV(ST(1))
;
	GLint*	numPrograms = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 8085 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetProgramsQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetProgramsQCOM, glExtGetProgramsQCOM)
  glExtGetProgramsQCOM(programs, maxPrograms, numPrograms);
  OGLM_CHECK_ERR("glExtGetProgramsQCOM", )
#line 16727 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetProgramsQCOM_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetProgramsQCOM_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "maxPrograms");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	maxPrograms = (int)SvIV(ST(0))
;
#line 8095 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetProgramsQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetProgramsQCOM, glExtGetProgramsQCOM)
  GLuint* programs = OGLM_ALLOC(maxPrograms,GLuint,programs);
  GLint numPrograms[1];
  glExtGetProgramsQCOM(programs, maxPrograms, numPrograms);
  OGLM_CHECK_ERR("glExtGetProgramsQCOM", free(programs);)
  EXTEND(sp, 2);
  OGLM_PUSH_ARRAY(glExtGetProgramsQCOM, newSVuv, programs, maxPrograms)
  mPUSHs(newSViv(numPrograms[0]));
  free(programs);
#line 16756 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetRenderbuffersQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetRenderbuffersQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "renderbuffers, maxRenderbuffers, numRenderbuffers");
    {
	GLuint*	renderbuffers = INT2PTR(GLuint *,SvIV(ST(0)))
;
	GLint	maxRenderbuffers = (int)SvIV(ST(1))
;
	GLint*	numRenderbuffers = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 8113 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetRenderbuffersQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetRenderbuffersQCOM, glExtGetRenderbuffersQCOM)
  glExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers);
  OGLM_CHECK_ERR("glExtGetRenderbuffersQCOM", )
#line 16782 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetRenderbuffersQCOM_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetRenderbuffersQCOM_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "maxRenderbuffers");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	maxRenderbuffers = (int)SvIV(ST(0))
;
#line 8123 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetRenderbuffersQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetRenderbuffersQCOM, glExtGetRenderbuffersQCOM)
  GLuint* renderbuffers = OGLM_ALLOC(maxRenderbuffers,GLuint,renderbuffers);
  GLint numRenderbuffers[1];
  glExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers);
  OGLM_CHECK_ERR("glExtGetRenderbuffersQCOM", free(renderbuffers);)
  EXTEND(sp, 2);
  OGLM_PUSH_ARRAY(glExtGetRenderbuffersQCOM, newSVuv, renderbuffers, maxRenderbuffers)
  mPUSHs(newSViv(numRenderbuffers[0]));
  free(renderbuffers);
#line 16811 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetShadersQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetShadersQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "shaders, maxShaders, numShaders");
    {
	GLuint*	shaders = INT2PTR(GLuint *,SvIV(ST(0)))
;
	GLint	maxShaders = (int)SvIV(ST(1))
;
	GLint*	numShaders = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 8141 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetShadersQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetShadersQCOM, glExtGetShadersQCOM)
  glExtGetShadersQCOM(shaders, maxShaders, numShaders);
  OGLM_CHECK_ERR("glExtGetShadersQCOM", )
#line 16837 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetShadersQCOM_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetShadersQCOM_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "maxShaders");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	maxShaders = (int)SvIV(ST(0))
;
#line 8151 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetShadersQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetShadersQCOM, glExtGetShadersQCOM)
  GLuint* shaders = OGLM_ALLOC(maxShaders,GLuint,shaders);
  GLint numShaders[1];
  glExtGetShadersQCOM(shaders, maxShaders, numShaders);
  OGLM_CHECK_ERR("glExtGetShadersQCOM", free(shaders);)
  EXTEND(sp, 2);
  OGLM_PUSH_ARRAY(glExtGetShadersQCOM, newSVuv, shaders, maxShaders)
  mPUSHs(newSViv(numShaders[0]));
  free(shaders);
#line 16866 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetTexLevelParameterivQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetTexLevelParameterivQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texture, face, level, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	face = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(4)))
;
#line 8171 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetTexLevelParameterivQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetTexLevelParameterivQCOM, glExtGetTexLevelParameterivQCOM)
  glExtGetTexLevelParameterivQCOM(texture, face, level, pname, params);
  OGLM_CHECK_ERR("glExtGetTexLevelParameterivQCOM", )
#line 16896 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetTexSubImageQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetTexSubImageQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLenum	type = (int)SvIV(ST(9))
;
	void *	texels = INT2PTR(void *,SvIV(ST(10)))
;
#line 8191 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetTexSubImageQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetTexSubImageQCOM, glExtGetTexSubImageQCOM)
  glExtGetTexSubImageQCOM(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels);
  OGLM_CHECK_ERR("glExtGetTexSubImageQCOM", )
#line 16937 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtGetTexturesQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtGetTexturesQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "textures, maxTextures, numTextures");
    {
	GLuint*	textures = INT2PTR(GLuint *,SvIV(ST(0)))
;
	GLint	maxTextures = (int)SvIV(ST(1))
;
	GLint*	numTextures = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 8203 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtGetTexturesQCOM", )
  OGLM_AVAIL_CHECK(__glewExtGetTexturesQCOM, glExtGetTexturesQCOM)
  glExtGetTexturesQCOM(textures, maxTextures, numTextures);
  OGLM_CHECK_ERR("glExtGetTexturesQCOM", )
#line 16962 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtIsProgramBinaryQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtIsProgramBinaryQCOM)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "program");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 8213 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtIsProgramBinaryQCOM", )
  OGLM_AVAIL_CHECK(__glewExtIsProgramBinaryQCOM, glExtIsProgramBinaryQCOM)
  RETVAL = glExtIsProgramBinaryQCOM(program);
  OGLM_CHECK_ERR("glExtIsProgramBinaryQCOM", )
#line 16985 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glExtTexObjectStateOverrideiQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtTexObjectStateOverrideiQCOM)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 8227 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtTexObjectStateOverrideiQCOM", )
  OGLM_AVAIL_CHECK(__glewExtTexObjectStateOverrideiQCOM, glExtTexObjectStateOverrideiQCOM)
  glExtTexObjectStateOverrideiQCOM(target, pname, param);
  OGLM_CHECK_ERR("glExtTexObjectStateOverrideiQCOM", )
#line 17012 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtractComponentEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtractComponentEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "res, src, num");
    {
	GLuint	res = (unsigned int)SvUV(ST(0))
;
	GLuint	src = (unsigned int)SvUV(ST(1))
;
	GLuint	num = (unsigned int)SvUV(ST(2))
;
#line 8239 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtractComponentEXT", )
  OGLM_AVAIL_CHECK(__glewExtractComponentEXT, glExtractComponentEXT)
  glExtractComponentEXT(res, src, num);
  OGLM_CHECK_ERR("glExtractComponentEXT", )
#line 17037 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glExtrapolateTex2DQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glExtrapolateTex2DQCOM)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "src1, src2, output, scaleFactor");
    {
	GLuint	src1 = (unsigned int)SvUV(ST(0))
;
	GLuint	src2 = (unsigned int)SvUV(ST(1))
;
	GLuint	output = (unsigned int)SvUV(ST(2))
;
	GLfloat	scaleFactor = (float)SvNV(ST(3))
;
#line 8252 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glExtrapolateTex2DQCOM", )
  OGLM_AVAIL_CHECK(__glewExtrapolateTex2DQCOM, glExtrapolateTex2DQCOM)
  glExtrapolateTex2DQCOM(src1, src2, output, scaleFactor);
  OGLM_CHECK_ERR("glExtrapolateTex2DQCOM", )
#line 17064 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFeedbackBuffer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFeedbackBuffer_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "size, type, buffer");
    {
	GLsizei	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLfloat *	buffer = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 8264 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFeedbackBuffer", )
  glFeedbackBuffer(size, type, buffer);
  OGLM_CHECK_ERR("glFeedbackBuffer", )
#line 17088 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFeedbackBuffer_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFeedbackBuffer_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, type");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
#line 8274 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFeedbackBuffer", )
  GLfloat *buffer = OGLM_ALLOC(size,GLfloat,buffer);
  glFeedbackBuffer(size, type, buffer);
  OGLM_CHECK_ERR("glFeedbackBuffer", free(buffer);)
  OGLM_OUT_FINISH(buffer,size,newSVnv)
  free(buffer);
#line 17115 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glFenceSync); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFenceSync)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "condition, flags");
    {
	GLenum	condition = (int)SvIV(ST(0))
;
	GLbitfield	flags = (int)SvIV(ST(1))
;
	GLsync	RETVAL;
	dXSTARG;
#line 8289 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFenceSync", )
  OGLM_AVAIL_CHECK(__glewFenceSync, glFenceSync)
  RETVAL = glFenceSync(condition, flags);
  OGLM_CHECK_ERR("glFenceSync", )
#line 17142 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glFinalCombinerInputNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFinalCombinerInputNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "variable, input, mapping, componentUsage");
    {
	GLenum	variable = (int)SvIV(ST(0))
;
	GLenum	input = (int)SvIV(ST(1))
;
	GLenum	mapping = (int)SvIV(ST(2))
;
	GLenum	componentUsage = (int)SvIV(ST(3))
;
#line 8304 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFinalCombinerInputNV", )
  OGLM_AVAIL_CHECK(__glewFinalCombinerInputNV, glFinalCombinerInputNV)
  glFinalCombinerInputNV(variable, input, mapping, componentUsage);
  OGLM_CHECK_ERR("glFinalCombinerInputNV", )
#line 17171 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFinish); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFinish)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 8313 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFinish", )
  glFinish();
  OGLM_CHECK_ERR("glFinish", )
#line 17189 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFinishAsyncSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFinishAsyncSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "markerp");
    {
	GLuint*	markerp = INT2PTR(GLuint *,SvIV(ST(0)))
;
	GLint	RETVAL;
	dXSTARG;
#line 8322 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFinishAsyncSGIX", )
  OGLM_AVAIL_CHECK(__glewFinishAsyncSGIX, glFinishAsyncSGIX)
  RETVAL = glFinishAsyncSGIX(markerp);
  OGLM_CHECK_ERR("glFinishAsyncSGIX", )
#line 17212 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glFinishAsyncSGIX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFinishAsyncSGIX_p)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	RETVAL;
	dXSTARG;
#line 8333 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFinishAsyncSGIX", )
  OGLM_AVAIL_CHECK(__glewFinishAsyncSGIX, glFinishAsyncSGIX)
  GLuint markerp[1];
  RETVAL = glFinishAsyncSGIX(markerp);
  OGLM_CHECK_ERR("glFinishAsyncSGIX", )
  EXTEND(sp, 2);
  mPUSHs(newSViv(RETVAL));
  mPUSHs(newSVuv(markerp[0]));
#line 17241 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glFinishFenceAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFinishFenceAPPLE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "fence");
    {
	GLuint	fence = (unsigned int)SvUV(ST(0))
;
#line 8347 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFinishFenceAPPLE", )
  OGLM_AVAIL_CHECK(__glewFinishFenceAPPLE, glFinishFenceAPPLE)
  glFinishFenceAPPLE(fence);
  OGLM_CHECK_ERR("glFinishFenceAPPLE", )
#line 17263 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFinishFenceNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFinishFenceNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "fence");
    {
	GLuint	fence = (unsigned int)SvUV(ST(0))
;
#line 8357 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFinishFenceNV", )
  OGLM_AVAIL_CHECK(__glewFinishFenceNV, glFinishFenceNV)
  glFinishFenceNV(fence);
  OGLM_CHECK_ERR("glFinishFenceNV", )
#line 17284 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFinishObjectAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFinishObjectAPPLE)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, name");
    {
	GLenum	object = (int)SvIV(ST(0))
;
	GLint	name = (int)SvIV(ST(1))
;
#line 8368 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFinishObjectAPPLE", )
  OGLM_AVAIL_CHECK(__glewFinishObjectAPPLE, glFinishObjectAPPLE)
  glFinishObjectAPPLE(object, name);
  OGLM_CHECK_ERR("glFinishObjectAPPLE", )
#line 17307 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFinishTextureSUNX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFinishTextureSUNX)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 8377 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFinishTextureSUNX", )
  OGLM_AVAIL_CHECK(__glewFinishTextureSUNX, glFinishTextureSUNX)
  glFinishTextureSUNX();
  OGLM_CHECK_ERR("glFinishTextureSUNX", )
#line 17326 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFlush); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFlush)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 8386 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFlush", )
  glFlush();
  OGLM_CHECK_ERR("glFlush", )
#line 17344 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFlushMappedBufferRange); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFlushMappedBufferRange)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, offset, length");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	length = (unsigned int)SvUV(ST(2))
;
#line 8400 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFlushMappedBufferRange", )
  OGLM_AVAIL_CHECK(__glewFlushMappedBufferRange, glFlushMappedBufferRange)
  glFlushMappedBufferRange(target, offset, length);
  OGLM_CHECK_ERR("glFlushMappedBufferRange", )
#line 17370 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFlushMappedNamedBufferRange); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFlushMappedNamedBufferRange)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, offset, length");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	length = (unsigned int)SvUV(ST(2))
;
#line 8412 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFlushMappedNamedBufferRange", )
  OGLM_AVAIL_CHECK(__glewFlushMappedNamedBufferRange, glFlushMappedNamedBufferRange)
  glFlushMappedNamedBufferRange(buffer, offset, length);
  OGLM_CHECK_ERR("glFlushMappedNamedBufferRange", )
#line 17395 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFlushMappedNamedBufferRangeEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFlushMappedNamedBufferRangeEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, offset, length");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	length = (unsigned int)SvUV(ST(2))
;
#line 8424 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFlushMappedNamedBufferRangeEXT", )
  OGLM_AVAIL_CHECK(__glewFlushMappedNamedBufferRangeEXT, glFlushMappedNamedBufferRangeEXT)
  glFlushMappedNamedBufferRangeEXT(buffer, offset, length);
  OGLM_CHECK_ERR("glFlushMappedNamedBufferRangeEXT", )
#line 17420 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFlushPixelDataRangeNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFlushPixelDataRangeNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 8434 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFlushPixelDataRangeNV", )
  OGLM_AVAIL_CHECK(__glewFlushPixelDataRangeNV, glFlushPixelDataRangeNV)
  glFlushPixelDataRangeNV(target);
  OGLM_CHECK_ERR("glFlushPixelDataRangeNV", )
#line 17441 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFlushRasterSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFlushRasterSGIX)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 8443 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFlushRasterSGIX", )
  OGLM_AVAIL_CHECK(__glewFlushRasterSGIX, glFlushRasterSGIX)
  glFlushRasterSGIX();
  OGLM_CHECK_ERR("glFlushRasterSGIX", )
#line 17460 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFlushVertexArrayRangeAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFlushVertexArrayRangeAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "length, pointer");
    {
	GLsizei	length = (int)SvIV(ST(0))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(1)))
;
#line 8454 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFlushVertexArrayRangeAPPLE", )
  OGLM_AVAIL_CHECK(__glewFlushVertexArrayRangeAPPLE, glFlushVertexArrayRangeAPPLE)
  glFlushVertexArrayRangeAPPLE(length, pointer);
  OGLM_CHECK_ERR("glFlushVertexArrayRangeAPPLE", )
#line 17483 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFlushVertexArrayRangeNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFlushVertexArrayRangeNV)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 8463 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFlushVertexArrayRangeNV", )
  OGLM_AVAIL_CHECK(__glewFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV)
  glFlushVertexArrayRangeNV();
  OGLM_CHECK_ERR("glFlushVertexArrayRangeNV", )
#line 17502 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoordFormatNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoordFormatNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, stride");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
#line 8474 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoordFormatNV", )
  OGLM_AVAIL_CHECK(__glewFogCoordFormatNV, glFogCoordFormatNV)
  glFogCoordFormatNV(type, stride);
  OGLM_CHECK_ERR("glFogCoordFormatNV", )
#line 17525 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoordPointer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoordPointer_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "type, stride, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(2)))
;
#line 8488 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoordPointer", )
  OGLM_AVAIL_CHECK(__glewFogCoordPointer, glFogCoordPointer)
  glFogCoordPointer(type, stride, pointer);
  OGLM_CHECK_ERR("glFogCoordPointer", )
#line 17551 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoordPointerListIBM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoordPointerListIBM_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "type, stride, pointer, ptrstride");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLint	stride = (int)SvIV(ST(1))
;
	const void**	pointer = INT2PTR(const void **,SvIV(ST(2)))
;
	GLint	ptrstride = (int)SvIV(ST(3))
;
#line 8501 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoordPointerListIBM", )
  OGLM_AVAIL_CHECK(__glewFogCoordPointerListIBM, glFogCoordPointerListIBM)
  glFogCoordPointerListIBM(type, stride, pointer, ptrstride);
  OGLM_CHECK_ERR("glFogCoordPointerListIBM", )
#line 17578 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoordd); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoordd)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "coord");
    {
	GLdouble	coord = (double)SvNV(ST(0))
;
#line 8513 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoordd", )
  OGLM_AVAIL_CHECK(__glewFogCoordd, glFogCoordd)
  glFogCoordd(coord);
  OGLM_CHECK_ERR("glFogCoordd", )
#line 17600 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoorddv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoorddv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "coord");
    {
	const GLdouble *	coord = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 8525 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoorddv", )
  OGLM_AVAIL_CHECK(__glewFogCoorddv, glFogCoorddv)
  glFogCoorddv(coord);
  OGLM_CHECK_ERR("glFogCoorddv", )
#line 17622 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoorddv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoorddv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 8536 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoorddv", )
  OGLM_AVAIL_CHECK(__glewFogCoorddv, glFogCoorddv)
  GLdouble *coord = OGLM_GET_VARARGS(coord,0,GLdouble,NV,1);
  glFogCoorddv((const GLdouble *)coord);
  OGLM_CHECK_ERR("glFogCoorddv", free(coord);)
  free(coord);
#line 17644 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoordf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoordf)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "coord");
    {
	GLfloat	coord = (float)SvNV(ST(0))
;
#line 8550 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoordf", )
  OGLM_AVAIL_CHECK(__glewFogCoordf, glFogCoordf)
  glFogCoordf(coord);
  OGLM_CHECK_ERR("glFogCoordf", )
#line 17666 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoordfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoordfv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "coord");
    {
	const GLfloat *	coord = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 8562 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoordfv", )
  OGLM_AVAIL_CHECK(__glewFogCoordfv, glFogCoordfv)
  glFogCoordfv(coord);
  OGLM_CHECK_ERR("glFogCoordfv", )
#line 17688 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoordfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoordfv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 8573 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoordfv", )
  OGLM_AVAIL_CHECK(__glewFogCoordfv, glFogCoordfv)
  GLfloat *coord = OGLM_GET_VARARGS(coord,0,GLfloat,NV,1);
  glFogCoordfv((const GLfloat *)coord);
  OGLM_CHECK_ERR("glFogCoordfv", free(coord);)
  free(coord);
#line 17710 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoordhNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoordhNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "fog");
    {
	GLhalf	fog = (float)SvNV(ST(0))
;
#line 8585 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoordhNV", )
  OGLM_AVAIL_CHECK(__glewFogCoordhNV, glFogCoordhNV)
  glFogCoordhNV(fog);
  OGLM_CHECK_ERR("glFogCoordhNV", )
#line 17731 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoordhvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoordhvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "fog");
    {
	const GLhalf*	fog = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 8595 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoordhvNV", )
  OGLM_AVAIL_CHECK(__glewFogCoordhvNV, glFogCoordhvNV)
  glFogCoordhvNV(fog);
  OGLM_CHECK_ERR("glFogCoordhvNV", )
#line 17752 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogCoordhvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogCoordhvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 8604 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogCoordhvNV", )
  OGLM_AVAIL_CHECK(__glewFogCoordhvNV, glFogCoordhvNV)
  GLhalf* fog = OGLM_GET_VARARGS(fog,0,GLhalf,NV,1);
  glFogCoordhvNV((const GLhalf* )fog);
  OGLM_CHECK_ERR("glFogCoordhvNV", free(fog);)
  free(fog);
#line 17773 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogFuncSGIS_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogFuncSGIS_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, points");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLfloat*	points = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 8617 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewFogFuncSGIS, glFogFuncSGIS)
  glFogFuncSGIS(n, points);
  OGLM_CHECK_ERR("glFogFuncSGIS", )
#line 17796 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogFuncSGIS_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogFuncSGIS_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "n, ...");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 8627 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewFogFuncSGIS, glFogFuncSGIS)
  GLfloat* points = OGLM_GET_VARARGS(points,1,GLfloat,NV,n*2);
  glFogFuncSGIS((GLsizei )n, (const GLfloat* )points);
  OGLM_CHECK_ERR("glFogFuncSGIS", free(points);)
  free(points);
#line 17819 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogLayersSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogLayersSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, points");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLfloat*	points = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 8640 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogLayersSGIX", )
  OGLM_AVAIL_CHECK(__glewFogLayersSGIX, glFogLayersSGIX)
  glFogLayersSGIX(n, points);
  OGLM_CHECK_ERR("glFogLayersSGIX", )
#line 17842 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogf)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 8651 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogf", )
  glFogf(pname, param);
  OGLM_CHECK_ERR("glFogf", )
#line 17864 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogfv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLfloat *	params = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 8661 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogfv", )
  glFogfv(pname, params);
  OGLM_CHECK_ERR("glFogfv", )
#line 17886 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogfv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "pname, ...");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 8670 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogfv", )
  OGLM_SIZE_ENUM(FogParameter,pname,1)
  GLfloat *params = OGLM_GET_VARARGS(params,1,GLfloat,NV,pname_count);
  glFogfv((GLenum )pname, (const GLfloat *)params);
  OGLM_CHECK_ERR("glFogfv", free(params);)
  free(params);
#line 17909 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogi); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogi)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 8683 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogi", )
  glFogi(pname, param);
  OGLM_CHECK_ERR("glFogi", )
#line 17931 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 8693 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogiv", )
  glFogiv(pname, params);
  OGLM_CHECK_ERR("glFogiv", )
#line 17953 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "pname, ...");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 8702 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogiv", )
  OGLM_SIZE_ENUM(FogParameter,pname,1)
  GLint *params = OGLM_GET_VARARGS(params,1,GLint,IV,pname_count);
  glFogiv((GLenum )pname, (const GLint *)params);
  OGLM_CHECK_ERR("glFogiv", free(params);)
  free(params);
#line 17976 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogx)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfixed	param = (int)SvIV(ST(1))
;
#line 8715 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogx", )
  OGLM_AVAIL_CHECK(__glewFogx, glFogx)
  glFogx(pname, param);
  OGLM_CHECK_ERR("glFogx", )
#line 17999 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogxv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogxv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLfixed*	param = INT2PTR(const GLfixed *,SvIV(ST(1)))
;
#line 8726 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogxv", )
  OGLM_AVAIL_CHECK(__glewFogxv, glFogxv)
  glFogxv(pname, param);
  OGLM_CHECK_ERR("glFogxv", )
#line 18022 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFogxv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFogxv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "pname, ...");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 8736 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFogxv", )
  OGLM_AVAIL_CHECK(__glewFogxv, glFogxv)
  OGLM_SIZE_ENUM(FogPName,pname,1)
  GLfixed* param = OGLM_GET_VARARGS(param,1,GLfixed,IV,pname_count);
  glFogxv((GLenum )pname, (const GLfixed* )param);
  OGLM_CHECK_ERR("glFogxv", free(param);)
  free(param);
#line 18046 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentColorMaterialEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentColorMaterialEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, mode");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 8750 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentColorMaterialEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentColorMaterialEXT, glFragmentColorMaterialEXT)
  glFragmentColorMaterialEXT(face, mode);
  OGLM_CHECK_ERR("glFragmentColorMaterialEXT", )
#line 18069 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentColorMaterialSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentColorMaterialSGIX)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, mode");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 8761 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentColorMaterialSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentColorMaterialSGIX, glFragmentColorMaterialSGIX)
  glFragmentColorMaterialSGIX(face, mode);
  OGLM_CHECK_ERR("glFragmentColorMaterialSGIX", )
#line 18092 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentCoverageColorNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentCoverageColorNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "color");
    {
	GLuint	color = (unsigned int)SvUV(ST(0))
;
#line 8771 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentCoverageColorNV", )
  OGLM_AVAIL_CHECK(__glewFragmentCoverageColorNV, glFragmentCoverageColorNV)
  glFragmentCoverageColorNV(color);
  OGLM_CHECK_ERR("glFragmentCoverageColorNV", )
#line 18113 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelfEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelfEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 8782 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightModelfEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentLightModelfEXT, glFragmentLightModelfEXT)
  glFragmentLightModelfEXT(pname, param);
  OGLM_CHECK_ERR("glFragmentLightModelfEXT", )
#line 18136 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelfSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelfSGIX)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 8793 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightModelfSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentLightModelfSGIX, glFragmentLightModelfSGIX)
  glFragmentLightModelfSGIX(pname, param);
  OGLM_CHECK_ERR("glFragmentLightModelfSGIX", )
#line 18159 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 8804 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightModelfvEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentLightModelfvEXT, glFragmentLightModelfvEXT)
  glFragmentLightModelfvEXT(pname, params);
  OGLM_CHECK_ERR("glFragmentLightModelfvEXT", )
#line 18182 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelfvSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelfvSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 8815 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightModelfvSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentLightModelfvSGIX, glFragmentLightModelfvSGIX)
  glFragmentLightModelfvSGIX(pname, params);
  OGLM_CHECK_ERR("glFragmentLightModelfvSGIX", )
#line 18205 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModeliEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModeliEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 8826 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightModeliEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentLightModeliEXT, glFragmentLightModeliEXT)
  glFragmentLightModeliEXT(pname, param);
  OGLM_CHECK_ERR("glFragmentLightModeliEXT", )
#line 18228 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModeliSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModeliSGIX)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 8837 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightModeliSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentLightModeliSGIX, glFragmentLightModeliSGIX)
  glFragmentLightModeliSGIX(pname, param);
  OGLM_CHECK_ERR("glFragmentLightModeliSGIX", )
#line 18251 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(1)))
;
#line 8848 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightModelivEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentLightModelivEXT, glFragmentLightModelivEXT)
  glFragmentLightModelivEXT(pname, params);
  OGLM_CHECK_ERR("glFragmentLightModelivEXT", )
#line 18274 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelivSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightModelivSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(1)))
;
#line 8859 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightModelivSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentLightModelivSGIX, glFragmentLightModelivSGIX)
  glFragmentLightModelivSGIX(pname, params);
  OGLM_CHECK_ERR("glFragmentLightModelivSGIX", )
#line 18297 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightfEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightfEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, param");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	param = (float)SvNV(ST(2))
;
#line 8871 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightfEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentLightfEXT, glFragmentLightfEXT)
  glFragmentLightfEXT(light, pname, param);
  OGLM_CHECK_ERR("glFragmentLightfEXT", )
#line 18322 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightfSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightfSGIX)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, param");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	param = (float)SvNV(ST(2))
;
#line 8883 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightfSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentLightfSGIX, glFragmentLightfSGIX)
  glFragmentLightfSGIX(light, pname, param);
  OGLM_CHECK_ERR("glFragmentLightfSGIX", )
#line 18347 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 8895 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightfvEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentLightfvEXT, glFragmentLightfvEXT)
  glFragmentLightfvEXT(light, pname, params);
  OGLM_CHECK_ERR("glFragmentLightfvEXT", )
#line 18372 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightfvSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightfvSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 8907 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightfvSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentLightfvSGIX, glFragmentLightfvSGIX)
  glFragmentLightfvSGIX(light, pname, params);
  OGLM_CHECK_ERR("glFragmentLightfvSGIX", )
#line 18397 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightfvSGIX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightfvSGIX_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "light, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 8918 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightfvSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentLightfvSGIX, glFragmentLightfvSGIX)
  OGLM_SIZE_ENUM(FragmentLightParameterSGIX,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glFragmentLightfvSGIX(light, pname, params);
  OGLM_CHECK_ERR("glFragmentLightfvSGIX", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 18426 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightiEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightiEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, param");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 8934 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightiEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentLightiEXT, glFragmentLightiEXT)
  glFragmentLightiEXT(light, pname, param);
  OGLM_CHECK_ERR("glFragmentLightiEXT", )
#line 18452 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightiSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightiSGIX)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, param");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 8946 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightiSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentLightiSGIX, glFragmentLightiSGIX)
  glFragmentLightiSGIX(light, pname, param);
  OGLM_CHECK_ERR("glFragmentLightiSGIX", )
#line 18477 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 8958 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightivEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentLightivEXT, glFragmentLightivEXT)
  glFragmentLightivEXT(light, pname, params);
  OGLM_CHECK_ERR("glFragmentLightivEXT", )
#line 18502 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightivSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightivSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 8970 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightivSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentLightivSGIX, glFragmentLightivSGIX)
  glFragmentLightivSGIX(light, pname, params);
  OGLM_CHECK_ERR("glFragmentLightivSGIX", )
#line 18527 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentLightivSGIX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentLightivSGIX_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "light, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 8981 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentLightivSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentLightivSGIX, glFragmentLightivSGIX)
  OGLM_SIZE_ENUM(FragmentLightParameterSGIX,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glFragmentLightivSGIX(light, pname, params);
  OGLM_CHECK_ERR("glFragmentLightivSGIX", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 18556 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialfEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialfEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, param");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat	param = (float)SvNV(ST(2))
;
#line 8997 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentMaterialfEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentMaterialfEXT, glFragmentMaterialfEXT)
  glFragmentMaterialfEXT(face, pname, param);
  OGLM_CHECK_ERR("glFragmentMaterialfEXT", )
#line 18582 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialfSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialfSGIX)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, param");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat	param = (float)SvNV(ST(2))
;
#line 9009 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentMaterialfSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentMaterialfSGIX, glFragmentMaterialfSGIX)
  glFragmentMaterialfSGIX(face, pname, param);
  OGLM_CHECK_ERR("glFragmentMaterialfSGIX", )
#line 18607 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 9021 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentMaterialfvEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentMaterialfvEXT, glFragmentMaterialfvEXT)
  glFragmentMaterialfvEXT(face, pname, params);
  OGLM_CHECK_ERR("glFragmentMaterialfvEXT", )
#line 18632 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialfvSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialfvSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 9033 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentMaterialfvSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentMaterialfvSGIX, glFragmentMaterialfvSGIX)
  glFragmentMaterialfvSGIX(face, pname, params);
  OGLM_CHECK_ERR("glFragmentMaterialfvSGIX", )
#line 18657 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialfvSGIX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialfvSGIX_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "face, pname, ...");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 9044 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentMaterialfvSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentMaterialfvSGIX, glFragmentMaterialfvSGIX)
  OGLM_SIZE_ENUM(MaterialParameter,pname,1)
  GLfloat* params = OGLM_GET_VARARGS(params,2,GLfloat,NV,pname_count);
  glFragmentMaterialfvSGIX((GLenum )face, (GLenum )pname, (const GLfloat* )params);
  OGLM_CHECK_ERR("glFragmentMaterialfvSGIX", free(params);)
  free(params);
#line 18683 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialiEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialiEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, param");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint	param = (int)SvIV(ST(2))
;
#line 9059 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentMaterialiEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentMaterialiEXT, glFragmentMaterialiEXT)
  glFragmentMaterialiEXT(face, pname, param);
  OGLM_CHECK_ERR("glFragmentMaterialiEXT", )
#line 18708 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialiSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialiSGIX)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, param");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint	param = (int)SvIV(ST(2))
;
#line 9071 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentMaterialiSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentMaterialiSGIX, glFragmentMaterialiSGIX)
  glFragmentMaterialiSGIX(face, pname, param);
  OGLM_CHECK_ERR("glFragmentMaterialiSGIX", )
#line 18733 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 9083 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentMaterialivEXT", )
  OGLM_AVAIL_CHECK(__glewFragmentMaterialivEXT, glFragmentMaterialivEXT)
  glFragmentMaterialivEXT(face, pname, params);
  OGLM_CHECK_ERR("glFragmentMaterialivEXT", )
#line 18758 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialivSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialivSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 9095 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentMaterialivSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentMaterialivSGIX, glFragmentMaterialivSGIX)
  glFragmentMaterialivSGIX(face, pname, params);
  OGLM_CHECK_ERR("glFragmentMaterialivSGIX", )
#line 18783 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialivSGIX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFragmentMaterialivSGIX_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "face, pname, ...");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 9106 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFragmentMaterialivSGIX", )
  OGLM_AVAIL_CHECK(__glewFragmentMaterialivSGIX, glFragmentMaterialivSGIX)
  OGLM_SIZE_ENUM(MaterialParameter,pname,1)
  GLint* params = OGLM_GET_VARARGS(params,2,GLint,IV,pname_count);
  glFragmentMaterialivSGIX((GLenum )face, (GLenum )pname, (const GLint* )params);
  OGLM_CHECK_ERR("glFragmentMaterialivSGIX", free(params);)
  free(params);
#line 18809 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFrameTerminatorGREMEDY); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFrameTerminatorGREMEDY)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 9118 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFrameTerminatorGREMEDY", )
  OGLM_AVAIL_CHECK(__glewFrameTerminatorGREMEDY, glFrameTerminatorGREMEDY)
  glFrameTerminatorGREMEDY();
  OGLM_CHECK_ERR("glFrameTerminatorGREMEDY", )
#line 18828 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFrameZoomSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFrameZoomSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "factor");
    {
	GLint	factor = (int)SvIV(ST(0))
;
#line 9128 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFrameZoomSGIX", )
  OGLM_AVAIL_CHECK(__glewFrameZoomSGIX, glFrameZoomSGIX)
  glFrameZoomSGIX(factor);
  OGLM_CHECK_ERR("glFrameZoomSGIX", )
#line 18849 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferDrawBufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferDrawBufferEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "framebuffer, mode");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 9139 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferDrawBufferEXT", )
  OGLM_AVAIL_CHECK(__glewFramebufferDrawBufferEXT, glFramebufferDrawBufferEXT)
  glFramebufferDrawBufferEXT(framebuffer, mode);
  OGLM_CHECK_ERR("glFramebufferDrawBufferEXT", )
#line 18872 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferDrawBuffersEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferDrawBuffersEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "framebuffer, n, bufs");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
	const GLenum*	bufs = INT2PTR(const GLenum *,SvIV(ST(2)))
;
#line 9151 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferDrawBuffersEXT", )
  OGLM_AVAIL_CHECK(__glewFramebufferDrawBuffersEXT, glFramebufferDrawBuffersEXT)
  glFramebufferDrawBuffersEXT(framebuffer, n, bufs);
  OGLM_CHECK_ERR("glFramebufferDrawBuffersEXT", )
#line 18897 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferDrawBuffersEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferDrawBuffersEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "framebuffer, ...");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
#line 9161 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferDrawBuffersEXT", )
  OGLM_AVAIL_CHECK(__glewFramebufferDrawBuffersEXT, glFramebufferDrawBuffersEXT)
  GLsizei n = items-1;
  GLenum* bufs = OGLM_GET_VARARGS(bufs,1,GLenum,IV,n);
  glFramebufferDrawBuffersEXT((GLuint )framebuffer, (GLsizei )n, (const GLenum* )bufs);
  OGLM_CHECK_ERR("glFramebufferDrawBuffersEXT", free(bufs);)
  free(bufs);
#line 18921 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferFetchBarrierEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferFetchBarrierEXT)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 9173 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferFetchBarrierEXT", )
  OGLM_AVAIL_CHECK(__glewFramebufferFetchBarrierEXT, glFramebufferFetchBarrierEXT)
  glFramebufferFetchBarrierEXT();
  OGLM_CHECK_ERR("glFramebufferFetchBarrierEXT", )
#line 18940 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferFetchBarrierQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferFetchBarrierQCOM)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 9182 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferFetchBarrierQCOM", )
  OGLM_AVAIL_CHECK(__glewFramebufferFetchBarrierQCOM, glFramebufferFetchBarrierQCOM)
  glFramebufferFetchBarrierQCOM();
  OGLM_CHECK_ERR("glFramebufferFetchBarrierQCOM", )
#line 18959 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferFoveationConfigQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferFoveationConfigQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "framebuffer, numLayers, focalPointsPerLayer, requestedFeatures, providedFeatures");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLuint	numLayers = (unsigned int)SvUV(ST(1))
;
	GLuint	focalPointsPerLayer = (unsigned int)SvUV(ST(2))
;
	GLuint	requestedFeatures = (unsigned int)SvUV(ST(3))
;
	GLuint*	providedFeatures = INT2PTR(GLuint *,SvIV(ST(4)))
;
#line 9196 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferFoveationConfigQCOM", )
  OGLM_AVAIL_CHECK(__glewFramebufferFoveationConfigQCOM, glFramebufferFoveationConfigQCOM)
  glFramebufferFoveationConfigQCOM(framebuffer, numLayers, focalPointsPerLayer, requestedFeatures, providedFeatures);
  OGLM_CHECK_ERR("glFramebufferFoveationConfigQCOM", )
#line 18988 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferFoveationConfigQCOM_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferFoveationConfigQCOM_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, numLayers, focalPointsPerLayer, requestedFeatures");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLuint	numLayers = (unsigned int)SvUV(ST(1))
;
	GLuint	focalPointsPerLayer = (unsigned int)SvUV(ST(2))
;
	GLuint	requestedFeatures = (unsigned int)SvUV(ST(3))
;
	GLuint	RETVAL;
	dXSTARG;
#line 9209 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferFoveationConfigQCOM", )
  OGLM_AVAIL_CHECK(__glewFramebufferFoveationConfigQCOM, glFramebufferFoveationConfigQCOM)
  GLuint providedFeatures[1];
  glFramebufferFoveationConfigQCOM(framebuffer, numLayers, focalPointsPerLayer, requestedFeatures, providedFeatures);
  OGLM_CHECK_ERR("glFramebufferFoveationConfigQCOM", )
  RETVAL = providedFeatures[0];
#line 19019 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferFoveationParametersQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferFoveationParametersQCOM)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "fbo, layer, focalPoint, focalX, focalY, gainX, gainY, foveaArea");
    {
	GLuint	fbo = (unsigned int)SvUV(ST(0))
;
	GLuint	layer = (unsigned int)SvUV(ST(1))
;
	GLuint	focalPoint = (unsigned int)SvUV(ST(2))
;
	GLfloat	focalX = (float)SvNV(ST(3))
;
	GLfloat	focalY = (float)SvNV(ST(4))
;
	GLfloat	gainX = (float)SvNV(ST(5))
;
	GLfloat	gainY = (float)SvNV(ST(6))
;
	GLfloat	foveaArea = (float)SvNV(ST(7))
;
#line 9230 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferFoveationParametersQCOM", )
  OGLM_AVAIL_CHECK(__glewFramebufferFoveationParametersQCOM, glFramebufferFoveationParametersQCOM)
  glFramebufferFoveationParametersQCOM(fbo, layer, focalPoint, focalX, focalY, gainX, gainY, foveaArea);
  OGLM_CHECK_ERR("glFramebufferFoveationParametersQCOM", )
#line 19056 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferParameteri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferParameteri)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 9242 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferParameteri", )
  OGLM_AVAIL_CHECK(__glewFramebufferParameteri, glFramebufferParameteri)
  glFramebufferParameteri(target, pname, param);
  OGLM_CHECK_ERR("glFramebufferParameteri", )
#line 19081 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferParameteriMESA); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferParameteriMESA)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 9254 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferParameteriMESA", )
  OGLM_AVAIL_CHECK(__glewFramebufferParameteriMESA, glFramebufferParameteriMESA)
  glFramebufferParameteriMESA(target, pname, param);
  OGLM_CHECK_ERR("glFramebufferParameteriMESA", )
#line 19106 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferPixelLocalStorageSizeEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferPixelLocalStorageSizeEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, size");
    {
	GLuint	target = (unsigned int)SvUV(ST(0))
;
	GLsizei	size = (int)SvIV(ST(1))
;
#line 9265 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferPixelLocalStorageSizeEXT", )
  OGLM_AVAIL_CHECK(__glewFramebufferPixelLocalStorageSizeEXT, glFramebufferPixelLocalStorageSizeEXT)
  glFramebufferPixelLocalStorageSizeEXT(target, size);
  OGLM_CHECK_ERR("glFramebufferPixelLocalStorageSizeEXT", )
#line 19129 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferReadBufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferReadBufferEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "framebuffer, mode");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 9276 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferReadBufferEXT", )
  OGLM_AVAIL_CHECK(__glewFramebufferReadBufferEXT, glFramebufferReadBufferEXT)
  glFramebufferReadBufferEXT(framebuffer, mode);
  OGLM_CHECK_ERR("glFramebufferReadBufferEXT", )
#line 19152 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferRenderbuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferRenderbuffer)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, attachment, renderbuffertarget, renderbuffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	renderbuffertarget = (int)SvIV(ST(2))
;
	GLuint	renderbuffer = (unsigned int)SvUV(ST(3))
;
#line 9291 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferRenderbuffer", )
  OGLM_AVAIL_CHECK(__glewFramebufferRenderbuffer, glFramebufferRenderbuffer)
  glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
  OGLM_CHECK_ERR("glFramebufferRenderbuffer", )
#line 19180 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferRenderbufferOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferRenderbufferOES)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, attachment, renderbuffertarget, renderbuffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	renderbuffertarget = (int)SvIV(ST(2))
;
	GLuint	renderbuffer = (unsigned int)SvUV(ST(3))
;
#line 9304 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferRenderbufferOES", )
  OGLM_AVAIL_CHECK(__glewFramebufferRenderbufferOES, glFramebufferRenderbufferOES)
  glFramebufferRenderbufferOES(target, attachment, renderbuffertarget, renderbuffer);
  OGLM_CHECK_ERR("glFramebufferRenderbufferOES", )
#line 19207 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferSampleLocationsfvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferSampleLocationsfvARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, start, count, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	start = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 9317 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferSampleLocationsfvARB", )
  OGLM_AVAIL_CHECK(__glewFramebufferSampleLocationsfvARB, glFramebufferSampleLocationsfvARB)
  glFramebufferSampleLocationsfvARB(target, start, count, v);
  OGLM_CHECK_ERR("glFramebufferSampleLocationsfvARB", )
#line 19234 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferSampleLocationsfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferSampleLocationsfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, start, count, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	start = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 9330 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferSampleLocationsfvNV", )
  OGLM_AVAIL_CHECK(__glewFramebufferSampleLocationsfvNV, glFramebufferSampleLocationsfvNV)
  glFramebufferSampleLocationsfvNV(target, start, count, v);
  OGLM_CHECK_ERR("glFramebufferSampleLocationsfvNV", )
#line 19261 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferSamplePositionsfvAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferSamplePositionsfvAMD_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, numsamples, pixelindex, values");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	numsamples = (unsigned int)SvUV(ST(1))
;
	GLuint	pixelindex = (unsigned int)SvUV(ST(2))
;
	const GLfloat*	values = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 9343 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferSamplePositionsfvAMD", )
  OGLM_AVAIL_CHECK(__glewFramebufferSamplePositionsfvAMD, glFramebufferSamplePositionsfvAMD)
  glFramebufferSamplePositionsfvAMD(target, numsamples, pixelindex, values);
  OGLM_CHECK_ERR("glFramebufferSamplePositionsfvAMD", )
#line 19288 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferShadingRateEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferShadingRateEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, attachment, texture, baseLayer, numLayers, texelWidth, texelHeight");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	baseLayer = (int)SvIV(ST(3))
;
	GLsizei	numLayers = (int)SvIV(ST(4))
;
	GLsizei	texelWidth = (int)SvIV(ST(5))
;
	GLsizei	texelHeight = (int)SvIV(ST(6))
;
#line 9359 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferShadingRateEXT", )
  OGLM_AVAIL_CHECK(__glewFramebufferShadingRateEXT, glFramebufferShadingRateEXT)
  glFramebufferShadingRateEXT(target, attachment, texture, baseLayer, numLayers, texelWidth, texelHeight);
  OGLM_CHECK_ERR("glFramebufferShadingRateEXT", )
#line 19321 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, attachment, texture, level");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
#line 9375 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTexture", )
  OGLM_AVAIL_CHECK(__glewFramebufferTexture, glFramebufferTexture)
  glFramebufferTexture(target, attachment, texture, level);
  OGLM_CHECK_ERR("glFramebufferTexture", )
#line 19349 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture1D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture1D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, attachment, textarget, texture, level");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	textarget = (int)SvIV(ST(2))
;
	GLuint	texture = (unsigned int)SvUV(ST(3))
;
	GLint	level = (int)SvIV(ST(4))
;
#line 9391 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTexture1D", )
  OGLM_AVAIL_CHECK(__glewFramebufferTexture1D, glFramebufferTexture1D)
  glFramebufferTexture1D(target, attachment, textarget, texture, level);
  OGLM_CHECK_ERR("glFramebufferTexture1D", )
#line 19379 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture2D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture2D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, attachment, textarget, texture, level");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	textarget = (int)SvIV(ST(2))
;
	GLuint	texture = (unsigned int)SvUV(ST(3))
;
	GLint	level = (int)SvIV(ST(4))
;
#line 9407 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTexture2D", )
  OGLM_AVAIL_CHECK(__glewFramebufferTexture2D, glFramebufferTexture2D)
  glFramebufferTexture2D(target, attachment, textarget, texture, level);
  OGLM_CHECK_ERR("glFramebufferTexture2D", )
#line 19409 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture2DDownsampleIMG); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture2DDownsampleIMG)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, attachment, textarget, texture, level, xscale, yscale");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	textarget = (int)SvIV(ST(2))
;
	GLuint	texture = (unsigned int)SvUV(ST(3))
;
	GLint	level = (int)SvIV(ST(4))
;
	GLint	xscale = (int)SvIV(ST(5))
;
	GLint	yscale = (int)SvIV(ST(6))
;
#line 9423 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTexture2DDownsampleIMG", )
  OGLM_AVAIL_CHECK(__glewFramebufferTexture2DDownsampleIMG, glFramebufferTexture2DDownsampleIMG)
  glFramebufferTexture2DDownsampleIMG(target, attachment, textarget, texture, level, xscale, yscale);
  OGLM_CHECK_ERR("glFramebufferTexture2DDownsampleIMG", )
#line 19442 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture2DMultisampleEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture2DMultisampleEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, attachment, textarget, texture, level, samples");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	textarget = (int)SvIV(ST(2))
;
	GLuint	texture = (unsigned int)SvUV(ST(3))
;
	GLint	level = (int)SvIV(ST(4))
;
	GLsizei	samples = (int)SvIV(ST(5))
;
#line 9438 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTexture2DMultisampleEXT", )
  OGLM_AVAIL_CHECK(__glewFramebufferTexture2DMultisampleEXT, glFramebufferTexture2DMultisampleEXT)
  glFramebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, samples);
  OGLM_CHECK_ERR("glFramebufferTexture2DMultisampleEXT", )
#line 19473 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture2DMultisampleIMG); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture2DMultisampleIMG)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, attachment, textarget, texture, level, samples");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	textarget = (int)SvIV(ST(2))
;
	GLuint	texture = (unsigned int)SvUV(ST(3))
;
	GLint	level = (int)SvIV(ST(4))
;
	GLsizei	samples = (int)SvIV(ST(5))
;
#line 9453 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTexture2DMultisampleIMG", )
  OGLM_AVAIL_CHECK(__glewFramebufferTexture2DMultisampleIMG, glFramebufferTexture2DMultisampleIMG)
  glFramebufferTexture2DMultisampleIMG(target, attachment, textarget, texture, level, samples);
  OGLM_CHECK_ERR("glFramebufferTexture2DMultisampleIMG", )
#line 19504 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture2DOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture2DOES)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, attachment, textarget, texture, level");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	textarget = (int)SvIV(ST(2))
;
	GLuint	texture = (unsigned int)SvUV(ST(3))
;
	GLint	level = (int)SvIV(ST(4))
;
#line 9467 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTexture2DOES", )
  OGLM_AVAIL_CHECK(__glewFramebufferTexture2DOES, glFramebufferTexture2DOES)
  glFramebufferTexture2DOES(target, attachment, textarget, texture, level);
  OGLM_CHECK_ERR("glFramebufferTexture2DOES", )
#line 19533 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture3D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture3D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "target, attachment, textarget, texture, level, zoffset");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	textarget = (int)SvIV(ST(2))
;
	GLuint	texture = (unsigned int)SvUV(ST(3))
;
	GLint	level = (int)SvIV(ST(4))
;
	GLint	zoffset = (int)SvIV(ST(5))
;
#line 9484 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTexture3D", )
  OGLM_AVAIL_CHECK(__glewFramebufferTexture3D, glFramebufferTexture3D)
  glFramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
  OGLM_CHECK_ERR("glFramebufferTexture3D", )
#line 19565 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture3DOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTexture3DOES)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, attachment, textarget, texture, level, zoffset");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	textarget = (int)SvIV(ST(2))
;
	GLuint	texture = (unsigned int)SvUV(ST(3))
;
	GLint	level = (int)SvIV(ST(4))
;
	GLint	zoffset = (int)SvIV(ST(5))
;
#line 9499 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTexture3DOES", )
  OGLM_AVAIL_CHECK(__glewFramebufferTexture3DOES, glFramebufferTexture3DOES)
  glFramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset);
  OGLM_CHECK_ERR("glFramebufferTexture3DOES", )
#line 19596 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureFaceARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureFaceARB)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, attachment, texture, level, face");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
	GLenum	face = (int)SvIV(ST(4))
;
#line 9515 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTextureFaceARB", )
  OGLM_AVAIL_CHECK(__glewFramebufferTextureFaceARB, glFramebufferTextureFaceARB)
  glFramebufferTextureFaceARB(target, attachment, texture, level, face);
  OGLM_CHECK_ERR("glFramebufferTextureFaceARB", )
#line 19626 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureLayer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureLayer)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, attachment, texture, level, layer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
	GLint	layer = (int)SvIV(ST(4))
;
#line 9532 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTextureLayer", )
  OGLM_AVAIL_CHECK(__glewFramebufferTextureLayer, glFramebufferTextureLayer)
  glFramebufferTextureLayer(target, attachment, texture, level, layer);
  OGLM_CHECK_ERR("glFramebufferTextureLayer", )
#line 19656 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureLayerDownsampleIMG); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureLayerDownsampleIMG)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, attachment, texture, level, layer, xscale, yscale");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
	GLint	layer = (int)SvIV(ST(4))
;
	GLint	xscale = (int)SvIV(ST(5))
;
	GLint	yscale = (int)SvIV(ST(6))
;
#line 9548 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTextureLayerDownsampleIMG", )
  OGLM_AVAIL_CHECK(__glewFramebufferTextureLayerDownsampleIMG, glFramebufferTextureLayerDownsampleIMG)
  glFramebufferTextureLayerDownsampleIMG(target, attachment, texture, level, layer, xscale, yscale);
  OGLM_CHECK_ERR("glFramebufferTextureLayerDownsampleIMG", )
#line 19689 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureLayerNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureLayerNV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, attachment, texture, level, layer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
	GLint	layer = (int)SvIV(ST(4))
;
#line 9562 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTextureLayerNV", )
  OGLM_AVAIL_CHECK(__glewFramebufferTextureLayerNV, glFramebufferTextureLayerNV)
  glFramebufferTextureLayerNV(target, attachment, texture, level, layer);
  OGLM_CHECK_ERR("glFramebufferTextureLayerNV", )
#line 19718 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureMultisampleMultiviewOVR); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureMultisampleMultiviewOVR)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, attachment, texture, level, samples, baseViewIndex, numViews");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
	GLsizei	samples = (int)SvIV(ST(4))
;
	GLint	baseViewIndex = (int)SvIV(ST(5))
;
	GLsizei	numViews = (int)SvIV(ST(6))
;
#line 9578 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTextureMultisampleMultiviewOVR", )
  OGLM_AVAIL_CHECK(__glewFramebufferTextureMultisampleMultiviewOVR, glFramebufferTextureMultisampleMultiviewOVR)
  glFramebufferTextureMultisampleMultiviewOVR(target, attachment, texture, level, samples, baseViewIndex, numViews);
  OGLM_CHECK_ERR("glFramebufferTextureMultisampleMultiviewOVR", )
#line 19751 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureMultiviewOVR); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFramebufferTextureMultiviewOVR)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, attachment, texture, level, baseViewIndex, numViews");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
	GLint	baseViewIndex = (int)SvIV(ST(4))
;
	GLsizei	numViews = (int)SvIV(ST(5))
;
#line 9593 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFramebufferTextureMultiviewOVR", )
  OGLM_AVAIL_CHECK(__glewFramebufferTextureMultiviewOVR, glFramebufferTextureMultiviewOVR)
  glFramebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex, numViews);
  OGLM_CHECK_ERR("glFramebufferTextureMultiviewOVR", )
#line 19782 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFreeObjectBufferATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFreeObjectBufferATI)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "buffer");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
#line 9603 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFreeObjectBufferATI", )
  OGLM_AVAIL_CHECK(__glewFreeObjectBufferATI, glFreeObjectBufferATI)
  glFreeObjectBufferATI(buffer);
  OGLM_CHECK_ERR("glFreeObjectBufferATI", )
#line 19803 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFrontFace); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFrontFace)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 9613 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFrontFace", )
  glFrontFace(mode);
  OGLM_CHECK_ERR("glFrontFace", )
#line 19823 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFrustum); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFrustum)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "left, right, bottom, top, zNear, zFar");
    {
	GLdouble	left = (double)SvNV(ST(0))
;
	GLdouble	right = (double)SvNV(ST(1))
;
	GLdouble	bottom = (double)SvNV(ST(2))
;
	GLdouble	top = (double)SvNV(ST(3))
;
	GLdouble	zNear = (double)SvNV(ST(4))
;
	GLdouble	zFar = (double)SvNV(ST(5))
;
#line 9627 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFrustum", )
  glFrustum(left, right, bottom, top, zNear, zFar);
  OGLM_CHECK_ERR("glFrustum", )
#line 19853 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFrustumf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFrustumf)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "left, right, bottom, top, zNear, zFar");
    {
	GLfloat	left = (float)SvNV(ST(0))
;
	GLfloat	right = (float)SvNV(ST(1))
;
	GLfloat	bottom = (float)SvNV(ST(2))
;
	GLfloat	top = (float)SvNV(ST(3))
;
	GLfloat	zNear = (float)SvNV(ST(4))
;
	GLfloat	zFar = (float)SvNV(ST(5))
;
#line 9641 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFrustumf", )
  OGLM_AVAIL_CHECK(__glewFrustumf, glFrustumf)
  glFrustumf(left, right, bottom, top, zNear, zFar);
  OGLM_CHECK_ERR("glFrustumf", )
#line 19884 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFrustumfOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFrustumfOES)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "l, r, b, t, n, f");
    {
	GLfloat	l = (float)SvNV(ST(0))
;
	GLfloat	r = (float)SvNV(ST(1))
;
	GLfloat	b = (float)SvNV(ST(2))
;
	GLfloat	t = (float)SvNV(ST(3))
;
	GLfloat	n = (float)SvNV(ST(4))
;
	GLfloat	f = (float)SvNV(ST(5))
;
#line 9656 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFrustumfOES", )
  OGLM_AVAIL_CHECK(__glewFrustumfOES, glFrustumfOES)
  glFrustumfOES(l, r, b, t, n, f);
  OGLM_CHECK_ERR("glFrustumfOES", )
#line 19915 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glFrustumx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glFrustumx)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "left, right, bottom, top, zNear, zFar");
    {
	GLfixed	left = (int)SvIV(ST(0))
;
	GLfixed	right = (int)SvIV(ST(1))
;
	GLfixed	bottom = (int)SvIV(ST(2))
;
	GLfixed	top = (int)SvIV(ST(3))
;
	GLfixed	zNear = (int)SvIV(ST(4))
;
	GLfixed	zFar = (int)SvIV(ST(5))
;
#line 9671 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glFrustumx", )
  OGLM_AVAIL_CHECK(__glewFrustumx, glFrustumx)
  glFrustumx(left, right, bottom, top, zNear, zFar);
  OGLM_CHECK_ERR("glFrustumx", )
#line 19946 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenAsyncMarkersSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenAsyncMarkersSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "range");
    {
	GLsizei	range = (int)SvIV(ST(0))
;
	GLuint	RETVAL;
	dXSTARG;
#line 9681 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenAsyncMarkersSGIX", )
  OGLM_AVAIL_CHECK(__glewGenAsyncMarkersSGIX, glGenAsyncMarkersSGIX)
  RETVAL = glGenAsyncMarkersSGIX(range);
  OGLM_CHECK_ERR("glGenAsyncMarkersSGIX", )
#line 19969 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGenBuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenBuffers_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, buffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	buffers = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 9696 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenBuffers", )
  OGLM_AVAIL_CHECK(__glewGenBuffers, glGenBuffers)
  glGenBuffers(n, buffers);
  OGLM_CHECK_ERR("glGenBuffers", )
#line 19995 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenBuffers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenBuffers_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 9708 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenBuffers", )
  OGLM_AVAIL_CHECK(__glewGenBuffers, glGenBuffers)
  GLuint* buffers = OGLM_ALLOC(n,GLuint,buffers);
  glGenBuffers(n, buffers);
  OGLM_CHECK_ERR("glGenBuffers", free(buffers);)
  OGLM_OUT_FINISH(buffers,n,newSVuv)
  free(buffers);
#line 20022 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenFencesAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenFencesAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, fences");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	fences = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 9722 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenFencesAPPLE", )
  OGLM_AVAIL_CHECK(__glewGenFencesAPPLE, glGenFencesAPPLE)
  glGenFencesAPPLE(n, fences);
  OGLM_CHECK_ERR("glGenFencesAPPLE", )
#line 20046 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenFencesAPPLE_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenFencesAPPLE_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 9732 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenFencesAPPLE", )
  OGLM_AVAIL_CHECK(__glewGenFencesAPPLE, glGenFencesAPPLE)
  GLuint* fences = OGLM_ALLOC(n,GLuint,fences);
  glGenFencesAPPLE(n, fences);
  OGLM_CHECK_ERR("glGenFencesAPPLE", free(fences);)
  OGLM_OUT_FINISH(fences,n,newSVuv)
  free(fences);
#line 20072 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenFencesNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenFencesNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, fences");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	fences = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 9746 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenFencesNV", )
  OGLM_AVAIL_CHECK(__glewGenFencesNV, glGenFencesNV)
  glGenFencesNV(n, fences);
  OGLM_CHECK_ERR("glGenFencesNV", )
#line 20096 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenFencesNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenFencesNV_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 9756 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenFencesNV", )
  OGLM_AVAIL_CHECK(__glewGenFencesNV, glGenFencesNV)
  GLuint* fences = OGLM_ALLOC(n,GLuint,fences);
  glGenFencesNV(n, fences);
  OGLM_CHECK_ERR("glGenFencesNV", free(fences);)
  OGLM_OUT_FINISH(fences,n,newSVuv)
  free(fences);
#line 20122 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenFragmentShadersATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenFragmentShadersATI)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "range");
    {
	GLuint	range = (unsigned int)SvUV(ST(0))
;
	GLuint	RETVAL;
	dXSTARG;
#line 9769 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenFragmentShadersATI", )
  OGLM_AVAIL_CHECK(__glewGenFragmentShadersATI, glGenFragmentShadersATI)
  RETVAL = glGenFragmentShadersATI(range);
  OGLM_CHECK_ERR("glGenFragmentShadersATI", )
#line 20146 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGenFramebuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenFramebuffers_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, framebuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	framebuffers = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 9784 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenFramebuffers", )
  OGLM_AVAIL_CHECK(__glewGenFramebuffers, glGenFramebuffers)
  glGenFramebuffers(n, framebuffers);
  OGLM_CHECK_ERR("glGenFramebuffers", )
#line 20172 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenFramebuffers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenFramebuffers_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 9796 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenFramebuffers", )
  OGLM_AVAIL_CHECK(__glewGenFramebuffers, glGenFramebuffers)
  GLuint* framebuffers = OGLM_ALLOC(n,GLuint,framebuffers);
  glGenFramebuffers(n, framebuffers);
  OGLM_CHECK_ERR("glGenFramebuffers", free(framebuffers);)
  OGLM_OUT_FINISH(framebuffers,n,newSVuv)
  free(framebuffers);
#line 20199 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenFramebuffersOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenFramebuffersOES_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, framebuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	framebuffers = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 9810 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenFramebuffersOES", )
  OGLM_AVAIL_CHECK(__glewGenFramebuffersOES, glGenFramebuffersOES)
  glGenFramebuffersOES(n, framebuffers);
  OGLM_CHECK_ERR("glGenFramebuffersOES", )
#line 20223 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenLists); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenLists)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "range");
    {
	GLsizei	range = (int)SvIV(ST(0))
;
	GLuint	RETVAL;
	dXSTARG;
#line 9820 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenLists", )
  RETVAL = glGenLists(range);
  OGLM_CHECK_ERR("glGenLists", )
#line 20245 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGenMPEGPredictorsSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenMPEGPredictorsSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, predictors");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	predictors = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 9832 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenMPEGPredictorsSGIX", )
  OGLM_AVAIL_CHECK(__glewGenMPEGPredictorsSGIX, glGenMPEGPredictorsSGIX)
  glGenMPEGPredictorsSGIX(n, predictors);
  OGLM_CHECK_ERR("glGenMPEGPredictorsSGIX", )
#line 20270 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenNamesAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenNamesAMD_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "identifier, num, names");
    {
	GLenum	identifier = (int)SvIV(ST(0))
;
	GLuint	num = (unsigned int)SvUV(ST(1))
;
	GLuint*	names = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 9844 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenNamesAMD", )
  OGLM_AVAIL_CHECK(__glewGenNamesAMD, glGenNamesAMD)
  glGenNamesAMD(identifier, num, names);
  OGLM_CHECK_ERR("glGenNamesAMD", )
#line 20295 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenNamesAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenNamesAMD_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "identifier, num");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	identifier = (int)SvIV(ST(0))
;
	GLuint	num = (unsigned int)SvUV(ST(1))
;
#line 9855 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenNamesAMD", )
  OGLM_AVAIL_CHECK(__glewGenNamesAMD, glGenNamesAMD)
  GLuint* names = OGLM_ALLOC(num,GLuint,names);
  glGenNamesAMD(identifier, num, names);
  OGLM_CHECK_ERR("glGenNamesAMD", free(names);)
  OGLM_OUT_FINISH(names,num,newSVuv)
  free(names);
#line 20323 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenOcclusionQueriesNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenOcclusionQueriesNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, ids");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	ids = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 9869 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenOcclusionQueriesNV", )
  OGLM_AVAIL_CHECK(__glewGenOcclusionQueriesNV, glGenOcclusionQueriesNV)
  glGenOcclusionQueriesNV(n, ids);
  OGLM_CHECK_ERR("glGenOcclusionQueriesNV", )
#line 20347 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenOcclusionQueriesNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenOcclusionQueriesNV_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 9879 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenOcclusionQueriesNV", )
  OGLM_AVAIL_CHECK(__glewGenOcclusionQueriesNV, glGenOcclusionQueriesNV)
  GLuint* ids = OGLM_ALLOC(n,GLuint,ids);
  glGenOcclusionQueriesNV(n, ids);
  OGLM_CHECK_ERR("glGenOcclusionQueriesNV", free(ids);)
  OGLM_OUT_FINISH(ids,n,newSVuv)
  free(ids);
#line 20373 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenPathsNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenPathsNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "range");
    {
	GLsizei	range = (int)SvIV(ST(0))
;
	GLuint	RETVAL;
	dXSTARG;
#line 9892 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenPathsNV", )
  OGLM_AVAIL_CHECK(__glewGenPathsNV, glGenPathsNV)
  RETVAL = glGenPathsNV(range);
  OGLM_CHECK_ERR("glGenPathsNV", )
#line 20397 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGenPerfMonitorsAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenPerfMonitorsAMD_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, monitors");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	monitors = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 9905 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenPerfMonitorsAMD", )
  OGLM_AVAIL_CHECK(__glewGenPerfMonitorsAMD, glGenPerfMonitorsAMD)
  glGenPerfMonitorsAMD(n, monitors);
  OGLM_CHECK_ERR("glGenPerfMonitorsAMD", )
#line 20422 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenPerfMonitorsAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenPerfMonitorsAMD_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 9915 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenPerfMonitorsAMD", )
  OGLM_AVAIL_CHECK(__glewGenPerfMonitorsAMD, glGenPerfMonitorsAMD)
  GLuint* monitors = OGLM_ALLOC(n,GLuint,monitors);
  glGenPerfMonitorsAMD(n, monitors);
  OGLM_CHECK_ERR("glGenPerfMonitorsAMD", free(monitors);)
  OGLM_OUT_FINISH(monitors,n,newSVuv)
  free(monitors);
#line 20448 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenProgramPipelines_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenProgramPipelines_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, pipelines");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	pipelines = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 9929 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenProgramPipelines", )
  OGLM_AVAIL_CHECK(__glewGenProgramPipelines, glGenProgramPipelines)
  glGenProgramPipelines(n, pipelines);
  OGLM_CHECK_ERR("glGenProgramPipelines", )
#line 20472 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenProgramPipelines_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenProgramPipelines_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 9939 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenProgramPipelines", )
  OGLM_AVAIL_CHECK(__glewGenProgramPipelines, glGenProgramPipelines)
  GLuint* pipelines = OGLM_ALLOC(n,GLuint,pipelines);
  glGenProgramPipelines(n, pipelines);
  OGLM_CHECK_ERR("glGenProgramPipelines", free(pipelines);)
  OGLM_OUT_FINISH(pipelines,n,newSVuv)
  free(pipelines);
#line 20498 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenProgramsARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenProgramsARB_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, programs");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	programs = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 9955 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenProgramsARB", )
  OGLM_AVAIL_CHECK(__glewGenProgramsARB, glGenProgramsARB)
  glGenProgramsARB(n, programs);
  OGLM_CHECK_ERR("glGenProgramsARB", )
#line 20523 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenProgramsARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenProgramsARB_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 9967 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenProgramsARB", )
  OGLM_AVAIL_CHECK(__glewGenProgramsARB, glGenProgramsARB)
  GLuint* programs = OGLM_ALLOC(n,GLuint,programs);
  glGenProgramsARB(n, programs);
  OGLM_CHECK_ERR("glGenProgramsARB", free(programs);)
  OGLM_OUT_FINISH(programs,n,newSVuv)
  free(programs);
#line 20550 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenQueries_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenQueries_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, ids");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	ids = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 9983 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenQueries", )
  OGLM_AVAIL_CHECK(__glewGenQueries, glGenQueries)
  glGenQueries(n, ids);
  OGLM_CHECK_ERR("glGenQueries", )
#line 20575 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenQueries_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenQueries_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 9995 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenQueries", )
  OGLM_AVAIL_CHECK(__glewGenQueries, glGenQueries)
  GLuint* ids = OGLM_ALLOC(n,GLuint,ids);
  glGenQueries(n, ids);
  OGLM_CHECK_ERR("glGenQueries", free(ids);)
  OGLM_OUT_FINISH(ids,n,newSVuv)
  free(ids);
#line 20602 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenQueriesANGLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenQueriesANGLE_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, ids");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	ids = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10009 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenQueriesANGLE", )
  OGLM_AVAIL_CHECK(__glewGenQueriesANGLE, glGenQueriesANGLE)
  glGenQueriesANGLE(n, ids);
  OGLM_CHECK_ERR("glGenQueriesANGLE", )
#line 20626 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenQueriesEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenQueriesEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, ids");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	ids = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10020 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenQueriesEXT", )
  OGLM_AVAIL_CHECK(__glewGenQueriesEXT, glGenQueriesEXT)
  glGenQueriesEXT(n, ids);
  OGLM_CHECK_ERR("glGenQueriesEXT", )
#line 20649 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenQueriesEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenQueriesEXT_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 10030 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenQueriesEXT", )
  OGLM_AVAIL_CHECK(__glewGenQueriesEXT, glGenQueriesEXT)
  GLuint* ids = OGLM_ALLOC(n,GLuint,ids);
  glGenQueriesEXT(n, ids);
  OGLM_CHECK_ERR("glGenQueriesEXT", free(ids);)
  OGLM_OUT_FINISH(ids,n,newSVuv)
  free(ids);
#line 20675 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenRenderbuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenRenderbuffers_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, renderbuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	renderbuffers = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10046 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenRenderbuffers", )
  OGLM_AVAIL_CHECK(__glewGenRenderbuffers, glGenRenderbuffers)
  glGenRenderbuffers(n, renderbuffers);
  OGLM_CHECK_ERR("glGenRenderbuffers", )
#line 20700 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenRenderbuffers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenRenderbuffers_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 10058 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenRenderbuffers", )
  OGLM_AVAIL_CHECK(__glewGenRenderbuffers, glGenRenderbuffers)
  GLuint* renderbuffers = OGLM_ALLOC(n,GLuint,renderbuffers);
  glGenRenderbuffers(n, renderbuffers);
  OGLM_CHECK_ERR("glGenRenderbuffers", free(renderbuffers);)
  OGLM_OUT_FINISH(renderbuffers,n,newSVuv)
  free(renderbuffers);
#line 20727 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenRenderbuffersOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenRenderbuffersOES_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, renderbuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	renderbuffers = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10072 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenRenderbuffersOES", )
  OGLM_AVAIL_CHECK(__glewGenRenderbuffersOES, glGenRenderbuffersOES)
  glGenRenderbuffersOES(n, renderbuffers);
  OGLM_CHECK_ERR("glGenRenderbuffersOES", )
#line 20751 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenSamplers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenSamplers_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "count, samplers");
    {
	GLsizei	count = (int)SvIV(ST(0))
;
	GLuint*	samplers = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10083 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenSamplers", )
  OGLM_AVAIL_CHECK(__glewGenSamplers, glGenSamplers)
  glGenSamplers(count, samplers);
  OGLM_CHECK_ERR("glGenSamplers", )
#line 20774 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenSamplers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenSamplers_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "count");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	count = (int)SvIV(ST(0))
;
#line 10093 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenSamplers", )
  OGLM_AVAIL_CHECK(__glewGenSamplers, glGenSamplers)
  GLuint* samplers = OGLM_ALLOC(count,GLuint,samplers);
  glGenSamplers(count, samplers);
  OGLM_CHECK_ERR("glGenSamplers", free(samplers);)
  OGLM_OUT_FINISH(samplers,count,newSVuv)
  free(samplers);
#line 20800 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenSemaphoresEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenSemaphoresEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, semaphores");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	semaphores = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10107 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenSemaphoresEXT", )
  OGLM_AVAIL_CHECK(__glewGenSemaphoresEXT, glGenSemaphoresEXT)
  glGenSemaphoresEXT(n, semaphores);
  OGLM_CHECK_ERR("glGenSemaphoresEXT", )
#line 20824 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenSemaphoresEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenSemaphoresEXT_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 10117 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenSemaphoresEXT", )
  OGLM_AVAIL_CHECK(__glewGenSemaphoresEXT, glGenSemaphoresEXT)
  GLuint* semaphores = OGLM_ALLOC(n,GLuint,semaphores);
  glGenSemaphoresEXT(n, semaphores);
  OGLM_CHECK_ERR("glGenSemaphoresEXT", free(semaphores);)
  OGLM_OUT_FINISH(semaphores,n,newSVuv)
  free(semaphores);
#line 20850 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenSymbolsEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenSymbolsEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "datatype, storagetype, range, components");
    {
	GLenum	datatype = (int)SvIV(ST(0))
;
	GLenum	storagetype = (int)SvIV(ST(1))
;
	GLenum	range = (int)SvIV(ST(2))
;
	GLuint	components = (unsigned int)SvUV(ST(3))
;
	GLuint	RETVAL;
	dXSTARG;
#line 10133 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenSymbolsEXT", )
  OGLM_AVAIL_CHECK(__glewGenSymbolsEXT, glGenSymbolsEXT)
  RETVAL = glGenSymbolsEXT(datatype, storagetype, range, components);
  OGLM_CHECK_ERR("glGenSymbolsEXT", )
#line 20880 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGenTextures_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenTextures_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, textures");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint *	textures = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10146 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenTextures", )
  glGenTextures(n, textures);
  OGLM_CHECK_ERR("glGenTextures", )
#line 20904 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenTextures_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenTextures_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 10155 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenTextures", )
  GLuint *textures = OGLM_ALLOC(n,GLuint,textures);
  glGenTextures(n, textures);
  OGLM_CHECK_ERR("glGenTextures", free(textures);)
  OGLM_OUT_FINISH(textures,n,newSVuv)
  free(textures);
#line 20929 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenTexturesEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenTexturesEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, textures");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	textures = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10168 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenTexturesEXT", )
  OGLM_AVAIL_CHECK(__glewGenTexturesEXT, glGenTexturesEXT)
  glGenTexturesEXT(n, textures);
  OGLM_CHECK_ERR("glGenTexturesEXT", )
#line 20953 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenTexturesEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenTexturesEXT_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 10178 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenTexturesEXT", )
  OGLM_AVAIL_CHECK(__glewGenTexturesEXT, glGenTexturesEXT)
  GLuint* textures = OGLM_ALLOC(n,GLuint,textures);
  glGenTexturesEXT(n, textures);
  OGLM_CHECK_ERR("glGenTexturesEXT", free(textures);)
  OGLM_OUT_FINISH(textures,n,newSVuv)
  free(textures);
#line 20979 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenTransformFeedbacks_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenTransformFeedbacks_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, ids");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	ids = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10194 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenTransformFeedbacks", )
  OGLM_AVAIL_CHECK(__glewGenTransformFeedbacks, glGenTransformFeedbacks)
  glGenTransformFeedbacks(n, ids);
  OGLM_CHECK_ERR("glGenTransformFeedbacks", )
#line 21004 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenTransformFeedbacks_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenTransformFeedbacks_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 10206 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenTransformFeedbacks", )
  OGLM_AVAIL_CHECK(__glewGenTransformFeedbacks, glGenTransformFeedbacks)
  GLuint* ids = OGLM_ALLOC(n,GLuint,ids);
  glGenTransformFeedbacks(n, ids);
  OGLM_CHECK_ERR("glGenTransformFeedbacks", free(ids);)
  OGLM_OUT_FINISH(ids,n,newSVuv)
  free(ids);
#line 21031 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenVertexArrays_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenVertexArrays_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "n, arrays");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	arrays = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10222 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenVertexArrays", )
  OGLM_AVAIL_CHECK(__glewGenVertexArrays, glGenVertexArrays)
  glGenVertexArrays(n, arrays);
  OGLM_CHECK_ERR("glGenVertexArrays", )
#line 21056 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenVertexArrays_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenVertexArrays_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 10234 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenVertexArrays", )
  OGLM_AVAIL_CHECK(__glewGenVertexArrays, glGenVertexArrays)
  GLuint* arrays = OGLM_ALLOC(n,GLuint,arrays);
  glGenVertexArrays(n, arrays);
  OGLM_CHECK_ERR("glGenVertexArrays", free(arrays);)
  OGLM_OUT_FINISH(arrays,n,newSVuv)
  free(arrays);
#line 21083 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGenVertexArraysOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenVertexArraysOES_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, arrays");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	arrays = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10248 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenVertexArraysOES", )
  OGLM_AVAIL_CHECK(__glewGenVertexArraysOES, glGenVertexArraysOES)
  glGenVertexArraysOES(n, arrays);
  OGLM_CHECK_ERR("glGenVertexArraysOES", )
#line 21107 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenVertexArraysSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenVertexArraysSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, arrays");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	arrays = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 10259 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenVertexArraysSGIX", )
  OGLM_AVAIL_CHECK(__glewGenVertexArraysSGIX, glGenVertexArraysSGIX)
  glGenVertexArraysSGIX(n, arrays);
  OGLM_CHECK_ERR("glGenVertexArraysSGIX", )
#line 21130 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenVertexShadersEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenVertexShadersEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "range");
    {
	GLuint	range = (unsigned int)SvUV(ST(0))
;
	GLuint	RETVAL;
	dXSTARG;
#line 10269 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenVertexShadersEXT", )
  OGLM_AVAIL_CHECK(__glewGenVertexShadersEXT, glGenVertexShadersEXT)
  RETVAL = glGenVertexShadersEXT(range);
  OGLM_CHECK_ERR("glGenVertexShadersEXT", )
#line 21153 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGenerateMipmap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenerateMipmap)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 10283 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenerateMipmap", )
  OGLM_AVAIL_CHECK(__glewGenerateMipmap, glGenerateMipmap)
  glGenerateMipmap(target);
  OGLM_CHECK_ERR("glGenerateMipmap", )
#line 21177 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenerateMipmapOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenerateMipmapOES)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 10293 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenerateMipmapOES", )
  OGLM_AVAIL_CHECK(__glewGenerateMipmapOES, glGenerateMipmapOES)
  glGenerateMipmapOES(target);
  OGLM_CHECK_ERR("glGenerateMipmapOES", )
#line 21198 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenerateMultiTexMipmapEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenerateMultiTexMipmapEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "texunit, target");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
#line 10304 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenerateMultiTexMipmapEXT", )
  OGLM_AVAIL_CHECK(__glewGenerateMultiTexMipmapEXT, glGenerateMultiTexMipmapEXT)
  glGenerateMultiTexMipmapEXT(texunit, target);
  OGLM_CHECK_ERR("glGenerateMultiTexMipmapEXT", )
#line 21221 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenerateTextureMipmap); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenerateTextureMipmap)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "texture");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
#line 10314 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenerateTextureMipmap", )
  OGLM_AVAIL_CHECK(__glewGenerateTextureMipmap, glGenerateTextureMipmap)
  glGenerateTextureMipmap(texture);
  OGLM_CHECK_ERR("glGenerateTextureMipmap", )
#line 21242 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGenerateTextureMipmapEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGenerateTextureMipmapEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "texture, target");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
#line 10325 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGenerateTextureMipmapEXT", )
  OGLM_AVAIL_CHECK(__glewGenerateTextureMipmapEXT, glGenerateTextureMipmapEXT)
  glGenerateTextureMipmapEXT(texture, target);
  OGLM_CHECK_ERR("glGenerateTextureMipmapEXT", )
#line 21265 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveAtomicCounterBufferiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveAtomicCounterBufferiv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, bufferIndex, pname, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	bufferIndex = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 10338 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveAtomicCounterBufferiv", )
  OGLM_AVAIL_CHECK(__glewGetActiveAtomicCounterBufferiv, glGetActiveAtomicCounterBufferiv)
  glGetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params);
  OGLM_CHECK_ERR("glGetActiveAtomicCounterBufferiv", )
#line 21292 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveAtomicCounterBufferiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveAtomicCounterBufferiv_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, bufferIndex, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	bufferIndex = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 10350 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveAtomicCounterBufferiv", )
  OGLM_AVAIL_CHECK(__glewGetActiveAtomicCounterBufferiv, glGetActiveAtomicCounterBufferiv)
  OGLM_SIZE_ENUM(AtomicCounterBufferPName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params);
  OGLM_CHECK_ERR("glGetActiveAtomicCounterBufferiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 21323 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveAttrib_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveAttrib_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "program, index, bufSize, length, size, type, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLint*	size = INT2PTR(GLint *,SvIV(ST(4)))
;
	GLenum*	type = INT2PTR(GLenum *,SvIV(ST(5)))
;
	GLchar*	name = (GLchar *)SvPV_nolen(ST(6))
;
#line 10370 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveAttrib", )
  OGLM_AVAIL_CHECK(__glewGetActiveAttrib, glGetActiveAttrib)
  glGetActiveAttrib(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetActiveAttrib", )
#line 21357 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveAttrib_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveAttrib_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 10381 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveAttrib", )
  OGLM_AVAIL_CHECK(__glewGetActiveAttrib, glGetActiveAttrib)
  OGLM_AVAIL_CHECK(__glewGetProgramiv, glGetProgramiv)
  GLsizei bufSize;
  glGetProgramiv(program,GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,&bufSize);
  GLsizei length[1];
  GLchar name[bufSize];
  GLint size[1];
  GLenum type[1];
  glGetActiveAttrib(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetActiveAttrib", )
  EXTEND(sp, 3);
  mPUSHs(newSViv(size[0]));
  mPUSHs(newSViv(type[0]));
  mPUSHs(newSVpv(name,0));
#line 21393 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveAttribARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveAttribARB_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "program, index, bufSize, length, size, type, name");
    {
	GLhandleARB	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLint *	size = INT2PTR(GLint *,SvIV(ST(4)))
;
	GLenum *	type = INT2PTR(GLenum *,SvIV(ST(5)))
;
	GLcharARB *	name = (GLcharARB *)SvPV_nolen(ST(6))
;
#line 10408 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveAttribARB", )
  OGLM_AVAIL_CHECK(__glewGetActiveAttribARB, glGetActiveAttribARB)
  glGetActiveAttribARB(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetActiveAttribARB", )
#line 21427 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveAttribARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveAttribARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLhandleARB	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 10419 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveAttribARB", )
  OGLM_AVAIL_CHECK(__glewGetActiveAttribARB, glGetActiveAttribARB)
  OGLM_AVAIL_CHECK(__glewGetProgramiv, glGetProgramiv)
  GLsizei bufSize;
  glGetProgramiv(program,GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,&bufSize);
  GLsizei length[1];
  GLcharARB name[bufSize];
  GLint size[1];
  GLenum type[1];
  glGetActiveAttribARB(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetActiveAttribARB", )
  EXTEND(sp, 3);
  mPUSHs(newSViv(size[0]));
  mPUSHs(newSViv(type[0]));
  mPUSHs(newSVpv(name,0));
#line 21463 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineName_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineName_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "program, shadertype, index, bufSize, length, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	shadertype = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	bufSize = (int)SvIV(ST(3))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(4)))
;
	GLchar *	name = (GLchar *)SvPV_nolen(ST(5))
;
#line 10445 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveSubroutineName", )
  OGLM_AVAIL_CHECK(__glewGetActiveSubroutineName, glGetActiveSubroutineName)
  glGetActiveSubroutineName(program, shadertype, index, bufSize, length, name);
  OGLM_CHECK_ERR("glGetActiveSubroutineName", )
#line 21495 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineName_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineName_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, shadertype, index");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	shadertype = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLchar *	RETVAL;
	dXSTARG;
#line 10457 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveSubroutineName", )
  OGLM_AVAIL_CHECK(__glewGetActiveSubroutineName, glGetActiveSubroutineName)
  OGLM_AVAIL_CHECK(__glewGetProgramStageiv, glGetProgramStageiv)
  GLsizei bufSize;
  glGetProgramStageiv(program,shadertype,GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,&bufSize);
  GLsizei length[1];
  GLchar name[bufSize];
  glGetActiveSubroutineName(program, shadertype, index, bufSize, length, name);
  OGLM_CHECK_ERR("glGetActiveSubroutineName", )
  RETVAL = name;
#line 21528 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineUniformName_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineUniformName_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "program, shadertype, index, bufSize, length, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	shadertype = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	bufSize = (int)SvIV(ST(3))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(4)))
;
	GLchar *	name = (GLchar *)SvPV_nolen(ST(5))
;
#line 10480 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveSubroutineUniformName", )
  OGLM_AVAIL_CHECK(__glewGetActiveSubroutineUniformName, glGetActiveSubroutineUniformName)
  glGetActiveSubroutineUniformName(program, shadertype, index, bufSize, length, name);
  OGLM_CHECK_ERR("glGetActiveSubroutineUniformName", )
#line 21562 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineUniformName_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineUniformName_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, shadertype, index");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	shadertype = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLchar *	RETVAL;
	dXSTARG;
#line 10492 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveSubroutineUniformName", )
  OGLM_AVAIL_CHECK(__glewGetActiveSubroutineUniformName, glGetActiveSubroutineUniformName)
  OGLM_AVAIL_CHECK(__glewGetActiveSubroutineUniformiv, glGetActiveSubroutineUniformiv)
  GLsizei bufSize;
  glGetActiveSubroutineUniformiv(program,shadertype,index,GL_UNIFORM_NAME_LENGTH,&bufSize);
  GLsizei* length = NULL;
  GLchar name[bufSize];
  glGetActiveSubroutineUniformName(program, shadertype, index, bufSize, length, name);
  OGLM_CHECK_ERR("glGetActiveSubroutineUniformName", )
  RETVAL = name;
#line 21595 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineUniformiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineUniformiv_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, shadertype, index, pname, values");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	shadertype = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
	GLint*	values = INT2PTR(GLint *,SvIV(ST(4)))
;
#line 10514 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveSubroutineUniformiv", )
  OGLM_AVAIL_CHECK(__glewGetActiveSubroutineUniformiv, glGetActiveSubroutineUniformiv)
  glGetActiveSubroutineUniformiv(program, shadertype, index, pname, values);
  OGLM_CHECK_ERR("glGetActiveSubroutineUniformiv", )
#line 21627 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineUniformiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveSubroutineUniformiv_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, shadertype, index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	shadertype = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
#line 10527 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveSubroutineUniformiv", )
  OGLM_AVAIL_CHECK(__glewGetActiveSubroutineUniformiv, glGetActiveSubroutineUniformiv)
  OGLM_SIZE_ENUM(SubroutineParameterName,pname,1)
  GLint* values = OGLM_ALLOC(pname_count,GLint,values);
  glGetActiveSubroutineUniformiv(program, shadertype, index, pname, values);
  OGLM_CHECK_ERR("glGetActiveSubroutineUniformiv", free(values);)
  OGLM_OUT_FINISH(values,pname_count,newSViv)
  free(values);
#line 21660 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniform_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniform_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "program, index, bufSize, length, size, type, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLint*	size = INT2PTR(GLint *,SvIV(ST(4)))
;
	GLenum*	type = INT2PTR(GLenum *,SvIV(ST(5)))
;
	GLchar*	name = (GLchar *)SvPV_nolen(ST(6))
;
#line 10547 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveUniform", )
  OGLM_AVAIL_CHECK(__glewGetActiveUniform, glGetActiveUniform)
  glGetActiveUniform(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetActiveUniform", )
#line 21694 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniform_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniform_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 10558 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveUniform", )
  OGLM_AVAIL_CHECK(__glewGetActiveUniform, glGetActiveUniform)
  OGLM_AVAIL_CHECK(__glewGetProgramiv, glGetProgramiv)
  GLsizei bufSize;
  glGetProgramiv(program,GL_ACTIVE_UNIFORM_MAX_LENGTH,&bufSize);
  GLsizei* length = NULL;
  GLchar name[bufSize];
  GLint size[1];
  GLenum type[1];
  glGetActiveUniform(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetActiveUniform", )
  EXTEND(sp, 3);
  mPUSHs(newSViv(size[0]));
  mPUSHs(newSViv(type[0]));
  mPUSHs(newSVpv(name,0));
#line 21730 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformARB_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "program, index, bufSize, length, size, type, name");
    {
	GLhandleARB	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLint *	size = INT2PTR(GLint *,SvIV(ST(4)))
;
	GLenum *	type = INT2PTR(GLenum *,SvIV(ST(5)))
;
	GLcharARB *	name = (GLcharARB *)SvPV_nolen(ST(6))
;
#line 10585 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveUniformARB", )
  OGLM_AVAIL_CHECK(__glewGetActiveUniformARB, glGetActiveUniformARB)
  glGetActiveUniformARB(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetActiveUniformARB", )
#line 21764 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLhandleARB	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 10596 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveUniformARB", )
  OGLM_AVAIL_CHECK(__glewGetActiveUniformARB, glGetActiveUniformARB)
  OGLM_AVAIL_CHECK(__glewGetProgramiv, glGetProgramiv)
  GLsizei bufSize;
  glGetProgramiv(program,GL_ACTIVE_UNIFORM_MAX_LENGTH,&bufSize);
  GLsizei* length = NULL;
  GLcharARB name[bufSize];
  GLint size[1];
  GLenum type[1];
  glGetActiveUniformARB(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetActiveUniformARB", )
  EXTEND(sp, 3);
  mPUSHs(newSViv(size[0]));
  mPUSHs(newSViv(type[0]));
  mPUSHs(newSVpv(name,0));
#line 21800 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformBlockName_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformBlockName_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, uniformBlockIndex, bufSize, length, uniformBlockName");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	uniformBlockIndex = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLchar*	uniformBlockName = (GLchar *)SvPV_nolen(ST(4))
;
#line 10621 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveUniformBlockName", )
  OGLM_AVAIL_CHECK(__glewGetActiveUniformBlockName, glGetActiveUniformBlockName)
  glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
  OGLM_CHECK_ERR("glGetActiveUniformBlockName", )
#line 21830 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformBlockName_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformBlockName_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, uniformBlockIndex");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	uniformBlockIndex = (unsigned int)SvUV(ST(1))
;
	GLchar *	RETVAL;
	dXSTARG;
#line 10632 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveUniformBlockName", )
  OGLM_AVAIL_CHECK(__glewGetActiveUniformBlockName, glGetActiveUniformBlockName)
  OGLM_AVAIL_CHECK(__glewGetActiveUniformBlockiv, glGetActiveUniformBlockiv)
  GLsizei bufSize;
  glGetActiveUniformBlockiv(program,uniformBlockIndex,GL_UNIFORM_BLOCK_NAME_LENGTH,&bufSize);
  GLsizei* length = NULL;
  GLchar uniformBlockName[bufSize];
  glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
  OGLM_CHECK_ERR("glGetActiveUniformBlockName", )
  RETVAL = uniformBlockName;
#line 21861 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformBlockiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformBlockiv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, uniformBlockIndex, pname, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	uniformBlockIndex = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 10653 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveUniformBlockiv", )
  OGLM_AVAIL_CHECK(__glewGetActiveUniformBlockiv, glGetActiveUniformBlockiv)
  glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
  OGLM_CHECK_ERR("glGetActiveUniformBlockiv", )
#line 21891 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformName_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformName_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, uniformIndex, bufSize, length, uniformName");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	uniformIndex = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLchar*	uniformName = (GLchar *)SvPV_nolen(ST(4))
;
#line 10667 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveUniformName", )
  OGLM_AVAIL_CHECK(__glewGetActiveUniformName, glGetActiveUniformName)
  glGetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
  OGLM_CHECK_ERR("glGetActiveUniformName", )
#line 21920 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformName_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformName_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, uniformIndex");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	uniformIndex = (unsigned int)SvUV(ST(1))
;
	GLchar *	RETVAL;
	dXSTARG;
#line 10678 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveUniformName", )
  OGLM_AVAIL_CHECK(__glewGetActiveUniformName, glGetActiveUniformName)
  OGLM_AVAIL_CHECK(__glewGetProgramiv, glGetProgramiv)
  GLsizei bufSize;
  glGetProgramiv(program,GL_ACTIVE_UNIFORM_MAX_LENGTH,&bufSize);
  GLsizei* length = NULL;
  GLchar uniformName[bufSize];
  glGetActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
  OGLM_CHECK_ERR("glGetActiveUniformName", )
  RETVAL = uniformName;
#line 21951 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformsiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformsiv_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, uniformCount, uniformIndices, pname, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLsizei	uniformCount = (int)SvIV(ST(1))
;
	const GLuint*	uniformIndices = INT2PTR(const GLuint *,SvIV(ST(2)))
;
	GLenum	pname = (int)SvIV(ST(3))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(4)))
;
#line 10700 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveUniformsiv", )
  OGLM_AVAIL_CHECK(__glewGetActiveUniformsiv, glGetActiveUniformsiv)
  glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
  OGLM_CHECK_ERR("glGetActiveUniformsiv", )
#line 21983 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformsiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveUniformsiv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "program, pname, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 10711 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveUniformsiv", )
  OGLM_AVAIL_CHECK(__glewGetActiveUniformsiv, glGetActiveUniformsiv)
  GLsizei uniformCount = items-2;
  OGLM_SIZE_ENUM(UniformPName,pname,uniformCount)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  GLuint* uniformIndices = OGLM_GET_VARARGS(uniformIndices,2,GLuint,UV,uniformCount);
  glGetActiveUniformsiv((GLuint )program, (GLsizei )uniformCount, (const GLuint* )uniformIndices, (GLenum )pname, (GLint* )params);
  OGLM_CHECK_ERR("glGetActiveUniformsiv", free(params);free(uniformIndices);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);free(uniformIndices);
#line 22014 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveVaryingNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveVaryingNV_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "program, index, bufSize, length, size, type, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLsizei *	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLsizei *	size = INT2PTR(GLsizei *,SvIV(ST(4)))
;
	GLenum *	type = INT2PTR(GLenum *,SvIV(ST(5)))
;
	GLchar *	name = (GLchar *)SvPV_nolen(ST(6))
;
#line 10733 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveVaryingNV", )
  OGLM_AVAIL_CHECK(__glewGetActiveVaryingNV, glGetActiveVaryingNV)
  glGetActiveVaryingNV(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetActiveVaryingNV", )
#line 22048 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetActiveVaryingNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetActiveVaryingNV_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, index, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 10745 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetActiveVaryingNV", )
  OGLM_AVAIL_CHECK(__glewGetActiveVaryingNV, glGetActiveVaryingNV)
  GLsizei length[1];
  GLchar name[bufSize];
  GLsizei size[1];
  GLenum type[1];
  glGetActiveVaryingNV(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetActiveVaryingNV", )
  EXTEND(sp, 4);
  mPUSHs(newSViv(length[0]));
  mPUSHs(newSViv(size[0]));
  mPUSHs(newSViv(type[0]));
  mPUSHs(newSVpv(name,0));
#line 22084 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetArrayObjectfvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetArrayObjectfvATI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "array, pname, params");
    {
	GLenum	array = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 10766 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetArrayObjectfvATI", )
  OGLM_AVAIL_CHECK(__glewGetArrayObjectfvATI, glGetArrayObjectfvATI)
  glGetArrayObjectfvATI(array, pname, params);
  OGLM_CHECK_ERR("glGetArrayObjectfvATI", )
#line 22110 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetArrayObjectfvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetArrayObjectfvATI_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "array, pname");
    {
	GLenum	array = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	RETVAL;
	dXSTARG;
#line 10777 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetArrayObjectfvATI", )
  OGLM_AVAIL_CHECK(__glewGetArrayObjectfvATI, glGetArrayObjectfvATI)
  GLfloat params[1];
  glGetArrayObjectfvATI(array, pname, params);
  OGLM_CHECK_ERR("glGetArrayObjectfvATI", )
  RETVAL = params[0];
#line 22137 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetArrayObjectivATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetArrayObjectivATI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "array, pname, params");
    {
	GLenum	array = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 10793 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetArrayObjectivATI", )
  OGLM_AVAIL_CHECK(__glewGetArrayObjectivATI, glGetArrayObjectivATI)
  glGetArrayObjectivATI(array, pname, params);
  OGLM_CHECK_ERR("glGetArrayObjectivATI", )
#line 22164 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetArrayObjectivATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetArrayObjectivATI_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "array, pname");
    {
	GLenum	array = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 10804 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetArrayObjectivATI", )
  OGLM_AVAIL_CHECK(__glewGetArrayObjectivATI, glGetArrayObjectivATI)
  GLint params[1];
  glGetArrayObjectivATI(array, pname, params);
  OGLM_CHECK_ERR("glGetArrayObjectivATI", )
  RETVAL = params[0];
#line 22191 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetAttachedObjectsARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetAttachedObjectsARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "containerObj, maxCount, count, obj");
    {
	GLhandleARB	containerObj = (unsigned int)SvUV(ST(0))
;
	GLsizei	maxCount = (int)SvIV(ST(1))
;
	GLsizei*	count = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLhandleARB *	obj = INT2PTR(GLhandleARB *,SvIV(ST(3)))
;
#line 10821 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetAttachedObjectsARB", )
  OGLM_AVAIL_CHECK(__glewGetAttachedObjectsARB, glGetAttachedObjectsARB)
  glGetAttachedObjectsARB(containerObj, maxCount, count, obj);
  OGLM_CHECK_ERR("glGetAttachedObjectsARB", )
#line 22220 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetAttachedShaders_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetAttachedShaders_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, maxCount, count, shaders");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLsizei	maxCount = (int)SvIV(ST(1))
;
	GLsizei*	count = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLuint*	shaders = INT2PTR(GLuint *,SvIV(ST(3)))
;
#line 10834 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetAttachedShaders", )
  OGLM_AVAIL_CHECK(__glewGetAttachedShaders, glGetAttachedShaders)
  glGetAttachedShaders(program, maxCount, count, shaders);
  OGLM_CHECK_ERR("glGetAttachedShaders", )
#line 22247 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetAttachedShaders_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetAttachedShaders_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "program");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
#line 10844 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetAttachedShaders", )
  OGLM_AVAIL_CHECK(__glewGetAttachedShaders, glGetAttachedShaders)
  OGLM_AVAIL_CHECK(__glewGetProgramiv, glGetProgramiv)
  GLsizei maxCount;
  glGetProgramiv(program,GL_ATTACHED_SHADERS,&maxCount);
  GLuint* shaders = OGLM_ALLOC(maxCount,GLuint,shaders);
  GLsizei count[1];
  glGetAttachedShaders(program, maxCount, count, shaders);
  OGLM_CHECK_ERR("glGetAttachedShaders", free(shaders);)
  OGLM_OUT_FINISH(shaders,maxCount,newSVuv)
  free(shaders);
#line 22277 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetAttribLocation); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetAttribLocation)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 10862 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetAttribLocation", )
  OGLM_AVAIL_CHECK(__glewGetAttribLocation, glGetAttribLocation)
  RETVAL = glGetAttribLocation(program, name);
  OGLM_CHECK_ERR("glGetAttribLocation", )
#line 22303 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetAttribLocationARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetAttribLocationARB)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "programObj, name");
    {
	GLhandleARB	programObj = (unsigned int)SvUV(ST(0))
;
	const GLcharARB*	name = (const GLcharARB *)SvPV_nolen(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 10875 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetAttribLocationARB", )
  OGLM_AVAIL_CHECK(__glewGetAttribLocationARB, glGetAttribLocationARB)
  RETVAL = glGetAttribLocationARB(programObj, name);
  OGLM_CHECK_ERR("glGetAttribLocationARB", )
#line 22330 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetBooleani_v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBooleani_v_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLboolean*	data = INT2PTR(GLboolean *,SvIV(ST(2)))
;
#line 10891 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBooleani_v", )
  OGLM_AVAIL_CHECK(__glewGetBooleani_v, glGetBooleani_v)
  glGetBooleani_v(target, index, data);
  OGLM_CHECK_ERR("glGetBooleani_v", )
#line 22358 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetBooleani_v_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBooleani_v_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 10904 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBooleani_v", )
  OGLM_AVAIL_CHECK(__glewGetBooleani_v, glGetBooleani_v)
  OGLM_SIZE_ENUM(BufferTargetARB,target,1)
  GLboolean* data = OGLM_ALLOC(target_count,GLboolean,data);
  glGetBooleani_v(target, index, data);
  OGLM_CHECK_ERR("glGetBooleani_v", free(data);)
  OGLM_OUT_FINISH(data,target_count,newSViv)
  free(data);
#line 22388 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetBooleanv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBooleanv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, data");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLboolean *	data = INT2PTR(GLboolean *,SvIV(ST(1)))
;
#line 10919 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBooleanv", )
  glGetBooleanv(pname, data);
  OGLM_CHECK_ERR("glGetBooleanv", )
#line 22411 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetBooleanv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBooleanv_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 10928 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBooleanv", )
  OGLM_SIZE_ENUM(GetPName,pname,1)
  GLboolean *data = OGLM_ALLOC(pname_count,GLboolean,data);
  glGetBooleanv(pname, data);
  OGLM_CHECK_ERR("glGetBooleanv", free(data);)
  OGLM_OUT_FINISH(data,pname_count,newSViv)
  free(data);
#line 22437 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetBufferParameteri64v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBufferParameteri64v_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint64 *	params = INT2PTR(GLint64 *,SvIV(ST(2)))
;
#line 10943 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBufferParameteri64v", )
  OGLM_AVAIL_CHECK(__glewGetBufferParameteri64v, glGetBufferParameteri64v)
  glGetBufferParameteri64v(target, pname, params);
  OGLM_CHECK_ERR("glGetBufferParameteri64v", )
#line 22463 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetBufferParameteri64v_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBufferParameteri64v_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 10954 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBufferParameteri64v", )
  OGLM_AVAIL_CHECK(__glewGetBufferParameteri64v, glGetBufferParameteri64v)
  OGLM_SIZE_ENUM(BufferPNameARB,pname,1)
  GLint64 * params = OGLM_ALLOC(pname_count,GLint64,params);
  glGetBufferParameteri64v(target, pname, params);
  OGLM_CHECK_ERR("glGetBufferParameteri64v", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 22492 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetBufferParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBufferParameteriv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 10972 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBufferParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetBufferParameteriv, glGetBufferParameteriv)
  glGetBufferParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetBufferParameteriv", )
#line 22519 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetBufferParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBufferParameteriv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 10985 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBufferParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetBufferParameteriv, glGetBufferParameteriv)
  OGLM_SIZE_ENUM(BufferPNameARB,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetBufferParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetBufferParameteriv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 22549 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetBufferParameterui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBufferParameterui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint64EXT*	params = INT2PTR(GLuint64EXT *,SvIV(ST(2)))
;
#line 11001 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBufferParameterui64vNV", )
  OGLM_AVAIL_CHECK(__glewGetBufferParameterui64vNV, glGetBufferParameterui64vNV)
  glGetBufferParameterui64vNV(target, pname, params);
  OGLM_CHECK_ERR("glGetBufferParameterui64vNV", )
#line 22575 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetBufferPointerv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBufferPointerv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	void**	params = INT2PTR(void **,SvIV(ST(2)))
;
#line 11015 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBufferPointerv", )
  OGLM_AVAIL_CHECK(__glewGetBufferPointerv, glGetBufferPointerv)
  glGetBufferPointerv(target, pname, params);
  OGLM_CHECK_ERR("glGetBufferPointerv", )
#line 22601 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetBufferPointervOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBufferPointervOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	void**	params = INT2PTR(void **,SvIV(ST(2)))
;
#line 11027 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBufferPointervOES", )
  OGLM_AVAIL_CHECK(__glewGetBufferPointervOES, glGetBufferPointervOES)
  glGetBufferPointervOES(target, pname, params);
  OGLM_CHECK_ERR("glGetBufferPointervOES", )
#line 22626 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetBufferSubData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetBufferSubData_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, offset, size, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(2))
;
	void*	data = INT2PTR(void *,SvIV(ST(3)))
;
#line 11042 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetBufferSubData", )
  OGLM_AVAIL_CHECK(__glewGetBufferSubData, glGetBufferSubData)
  glGetBufferSubData(target, offset, size, data);
  OGLM_CHECK_ERR("glGetBufferSubData", )
#line 22654 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetClipPlane_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetClipPlane_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "plane, equation");
    {
	GLenum	plane = (int)SvIV(ST(0))
;
	GLdouble *	equation = INT2PTR(GLdouble *,SvIV(ST(1)))
;
#line 11053 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetClipPlane", )
  glGetClipPlane(plane, equation);
  OGLM_CHECK_ERR("glGetClipPlane", )
#line 22676 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetClipPlane_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetClipPlane_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "plane");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	plane = (int)SvIV(ST(0))
;
#line 11062 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetClipPlane", )
  GLdouble *equation = OGLM_ALLOC(4,GLdouble,equation);
  glGetClipPlane(plane, equation);
  OGLM_CHECK_ERR("glGetClipPlane", free(equation);)
  OGLM_OUT_FINISH(equation,4,newSVnv)
  free(equation);
#line 22701 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetClipPlanef_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetClipPlanef_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "plane, equation");
    {
	GLenum	plane = (int)SvIV(ST(0))
;
	GLfloat *	equation = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 11075 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetClipPlanef", )
  OGLM_AVAIL_CHECK(__glewGetClipPlanef, glGetClipPlanef)
  glGetClipPlanef(plane, equation);
  OGLM_CHECK_ERR("glGetClipPlanef", )
#line 22725 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetClipPlanef_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetClipPlanef_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "plane");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	plane = (int)SvIV(ST(0))
;
#line 11085 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetClipPlanef", )
  OGLM_AVAIL_CHECK(__glewGetClipPlanef, glGetClipPlanef)
  GLfloat * equation = OGLM_ALLOC(4,GLfloat,equation);
  glGetClipPlanef(plane, equation);
  OGLM_CHECK_ERR("glGetClipPlanef", free(equation);)
  OGLM_OUT_FINISH(equation,4,newSVnv)
  free(equation);
#line 22751 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetClipPlanefOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetClipPlanefOES_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "plane, equation");
    {
	GLenum	plane = (int)SvIV(ST(0))
;
	GLfloat*	equation = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 11099 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetClipPlanefOES", )
  OGLM_AVAIL_CHECK(__glewGetClipPlanefOES, glGetClipPlanefOES)
  glGetClipPlanefOES(plane, equation);
  OGLM_CHECK_ERR("glGetClipPlanefOES", )
#line 22775 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetClipPlanex_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetClipPlanex_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "plane, equation");
    {
	GLenum	plane = (int)SvIV(ST(0))
;
	GLfixed *	equation = INT2PTR(GLfixed *,SvIV(ST(1)))
;
#line 11110 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetClipPlanex", )
  OGLM_AVAIL_CHECK(__glewGetClipPlanex, glGetClipPlanex)
  glGetClipPlanex(plane, equation);
  OGLM_CHECK_ERR("glGetClipPlanex", )
#line 22798 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetClipPlanex_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetClipPlanex_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "plane");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	plane = (int)SvIV(ST(0))
;
#line 11120 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetClipPlanex", )
  OGLM_AVAIL_CHECK(__glewGetClipPlanex, glGetClipPlanex)
  GLfixed * equation = OGLM_ALLOC(4,GLfixed,equation);
  glGetClipPlanex(plane, equation);
  OGLM_CHECK_ERR("glGetClipPlanex", free(equation);)
  OGLM_OUT_FINISH(equation,4,newSViv)
  free(equation);
#line 22824 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetColorTable_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetColorTable_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, format, type, table");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	void *	table = INT2PTR(void *,SvIV(ST(3)))
;
#line 11138 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetColorTable", )
  OGLM_AVAIL_CHECK(__glewGetColorTable, glGetColorTable)
  glGetColorTable(target, format, type, table);
  OGLM_CHECK_ERR("glGetColorTable", )
#line 22853 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterfv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 11152 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetColorTableParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetColorTableParameterfv, glGetColorTableParameterfv)
  glGetColorTableParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glGetColorTableParameterfv", )
#line 22879 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterfv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 11165 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetColorTableParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetColorTableParameterfv, glGetColorTableParameterfv)
  OGLM_SIZE_ENUM(ColorTableParameterPName,pname,1)
  GLfloat *params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetColorTableParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glGetColorTableParameterfv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 22909 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterfvSGI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterfvSGI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 11181 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetColorTableParameterfvSGI", )
  OGLM_AVAIL_CHECK(__glewGetColorTableParameterfvSGI, glGetColorTableParameterfvSGI)
  glGetColorTableParameterfvSGI(target, pname, params);
  OGLM_CHECK_ERR("glGetColorTableParameterfvSGI", )
#line 22935 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterfvSGI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterfvSGI_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 11192 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetColorTableParameterfvSGI", )
  OGLM_AVAIL_CHECK(__glewGetColorTableParameterfvSGI, glGetColorTableParameterfvSGI)
  OGLM_SIZE_ENUM(ColorTableParameterPName,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetColorTableParameterfvSGI(target, pname, params);
  OGLM_CHECK_ERR("glGetColorTableParameterfvSGI", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 22964 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameteriv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 11210 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetColorTableParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetColorTableParameteriv, glGetColorTableParameteriv)
  glGetColorTableParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetColorTableParameteriv", )
#line 22991 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameteriv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 11223 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetColorTableParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetColorTableParameteriv, glGetColorTableParameteriv)
  OGLM_SIZE_ENUM(ColorTableParameterPName,pname,1)
  GLint *params = OGLM_ALLOC(pname_count,GLint,params);
  glGetColorTableParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetColorTableParameteriv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 23021 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterivSGI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterivSGI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 11239 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetColorTableParameterivSGI", )
  OGLM_AVAIL_CHECK(__glewGetColorTableParameterivSGI, glGetColorTableParameterivSGI)
  glGetColorTableParameterivSGI(target, pname, params);
  OGLM_CHECK_ERR("glGetColorTableParameterivSGI", )
#line 23047 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterivSGI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetColorTableParameterivSGI_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 11250 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetColorTableParameterivSGI", )
  OGLM_AVAIL_CHECK(__glewGetColorTableParameterivSGI, glGetColorTableParameterivSGI)
  OGLM_SIZE_ENUM(ColorTableParameterPName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetColorTableParameterivSGI(target, pname, params);
  OGLM_CHECK_ERR("glGetColorTableParameterivSGI", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 23076 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetColorTableSGI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetColorTableSGI_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, format, type, table");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	void *	table = INT2PTR(void *,SvIV(ST(3)))
;
#line 11267 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetColorTableSGI", )
  OGLM_AVAIL_CHECK(__glewGetColorTableSGI, glGetColorTableSGI)
  glGetColorTableSGI(target, format, type, table);
  OGLM_CHECK_ERR("glGetColorTableSGI", )
#line 23104 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetCombinerInputParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCombinerInputParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "stage, portion, variable, pname, params");
    {
	GLenum	stage = (int)SvIV(ST(0))
;
	GLenum	portion = (int)SvIV(ST(1))
;
	GLenum	variable = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(4)))
;
#line 11281 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCombinerInputParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV)
  glGetCombinerInputParameterfvNV(stage, portion, variable, pname, params);
  OGLM_CHECK_ERR("glGetCombinerInputParameterfvNV", )
#line 23133 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetCombinerInputParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCombinerInputParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "stage, portion, variable, pname, params");
    {
	GLenum	stage = (int)SvIV(ST(0))
;
	GLenum	portion = (int)SvIV(ST(1))
;
	GLenum	variable = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(4)))
;
#line 11295 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCombinerInputParameterivNV", )
  OGLM_AVAIL_CHECK(__glewGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV)
  glGetCombinerInputParameterivNV(stage, portion, variable, pname, params);
  OGLM_CHECK_ERR("glGetCombinerInputParameterivNV", )
#line 23162 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetCombinerOutputParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCombinerOutputParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "stage, portion, pname, params");
    {
	GLenum	stage = (int)SvIV(ST(0))
;
	GLenum	portion = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 11308 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCombinerOutputParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV)
  glGetCombinerOutputParameterfvNV(stage, portion, pname, params);
  OGLM_CHECK_ERR("glGetCombinerOutputParameterfvNV", )
#line 23189 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetCombinerOutputParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCombinerOutputParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "stage, portion, pname, params");
    {
	GLenum	stage = (int)SvIV(ST(0))
;
	GLenum	portion = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 11321 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCombinerOutputParameterivNV", )
  OGLM_AVAIL_CHECK(__glewGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV)
  glGetCombinerOutputParameterivNV(stage, portion, pname, params);
  OGLM_CHECK_ERR("glGetCombinerOutputParameterivNV", )
#line 23216 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetCombinerStageParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCombinerStageParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "stage, pname, params");
    {
	GLenum	stage = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 11333 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCombinerStageParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV)
  glGetCombinerStageParameterfvNV(stage, pname, params);
  OGLM_CHECK_ERR("glGetCombinerStageParameterfvNV", )
#line 23241 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetCommandHeaderNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCommandHeaderNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tokenID, size");
    {
	GLenum	tokenID = (int)SvIV(ST(0))
;
	GLuint	size = (unsigned int)SvUV(ST(1))
;
	GLuint	RETVAL;
	dXSTARG;
#line 11344 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCommandHeaderNV", )
  OGLM_AVAIL_CHECK(__glewGetCommandHeaderNV, glGetCommandHeaderNV)
  RETVAL = glGetCommandHeaderNV(tokenID, size);
  OGLM_CHECK_ERR("glGetCommandHeaderNV", )
#line 23266 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetCompressedMultiTexImageEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCompressedMultiTexImageEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, lod, img");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	lod = (int)SvIV(ST(2))
;
	void *	img = INT2PTR(void *,SvIV(ST(3)))
;
#line 11359 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCompressedMultiTexImageEXT", )
  OGLM_AVAIL_CHECK(__glewGetCompressedMultiTexImageEXT, glGetCompressedMultiTexImageEXT)
  glGetCompressedMultiTexImageEXT(texunit, target, lod, img);
  OGLM_CHECK_ERR("glGetCompressedMultiTexImageEXT", )
#line 23295 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetCompressedTexImage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCompressedTexImage_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, level, img");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	void *	img = INT2PTR(void *,SvIV(ST(2)))
;
#line 11373 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCompressedTexImage", )
  OGLM_AVAIL_CHECK(__glewGetCompressedTexImage, glGetCompressedTexImage)
  glGetCompressedTexImage(target, level, img);
  OGLM_CHECK_ERR("glGetCompressedTexImage", )
#line 23321 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetCompressedTextureImage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCompressedTextureImage_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, level, bufSize, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	void *	pixels = INT2PTR(void *,SvIV(ST(3)))
;
#line 11386 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCompressedTextureImage", )
  OGLM_AVAIL_CHECK(__glewGetCompressedTextureImage, glGetCompressedTextureImage)
  glGetCompressedTextureImage(texture, level, bufSize, pixels);
  OGLM_CHECK_ERR("glGetCompressedTextureImage", )
#line 23348 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetCompressedTextureImageEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCompressedTextureImageEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, lod, img");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	lod = (int)SvIV(ST(2))
;
	void *	img = INT2PTR(void *,SvIV(ST(3)))
;
#line 11399 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCompressedTextureImageEXT", )
  OGLM_AVAIL_CHECK(__glewGetCompressedTextureImageEXT, glGetCompressedTextureImageEXT)
  glGetCompressedTextureImageEXT(texture, target, lod, img);
  OGLM_CHECK_ERR("glGetCompressedTextureImageEXT", )
#line 23375 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetCompressedTextureSubImage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCompressedTextureSubImage_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLsizei	bufSize = (int)SvIV(ST(8))
;
	void *	pixels = INT2PTR(void *,SvIV(ST(9)))
;
#line 11418 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCompressedTextureSubImage", )
  OGLM_AVAIL_CHECK(__glewGetCompressedTextureSubImage, glGetCompressedTextureSubImage)
  glGetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels);
  OGLM_CHECK_ERR("glGetCompressedTextureSubImage", )
#line 23414 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionFilter_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionFilter_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, format, type, image");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	void *	image = INT2PTR(void *,SvIV(ST(3)))
;
#line 11431 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetConvolutionFilter", )
  OGLM_AVAIL_CHECK(__glewGetConvolutionFilter, glGetConvolutionFilter)
  glGetConvolutionFilter(target, format, type, image);
  OGLM_CHECK_ERR("glGetConvolutionFilter", )
#line 23441 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionFilterEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionFilterEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, format, type, image");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	void *	image = INT2PTR(void *,SvIV(ST(3)))
;
#line 11444 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetConvolutionFilterEXT", )
  OGLM_AVAIL_CHECK(__glewGetConvolutionFilterEXT, glGetConvolutionFilterEXT)
  glGetConvolutionFilterEXT(target, format, type, image);
  OGLM_CHECK_ERR("glGetConvolutionFilterEXT", )
#line 23468 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 11456 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetConvolutionParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetConvolutionParameterfv, glGetConvolutionParameterfv)
  glGetConvolutionParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glGetConvolutionParameterfv", )
#line 23493 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterfv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 11467 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetConvolutionParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetConvolutionParameterfv, glGetConvolutionParameterfv)
  OGLM_SIZE_ENUM(ConvolutionParameter,pname,1)
  GLfloat *params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetConvolutionParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glGetConvolutionParameterfv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 23522 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 11483 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetConvolutionParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetConvolutionParameterfvEXT, glGetConvolutionParameterfvEXT)
  glGetConvolutionParameterfvEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetConvolutionParameterfvEXT", )
#line 23548 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 11494 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetConvolutionParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetConvolutionParameterfvEXT, glGetConvolutionParameterfvEXT)
  OGLM_SIZE_ENUM(ConvolutionParameter,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetConvolutionParameterfvEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetConvolutionParameterfvEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 23577 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 11510 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetConvolutionParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetConvolutionParameteriv, glGetConvolutionParameteriv)
  glGetConvolutionParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetConvolutionParameteriv", )
#line 23603 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameteriv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 11521 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetConvolutionParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetConvolutionParameteriv, glGetConvolutionParameteriv)
  OGLM_SIZE_ENUM(ConvolutionParameter,pname,1)
  GLint *params = OGLM_ALLOC(pname_count,GLint,params);
  glGetConvolutionParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetConvolutionParameteriv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 23632 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 11537 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetConvolutionParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetConvolutionParameterivEXT, glGetConvolutionParameterivEXT)
  glGetConvolutionParameterivEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetConvolutionParameterivEXT", )
#line 23658 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetConvolutionParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 11548 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetConvolutionParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetConvolutionParameterivEXT, glGetConvolutionParameterivEXT)
  OGLM_SIZE_ENUM(ConvolutionParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetConvolutionParameterivEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetConvolutionParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 23687 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetCoverageModulationTableNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetCoverageModulationTableNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "bufsize, v");
    {
	GLsizei	bufsize = (int)SvIV(ST(0))
;
	GLfloat*	v = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 11563 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetCoverageModulationTableNV", )
  OGLM_AVAIL_CHECK(__glewGetCoverageModulationTableNV, glGetCoverageModulationTableNV)
  glGetCoverageModulationTableNV(bufsize, v);
  OGLM_CHECK_ERR("glGetCoverageModulationTableNV", )
#line 23711 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetDebugMessageLog_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDebugMessageLog_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 8)
       croak_xs_usage(cv,  "count, bufSize, sources, types, ids, severities, lengths, messageLog");
    {
	GLuint	count = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLenum*	sources = INT2PTR(GLenum *,SvIV(ST(2)))
;
	GLenum*	types = INT2PTR(GLenum *,SvIV(ST(3)))
;
	GLuint*	ids = INT2PTR(GLuint *,SvIV(ST(4)))
;
	GLenum*	severities = INT2PTR(GLenum *,SvIV(ST(5)))
;
	GLsizei*	lengths = INT2PTR(GLsizei *,SvIV(ST(6)))
;
	GLchar*	messageLog = (GLchar *)SvPV_nolen(ST(7))
;
	GLuint	RETVAL;
	dXSTARG;
#line 11583 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDebugMessageLog", )
  OGLM_AVAIL_CHECK(__glewGetDebugMessageLog, glGetDebugMessageLog)
  RETVAL = glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog);
  OGLM_CHECK_ERR("glGetDebugMessageLog", )
#line 23749 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetDebugMessageLog_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDebugMessageLog_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "count, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	count = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLuint	RETVAL;
	dXSTARG;
#line 11599 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDebugMessageLog", )
  OGLM_AVAIL_CHECK(__glewGetDebugMessageLog, glGetDebugMessageLog)
  GLuint* ids = OGLM_ALLOC(count,GLuint,ids);
  GLsizei* lengths = OGLM_ALLOC(count,GLsizei,lengths);
  GLenum* severities = OGLM_ALLOC(count,GLenum,severities);
  GLenum* sources = OGLM_ALLOC(count,GLenum,sources);
  GLenum* types = OGLM_ALLOC(count,GLenum,types);
  GLchar messageLog[bufSize];
  RETVAL = glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog);
  OGLM_CHECK_ERR("glGetDebugMessageLog", free(sources);free(types);free(ids);free(severities);free(lengths);)
  EXTEND(sp, 7);
  mPUSHs(newSVuv(RETVAL));
  OGLM_PUSH_ARRAY(glGetDebugMessageLog, newSViv, sources, count)
  OGLM_PUSH_ARRAY(glGetDebugMessageLog, newSViv, types, count)
  OGLM_PUSH_ARRAY(glGetDebugMessageLog, newSVuv, ids, count)
  OGLM_PUSH_ARRAY(glGetDebugMessageLog, newSViv, severities, count)
  OGLM_PUSH_ARRAY(glGetDebugMessageLog, newSViv, lengths, count)
  mPUSHs(newSVpv(messageLog,0));
  free(sources);free(types);free(ids);free(severities);free(lengths);
#line 23794 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetDebugMessageLogAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDebugMessageLogAMD_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "count, bufSize, categories, severities, ids, lengths, message");
    {
	GLuint	count = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLenum*	categories = INT2PTR(GLenum *,SvIV(ST(2)))
;
	GLenum*	severities = INT2PTR(GLenum *,SvIV(ST(3)))
;
	GLuint*	ids = INT2PTR(GLuint *,SvIV(ST(4)))
;
	GLsizei*	lengths = INT2PTR(GLsizei *,SvIV(ST(5)))
;
	GLchar*	message = (GLchar *)SvPV_nolen(ST(6))
;
	GLuint	RETVAL;
	dXSTARG;
#line 11630 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDebugMessageLogAMD", )
  OGLM_AVAIL_CHECK(__glewGetDebugMessageLogAMD, glGetDebugMessageLogAMD)
  RETVAL = glGetDebugMessageLogAMD(count, bufSize, categories, severities, ids, lengths, message);
  OGLM_CHECK_ERR("glGetDebugMessageLogAMD", )
#line 23830 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetDebugMessageLogAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDebugMessageLogAMD_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "count, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	count = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLuint	RETVAL;
	dXSTARG;
#line 11643 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDebugMessageLogAMD", )
  OGLM_AVAIL_CHECK(__glewGetDebugMessageLogAMD, glGetDebugMessageLogAMD)
  GLenum* categories = OGLM_ALLOC(count,GLenum,categories);
  GLuint* ids = OGLM_ALLOC(count,GLuint,ids);
  GLsizei* lengths = OGLM_ALLOC(count,GLsizei,lengths);
  GLenum* severities = OGLM_ALLOC(count,GLenum,severities);
  GLchar message[bufSize];
  RETVAL = glGetDebugMessageLogAMD(count, bufSize, categories, severities, ids, lengths, message);
  OGLM_CHECK_ERR("glGetDebugMessageLogAMD", free(categories);free(severities);free(ids);free(lengths);)
  EXTEND(sp, 6);
  mPUSHs(newSVuv(RETVAL));
  OGLM_PUSH_ARRAY(glGetDebugMessageLogAMD, newSViv, categories, count)
  OGLM_PUSH_ARRAY(glGetDebugMessageLogAMD, newSViv, severities, count)
  OGLM_PUSH_ARRAY(glGetDebugMessageLogAMD, newSVuv, ids, count)
  OGLM_PUSH_ARRAY(glGetDebugMessageLogAMD, newSViv, lengths, count)
  mPUSHs(newSVpv(message,0));
  free(categories);free(severities);free(ids);free(lengths);
#line 23872 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetDetailTexFuncSGIS_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDetailTexFuncSGIS_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, points");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLfloat*	points = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 11667 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDetailTexFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewGetDetailTexFuncSGIS, glGetDetailTexFuncSGIS)
  glGetDetailTexFuncSGIS(target, points);
  OGLM_CHECK_ERR("glGetDetailTexFuncSGIS", )
#line 23896 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetDetailTexFuncSGIS_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDetailTexFuncSGIS_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 11677 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDetailTexFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewGetDetailTexFuncSGIS, glGetDetailTexFuncSGIS)
  OGLM_SIZE_ENUM(TextureTarget,target,1)
  GLfloat* points = OGLM_ALLOC(target_count,GLfloat,points);
  glGetDetailTexFuncSGIS(target, points);
  OGLM_CHECK_ERR("glGetDetailTexFuncSGIS", free(points);)
  OGLM_OUT_FINISH(points,target_count,newSVnv)
  free(points);
#line 23923 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetDoublei_v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDoublei_v_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLdouble*	data = INT2PTR(GLdouble *,SvIV(ST(2)))
;
#line 11696 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDoublei_v", )
  OGLM_AVAIL_CHECK(__glewGetDoublei_v, glGetDoublei_v)
  glGetDoublei_v(target, index, data);
  OGLM_CHECK_ERR("glGetDoublei_v", )
#line 23950 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetDoublei_v_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDoublei_v_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 11710 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDoublei_v", )
  OGLM_AVAIL_CHECK(__glewGetDoublei_v, glGetDoublei_v)
  OGLM_SIZE_ENUM(GetPName,target,1)
  GLdouble* data = OGLM_ALLOC(target_count,GLdouble,data);
  glGetDoublei_v(target, index, data);
  OGLM_CHECK_ERR("glGetDoublei_v", free(data);)
  OGLM_OUT_FINISH(data,target_count,newSVnv)
  free(data);
#line 23980 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetDoublev_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDoublev_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, data");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLdouble *	data = INT2PTR(GLdouble *,SvIV(ST(1)))
;
#line 11725 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDoublev", )
  glGetDoublev(pname, data);
  OGLM_CHECK_ERR("glGetDoublev", )
#line 24003 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetDoublev_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDoublev_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 11734 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDoublev", )
  OGLM_SIZE_ENUM(GetPName,pname,1)
  GLdouble *data = OGLM_ALLOC(pname_count,GLdouble,data);
  glGetDoublev(pname, data);
  OGLM_CHECK_ERR("glGetDoublev", free(data);)
  OGLM_OUT_FINISH(data,pname_count,newSVnv)
  free(data);
#line 24029 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetDriverControlStringQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDriverControlStringQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "driverControl, bufSize, length, driverControlString");
    {
	GLuint	driverControl = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLchar *	driverControlString = (GLchar *)SvPV_nolen(ST(3))
;
#line 11750 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDriverControlStringQCOM", )
  OGLM_AVAIL_CHECK(__glewGetDriverControlStringQCOM, glGetDriverControlStringQCOM)
  glGetDriverControlStringQCOM(driverControl, bufSize, length, driverControlString);
  OGLM_CHECK_ERR("glGetDriverControlStringQCOM", )
#line 24057 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetDriverControlsQCOM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetDriverControlsQCOM_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "num, size, driverControls");
    {
	GLint*	num = INT2PTR(GLint *,SvIV(ST(0)))
;
	GLsizei	size = (int)SvIV(ST(1))
;
	GLuint *	driverControls = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 11762 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetDriverControlsQCOM", )
  OGLM_AVAIL_CHECK(__glewGetDriverControlsQCOM, glGetDriverControlsQCOM)
  glGetDriverControlsQCOM(num, size, driverControls);
  OGLM_CHECK_ERR("glGetDriverControlsQCOM", )
#line 24082 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetError); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetError)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	GLenum	RETVAL;
	dXSTARG;
#line 11771 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  RETVAL = glGetError();
#line 24100 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetExtensionREGAL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetExtensionREGAL)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "ext");
    {
	const GLchar*	ext = (const GLchar *)SvPV_nolen(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 11780 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetExtensionREGAL", )
  OGLM_AVAIL_CHECK(__glewGetExtensionREGAL, glGetExtensionREGAL)
  RETVAL = glGetExtensionREGAL(ext);
  OGLM_CHECK_ERR("glGetExtensionREGAL", )
#line 24125 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetFenceivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFenceivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "fence, pname, params");
    {
	GLuint	fence = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 11794 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFenceivNV", )
  OGLM_AVAIL_CHECK(__glewGetFenceivNV, glGetFenceivNV)
  glGetFenceivNV(fence, pname, params);
  OGLM_CHECK_ERR("glGetFenceivNV", )
#line 24152 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFinalCombinerInputParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFinalCombinerInputParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "variable, pname, params");
    {
	GLenum	variable = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 11806 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFinalCombinerInputParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV)
  glGetFinalCombinerInputParameterfvNV(variable, pname, params);
  OGLM_CHECK_ERR("glGetFinalCombinerInputParameterfvNV", )
#line 24177 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFinalCombinerInputParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFinalCombinerInputParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "variable, pname, params");
    {
	GLenum	variable = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 11818 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFinalCombinerInputParameterivNV", )
  OGLM_AVAIL_CHECK(__glewGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV)
  glGetFinalCombinerInputParameterivNV(variable, pname, params);
  OGLM_CHECK_ERR("glGetFinalCombinerInputParameterivNV", )
#line 24202 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFirstPerfQueryIdINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFirstPerfQueryIdINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "queryId");
    {
	GLuint*	queryId = INT2PTR(GLuint *,SvIV(ST(0)))
;
#line 11828 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFirstPerfQueryIdINTEL", )
  OGLM_AVAIL_CHECK(__glewGetFirstPerfQueryIdINTEL, glGetFirstPerfQueryIdINTEL)
  glGetFirstPerfQueryIdINTEL(queryId);
  OGLM_CHECK_ERR("glGetFirstPerfQueryIdINTEL", )
#line 24223 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFixedv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFixedv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfixed*	params = INT2PTR(GLfixed *,SvIV(ST(1)))
;
#line 11839 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFixedv", )
  OGLM_AVAIL_CHECK(__glewGetFixedv, glGetFixedv)
  glGetFixedv(pname, params);
  OGLM_CHECK_ERR("glGetFixedv", )
#line 24246 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFloati_v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFloati_v_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLfloat*	data = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 11855 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFloati_v", )
  OGLM_AVAIL_CHECK(__glewGetFloati_v, glGetFloati_v)
  glGetFloati_v(target, index, data);
  OGLM_CHECK_ERR("glGetFloati_v", )
#line 24272 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFloati_v_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFloati_v_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 11870 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFloati_v", )
  OGLM_AVAIL_CHECK(__glewGetFloati_v, glGetFloati_v)
  OGLM_SIZE_ENUM(GetPName,target,1)
  GLfloat* data = OGLM_ALLOC(target_count,GLfloat,data);
  glGetFloati_v(target, index, data);
  OGLM_CHECK_ERR("glGetFloati_v", free(data);)
  OGLM_OUT_FINISH(data,target_count,newSVnv)
  free(data);
#line 24302 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetFloatv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFloatv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, data");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat *	data = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 11885 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFloatv", )
  glGetFloatv(pname, data);
  OGLM_CHECK_ERR("glGetFloatv", )
#line 24325 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFloatv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFloatv_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 11894 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFloatv", )
  OGLM_SIZE_ENUM(GetPName,pname,1)
  GLfloat *data = OGLM_ALLOC(pname_count,GLfloat,data);
  glGetFloatv(pname, data);
  OGLM_CHECK_ERR("glGetFloatv", free(data);)
  OGLM_OUT_FINISH(data,pname_count,newSVnv)
  free(data);
#line 24351 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetFogFuncSGIS_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFogFuncSGIS_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "points");
    {
	GLfloat*	points = INT2PTR(GLfloat *,SvIV(ST(0)))
;
#line 11907 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFogFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewGetFogFuncSGIS, glGetFogFuncSGIS)
  glGetFogFuncSGIS(points);
  OGLM_CHECK_ERR("glGetFogFuncSGIS", )
#line 24373 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFogLayersSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFogLayersSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "points");
    {
	GLfloat*	points = INT2PTR(GLfloat *,SvIV(ST(0)))
;
#line 11917 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFogLayersSGIX", )
  OGLM_AVAIL_CHECK(__glewGetFogLayersSGIX, glGetFogLayersSGIX)
  glGetFogLayersSGIX(points);
  OGLM_CHECK_ERR("glGetFogLayersSGIX", )
#line 24394 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragDataIndex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragDataIndex)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "program, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	const GLchar *	name = (const GLchar *)SvPV_nolen(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 11930 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragDataIndex", )
  OGLM_AVAIL_CHECK(__glewGetFragDataIndex, glGetFragDataIndex)
  RETVAL = glGetFragDataIndex(program, name);
  OGLM_CHECK_ERR("glGetFragDataIndex", )
#line 24420 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragDataLocation); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragDataLocation)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "program, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 11945 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragDataLocation", )
  OGLM_AVAIL_CHECK(__glewGetFragDataLocation, glGetFragDataLocation)
  RETVAL = glGetFragDataLocation(program, name);
  OGLM_CHECK_ERR("glGetFragDataLocation", )
#line 24448 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 11959 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentLightfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetFragmentLightfvEXT, glGetFragmentLightfvEXT)
  glGetFragmentLightfvEXT(light, pname, params);
  OGLM_CHECK_ERR("glGetFragmentLightfvEXT", )
#line 24475 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightfvSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightfvSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 11971 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentLightfvSGIX", )
  OGLM_AVAIL_CHECK(__glewGetFragmentLightfvSGIX, glGetFragmentLightfvSGIX)
  glGetFragmentLightfvSGIX(light, pname, params);
  OGLM_CHECK_ERR("glGetFragmentLightfvSGIX", )
#line 24500 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightfvSGIX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightfvSGIX_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "light, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 11982 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentLightfvSGIX", )
  OGLM_AVAIL_CHECK(__glewGetFragmentLightfvSGIX, glGetFragmentLightfvSGIX)
  OGLM_SIZE_ENUM(FragmentLightParameterSGIX,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetFragmentLightfvSGIX(light, pname, params);
  OGLM_CHECK_ERR("glGetFragmentLightfvSGIX", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 24529 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 11998 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentLightivEXT", )
  OGLM_AVAIL_CHECK(__glewGetFragmentLightivEXT, glGetFragmentLightivEXT)
  glGetFragmentLightivEXT(light, pname, params);
  OGLM_CHECK_ERR("glGetFragmentLightivEXT", )
#line 24555 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightivSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightivSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12010 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentLightivSGIX", )
  OGLM_AVAIL_CHECK(__glewGetFragmentLightivSGIX, glGetFragmentLightivSGIX)
  glGetFragmentLightivSGIX(light, pname, params);
  OGLM_CHECK_ERR("glGetFragmentLightivSGIX", )
#line 24580 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightivSGIX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentLightivSGIX_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "light, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12021 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentLightivSGIX", )
  OGLM_AVAIL_CHECK(__glewGetFragmentLightivSGIX, glGetFragmentLightivSGIX)
  OGLM_SIZE_ENUM(FragmentLightParameterSGIX,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetFragmentLightivSGIX(light, pname, params);
  OGLM_CHECK_ERR("glGetFragmentLightivSGIX", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 24609 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 12037 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentMaterialfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetFragmentMaterialfvEXT, glGetFragmentMaterialfvEXT)
  glGetFragmentMaterialfvEXT(face, pname, params);
  OGLM_CHECK_ERR("glGetFragmentMaterialfvEXT", )
#line 24635 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialfvSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialfvSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 12049 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentMaterialfvSGIX", )
  OGLM_AVAIL_CHECK(__glewGetFragmentMaterialfvSGIX, glGetFragmentMaterialfvSGIX)
  glGetFragmentMaterialfvSGIX(face, pname, params);
  OGLM_CHECK_ERR("glGetFragmentMaterialfvSGIX", )
#line 24660 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialfvSGIX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialfvSGIX_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12060 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentMaterialfvSGIX", )
  OGLM_AVAIL_CHECK(__glewGetFragmentMaterialfvSGIX, glGetFragmentMaterialfvSGIX)
  OGLM_SIZE_ENUM(MaterialParameter,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetFragmentMaterialfvSGIX(face, pname, params);
  OGLM_CHECK_ERR("glGetFragmentMaterialfvSGIX", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 24689 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 12076 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentMaterialivEXT", )
  OGLM_AVAIL_CHECK(__glewGetFragmentMaterialivEXT, glGetFragmentMaterialivEXT)
  glGetFragmentMaterialivEXT(face, pname, params);
  OGLM_CHECK_ERR("glGetFragmentMaterialivEXT", )
#line 24715 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialivSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialivSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12088 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentMaterialivSGIX", )
  OGLM_AVAIL_CHECK(__glewGetFragmentMaterialivSGIX, glGetFragmentMaterialivSGIX)
  glGetFragmentMaterialivSGIX(face, pname, params);
  OGLM_CHECK_ERR("glGetFragmentMaterialivSGIX", )
#line 24740 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialivSGIX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentMaterialivSGIX_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12099 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentMaterialivSGIX", )
  OGLM_AVAIL_CHECK(__glewGetFragmentMaterialivSGIX, glGetFragmentMaterialivSGIX)
  OGLM_SIZE_ENUM(MaterialParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetFragmentMaterialivSGIX(face, pname, params);
  OGLM_CHECK_ERR("glGetFragmentMaterialivSGIX", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 24769 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentShadingRatesEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentShadingRatesEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "samples, maxCount, count, shadingRates");
    {
	GLsizei	samples = (int)SvIV(ST(0))
;
	GLsizei	maxCount = (int)SvIV(ST(1))
;
	GLsizei*	count = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLenum *	shadingRates = INT2PTR(GLenum *,SvIV(ST(3)))
;
#line 12116 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentShadingRatesEXT", )
  OGLM_AVAIL_CHECK(__glewGetFragmentShadingRatesEXT, glGetFragmentShadingRatesEXT)
  glGetFragmentShadingRatesEXT(samples, maxCount, count, shadingRates);
  OGLM_CHECK_ERR("glGetFragmentShadingRatesEXT", )
#line 24797 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFragmentShadingRatesEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFragmentShadingRatesEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "samples, maxCount");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	samples = (int)SvIV(ST(0))
;
	GLsizei	maxCount = (int)SvIV(ST(1))
;
#line 12127 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFragmentShadingRatesEXT", )
  OGLM_AVAIL_CHECK(__glewGetFragmentShadingRatesEXT, glGetFragmentShadingRatesEXT)
  GLenum *shadingRates = OGLM_ALLOC(maxCount,GLenum,shadingRates);
  GLsizei count[1];
  glGetFragmentShadingRatesEXT(samples, maxCount, count, shadingRates);
  OGLM_CHECK_ERR("glGetFragmentShadingRatesEXT", free(shadingRates);)
  EXTEND(sp, 2);
  mPUSHs(newSViv(count[0]));
  OGLM_PUSH_ARRAY(glGetFragmentShadingRatesEXT, newSViv, shadingRates, maxCount)
  free(shadingRates);
#line 24828 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferAttachmentParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferAttachmentParameteriv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, attachment, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 12148 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFramebufferAttachmentParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetFramebufferAttachmentParameteriv, glGetFramebufferAttachmentParameteriv)
  glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
  OGLM_CHECK_ERR("glGetFramebufferAttachmentParameteriv", )
#line 24857 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferAttachmentParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferAttachmentParameteriv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, attachment, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 12162 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFramebufferAttachmentParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetFramebufferAttachmentParameteriv, glGetFramebufferAttachmentParameteriv)
  OGLM_SIZE_ENUM(FramebufferAttachmentParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
  OGLM_CHECK_ERR("glGetFramebufferAttachmentParameteriv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 24889 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferAttachmentParameterivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferAttachmentParameterivOES_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, attachment, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 12179 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFramebufferAttachmentParameterivOES", )
  OGLM_AVAIL_CHECK(__glewGetFramebufferAttachmentParameterivOES, glGetFramebufferAttachmentParameterivOES)
  glGetFramebufferAttachmentParameterivOES(target, attachment, pname, params);
  OGLM_CHECK_ERR("glGetFramebufferAttachmentParameterivOES", )
#line 24917 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameterfvAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameterfvAMD_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, pname, numsamples, pixelindex, size, values");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint	numsamples = (unsigned int)SvUV(ST(2))
;
	GLuint	pixelindex = (unsigned int)SvUV(ST(3))
;
	GLsizei	size = (int)SvIV(ST(4))
;
	GLfloat*	values = INT2PTR(GLfloat *,SvIV(ST(5)))
;
#line 12194 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFramebufferParameterfvAMD", )
  OGLM_AVAIL_CHECK(__glewGetFramebufferParameterfvAMD, glGetFramebufferParameterfvAMD)
  glGetFramebufferParameterfvAMD(target, pname, numsamples, pixelindex, size, values);
  OGLM_CHECK_ERR("glGetFramebufferParameterfvAMD", )
#line 24948 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12206 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFramebufferParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetFramebufferParameteriv, glGetFramebufferParameteriv)
  glGetFramebufferParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetFramebufferParameteriv", )
#line 24973 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameteriv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12217 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFramebufferParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetFramebufferParameteriv, glGetFramebufferParameteriv)
  OGLM_SIZE_ENUM(FramebufferAttachmentParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetFramebufferParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetFramebufferParameteriv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 25002 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "framebuffer, pname, params");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12233 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFramebufferParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetFramebufferParameterivEXT, glGetFramebufferParameterivEXT)
  glGetFramebufferParameterivEXT(framebuffer, pname, params);
  OGLM_CHECK_ERR("glGetFramebufferParameterivEXT", )
#line 25028 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "framebuffer, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12244 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFramebufferParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetFramebufferParameterivEXT, glGetFramebufferParameterivEXT)
  OGLM_SIZE_ENUM(GetFramebufferParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetFramebufferParameterivEXT(framebuffer, pname, params);
  OGLM_CHECK_ERR("glGetFramebufferParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 25057 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameterivMESA_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameterivMESA_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12260 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFramebufferParameterivMESA", )
  OGLM_AVAIL_CHECK(__glewGetFramebufferParameterivMESA, glGetFramebufferParameterivMESA)
  glGetFramebufferParameterivMESA(target, pname, params);
  OGLM_CHECK_ERR("glGetFramebufferParameterivMESA", )
#line 25083 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameterivMESA_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferParameterivMESA_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12271 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFramebufferParameterivMESA", )
  OGLM_AVAIL_CHECK(__glewGetFramebufferParameterivMESA, glGetFramebufferParameterivMESA)
  OGLM_SIZE_ENUM(FramebufferAttachmentParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetFramebufferParameterivMESA(target, pname, params);
  OGLM_CHECK_ERR("glGetFramebufferParameterivMESA", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 25112 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferPixelLocalStorageSizeEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetFramebufferPixelLocalStorageSizeEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLuint	target = (unsigned int)SvUV(ST(0))
;
	GLsizei	RETVAL;
	dXSTARG;
#line 12285 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetFramebufferPixelLocalStorageSizeEXT", )
  OGLM_AVAIL_CHECK(__glewGetFramebufferPixelLocalStorageSizeEXT, glGetFramebufferPixelLocalStorageSizeEXT)
  RETVAL = glGetFramebufferPixelLocalStorageSizeEXT(target);
  OGLM_CHECK_ERR("glGetFramebufferPixelLocalStorageSizeEXT", )
#line 25136 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetGraphicsResetStatus); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetGraphicsResetStatus)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	GLenum	RETVAL;
	dXSTARG;
#line 12299 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetGraphicsResetStatus", )
  OGLM_AVAIL_CHECK(__glewGetGraphicsResetStatus, glGetGraphicsResetStatus)
  RETVAL = glGetGraphicsResetStatus();
  OGLM_CHECK_ERR("glGetGraphicsResetStatus", )
#line 25160 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetGraphicsResetStatusARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetGraphicsResetStatusARB)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	GLenum	RETVAL;
	dXSTARG;
#line 12310 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetGraphicsResetStatusARB", )
  OGLM_AVAIL_CHECK(__glewGetGraphicsResetStatusARB, glGetGraphicsResetStatusARB)
  RETVAL = glGetGraphicsResetStatusARB();
  OGLM_CHECK_ERR("glGetGraphicsResetStatusARB", )
#line 25183 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetHandleARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetHandleARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pname");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLhandleARB	RETVAL;
	dXSTARG;
#line 12322 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetHandleARB", )
  OGLM_AVAIL_CHECK(__glewGetHandleARB, glGetHandleARB)
  RETVAL = glGetHandleARB(pname);
  OGLM_CHECK_ERR("glGetHandleARB", )
#line 25208 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetHistogram_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetHistogram_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, reset, format, type, values");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLboolean	reset = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	void *	values = INT2PTR(void *,SvIV(ST(4)))
;
#line 12338 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetHistogram", )
  OGLM_AVAIL_CHECK(__glewGetHistogram, glGetHistogram)
  glGetHistogram(target, reset, format, type, values);
  OGLM_CHECK_ERR("glGetHistogram", )
#line 25239 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetHistogramEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetHistogramEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, reset, format, type, values");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLboolean	reset = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	void *	values = INT2PTR(void *,SvIV(ST(4)))
;
#line 12352 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetHistogramEXT", )
  OGLM_AVAIL_CHECK(__glewGetHistogramEXT, glGetHistogramEXT)
  glGetHistogramEXT(target, reset, format, type, values);
  OGLM_CHECK_ERR("glGetHistogramEXT", )
#line 25268 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 12364 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetHistogramParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetHistogramParameterfv, glGetHistogramParameterfv)
  glGetHistogramParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glGetHistogramParameterfv", )
#line 25293 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterfv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12375 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetHistogramParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetHistogramParameterfv, glGetHistogramParameterfv)
  OGLM_SIZE_ENUM(GetHistogramParameterPNameEXT,pname,1)
  GLfloat *params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetHistogramParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glGetHistogramParameterfv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 25322 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 12391 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetHistogramParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetHistogramParameterfvEXT, glGetHistogramParameterfvEXT)
  glGetHistogramParameterfvEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetHistogramParameterfvEXT", )
#line 25348 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12402 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetHistogramParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetHistogramParameterfvEXT, glGetHistogramParameterfvEXT)
  OGLM_SIZE_ENUM(GetHistogramParameterPNameEXT,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetHistogramParameterfvEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetHistogramParameterfvEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 25377 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12418 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetHistogramParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetHistogramParameteriv, glGetHistogramParameteriv)
  glGetHistogramParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetHistogramParameteriv", )
#line 25403 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameteriv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12429 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetHistogramParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetHistogramParameteriv, glGetHistogramParameteriv)
  OGLM_SIZE_ENUM(GetHistogramParameterPNameEXT,pname,1)
  GLint *params = OGLM_ALLOC(pname_count,GLint,params);
  glGetHistogramParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetHistogramParameteriv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 25432 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12445 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetHistogramParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetHistogramParameterivEXT, glGetHistogramParameterivEXT)
  glGetHistogramParameterivEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetHistogramParameterivEXT", )
#line 25458 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetHistogramParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12456 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetHistogramParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetHistogramParameterivEXT, glGetHistogramParameterivEXT)
  OGLM_SIZE_ENUM(GetHistogramParameterPNameEXT,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetHistogramParameterivEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetHistogramParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 25487 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetImageHandleARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetImageHandleARB)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texture, level, layered, layer, format");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLboolean	layered = (int)SvIV(ST(2))
;
	GLint	layer = (int)SvIV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLuint64	RETVAL;
	dXSTARG;
#line 12474 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetImageHandleARB", )
  OGLM_AVAIL_CHECK(__glewGetImageHandleARB, glGetImageHandleARB)
  RETVAL = glGetImageHandleARB(texture, level, layered, layer, format);
  OGLM_CHECK_ERR("glGetImageHandleARB", )
#line 25519 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetImageHandleNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetImageHandleNV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texture, level, layered, layer, format");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLboolean	layered = (int)SvIV(ST(2))
;
	GLint	layer = (int)SvIV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLuint64	RETVAL;
	dXSTARG;
#line 12490 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetImageHandleNV", )
  OGLM_AVAIL_CHECK(__glewGetImageHandleNV, glGetImageHandleNV)
  RETVAL = glGetImageHandleNV(texture, level, layered, layer, format);
  OGLM_CHECK_ERR("glGetImageHandleNV", )
#line 25552 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetImageTransformParameterfvHP_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetImageTransformParameterfvHP_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 12504 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetImageTransformParameterfvHP", )
  OGLM_AVAIL_CHECK(__glewGetImageTransformParameterfvHP, glGetImageTransformParameterfvHP)
  glGetImageTransformParameterfvHP(target, pname, params);
  OGLM_CHECK_ERR("glGetImageTransformParameterfvHP", )
#line 25579 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetImageTransformParameterivHP_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetImageTransformParameterivHP_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 12516 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetImageTransformParameterivHP", )
  OGLM_AVAIL_CHECK(__glewGetImageTransformParameterivHP, glGetImageTransformParameterivHP)
  glGetImageTransformParameterivHP(target, pname, params);
  OGLM_CHECK_ERR("glGetImageTransformParameterivHP", )
#line 25604 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetInfoLogARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInfoLogARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "obj, maxLength, length, infoLog");
    {
	GLhandleARB	obj = (unsigned int)SvUV(ST(0))
;
	GLsizei	maxLength = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLcharARB *	infoLog = (GLcharARB *)SvPV_nolen(ST(3))
;
#line 12529 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInfoLogARB", )
  OGLM_AVAIL_CHECK(__glewGetInfoLogARB, glGetInfoLogARB)
  glGetInfoLogARB(obj, maxLength, length, infoLog);
  OGLM_CHECK_ERR("glGetInfoLogARB", )
#line 25631 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetInfoLogARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInfoLogARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "obj, maxLength");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLhandleARB	obj = (unsigned int)SvUV(ST(0))
;
	GLsizei	maxLength = (int)SvIV(ST(1))
;
#line 12540 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInfoLogARB", )
  OGLM_AVAIL_CHECK(__glewGetInfoLogARB, glGetInfoLogARB)
  GLcharARB infoLog[maxLength];
  GLsizei length[1];
  glGetInfoLogARB(obj, maxLength, length, infoLog);
  OGLM_CHECK_ERR("glGetInfoLogARB", )
  EXTEND(sp, 2);
  mPUSHs(newSViv(length[0]));
  mPUSHs(newSVpv(infoLog,0));
#line 25661 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetInteger64i_v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInteger64i_v_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLint64 *	data = INT2PTR(GLint64 *,SvIV(ST(2)))
;
#line 12557 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInteger64i_v", )
  OGLM_AVAIL_CHECK(__glewGetInteger64i_v, glGetInteger64i_v)
  glGetInteger64i_v(target, index, data);
  OGLM_CHECK_ERR("glGetInteger64i_v", )
#line 25687 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetInteger64i_v_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInteger64i_v_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 12568 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInteger64i_v", )
  OGLM_AVAIL_CHECK(__glewGetInteger64i_v, glGetInteger64i_v)
  OGLM_SIZE_ENUM(GetPName,target,1)
  GLint64 * data = OGLM_ALLOC(target_count,GLint64,data);
  glGetInteger64i_v(target, index, data);
  OGLM_CHECK_ERR("glGetInteger64i_v", free(data);)
  OGLM_OUT_FINISH(data,target_count,newSViv)
  free(data);
#line 25716 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetInteger64v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInteger64v_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "pname, data");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint64*	data = INT2PTR(GLint64 *,SvIV(ST(1)))
;
#line 12586 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInteger64v", )
  OGLM_AVAIL_CHECK(__glewGetInteger64v, glGetInteger64v)
  glGetInteger64v(pname, data);
  OGLM_CHECK_ERR("glGetInteger64v", )
#line 25741 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetInteger64v_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInteger64v_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 12599 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInteger64v", )
  OGLM_AVAIL_CHECK(__glewGetInteger64v, glGetInteger64v)
  OGLM_SIZE_ENUM(GetPName,pname,1)
  GLint64* data = OGLM_ALLOC(pname_count,GLint64,data);
  glGetInteger64v(pname, data);
  OGLM_CHECK_ERR("glGetInteger64v", free(data);)
  OGLM_OUT_FINISH(data,pname_count,newSViv)
  free(data);
#line 25769 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetIntegeri_v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetIntegeri_v_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLint*	data = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12617 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetIntegeri_v", )
  OGLM_AVAIL_CHECK(__glewGetIntegeri_v, glGetIntegeri_v)
  glGetIntegeri_v(target, index, data);
  OGLM_CHECK_ERR("glGetIntegeri_v", )
#line 25796 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetIntegeri_v_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetIntegeri_v_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 12630 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetIntegeri_v", )
  OGLM_AVAIL_CHECK(__glewGetIntegeri_v, glGetIntegeri_v)
  OGLM_SIZE_ENUM(GetPName,target,1)
  GLint* data = OGLM_ALLOC(target_count,GLint,data);
  glGetIntegeri_v(target, index, data);
  OGLM_CHECK_ERR("glGetIntegeri_v", free(data);)
  OGLM_OUT_FINISH(data,target_count,newSViv)
  free(data);
#line 25826 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetIntegeri_vEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetIntegeri_vEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLint*	data = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12646 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetIntegeri_vEXT", )
  OGLM_AVAIL_CHECK(__glewGetIntegeri_vEXT, glGetIntegeri_vEXT)
  glGetIntegeri_vEXT(target, index, data);
  OGLM_CHECK_ERR("glGetIntegeri_vEXT", )
#line 25852 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetIntegerui64i_vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetIntegerui64i_vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "value, index, result");
    {
	GLenum	value = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLuint64EXT *	result = INT2PTR(GLuint64EXT *,SvIV(ST(2)))
;
#line 12658 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetIntegerui64i_vNV", )
  OGLM_AVAIL_CHECK(__glewGetIntegerui64i_vNV, glGetIntegerui64i_vNV)
  glGetIntegerui64i_vNV(value, index, result);
  OGLM_CHECK_ERR("glGetIntegerui64i_vNV", )
#line 25877 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetIntegerui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetIntegerui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "value, result");
    {
	GLenum	value = (int)SvIV(ST(0))
;
	GLuint64EXT*	result = INT2PTR(GLuint64EXT *,SvIV(ST(1)))
;
#line 12669 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetIntegerui64vNV", )
  OGLM_AVAIL_CHECK(__glewGetIntegerui64vNV, glGetIntegerui64vNV)
  glGetIntegerui64vNV(value, result);
  OGLM_CHECK_ERR("glGetIntegerui64vNV", )
#line 25900 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetIntegerv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetIntegerv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, data");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint *	data = INT2PTR(GLint *,SvIV(ST(1)))
;
#line 12680 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetIntegerv", )
  glGetIntegerv(pname, data);
  OGLM_CHECK_ERR("glGetIntegerv", )
#line 25922 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetIntegerv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetIntegerv_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 12689 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetIntegerv", )
  OGLM_SIZE_ENUM(GetPName,pname,1)
  GLint *data = OGLM_ALLOC(pname_count,GLint,data);
  glGetIntegerv(pname, data);
  OGLM_CHECK_ERR("glGetIntegerv", free(data);)
  OGLM_OUT_FINISH(data,pname_count,newSViv)
  free(data);
#line 25948 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetInternalformatSampleivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInternalformatSampleivNV_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, internalformat, samples, pname, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLsizei	samples = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
	GLsizei	count = (int)SvIV(ST(4))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(5)))
;
#line 12707 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInternalformatSampleivNV", )
  OGLM_AVAIL_CHECK(__glewGetInternalformatSampleivNV, glGetInternalformatSampleivNV)
  glGetInternalformatSampleivNV(target, internalformat, samples, pname, count, params);
  OGLM_CHECK_ERR("glGetInternalformatSampleivNV", )
#line 25980 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetInternalformatSampleivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInternalformatSampleivNV_p)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, internalformat, samples, pname, count");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLsizei	samples = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
	GLsizei	count = (int)SvIV(ST(4))
;
#line 12721 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInternalformatSampleivNV", )
  OGLM_AVAIL_CHECK(__glewGetInternalformatSampleivNV, glGetInternalformatSampleivNV)
  GLint* params = OGLM_ALLOC(count,GLint,params);
  glGetInternalformatSampleivNV(target, internalformat, samples, pname, count, params);
  OGLM_CHECK_ERR("glGetInternalformatSampleivNV", free(params);)
  OGLM_OUT_FINISH(params,count,newSViv)
  free(params);
#line 26014 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetInternalformati64v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInternalformati64v_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, internalformat, pname, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	GLint64*	params = INT2PTR(GLint64 *,SvIV(ST(4)))
;
#line 12738 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInternalformati64v", )
  OGLM_AVAIL_CHECK(__glewGetInternalformati64v, glGetInternalformati64v)
  glGetInternalformati64v(target, internalformat, pname, count, params);
  OGLM_CHECK_ERR("glGetInternalformati64v", )
#line 26044 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetInternalformati64v_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInternalformati64v_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, internalformat, pname, count");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
#line 12751 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInternalformati64v", )
  OGLM_AVAIL_CHECK(__glewGetInternalformati64v, glGetInternalformati64v)
  GLint64* params = OGLM_ALLOC(count,GLint64,params);
  glGetInternalformati64v(target, internalformat, pname, count, params);
  OGLM_CHECK_ERR("glGetInternalformati64v", free(params);)
  OGLM_OUT_FINISH(params,count,newSViv)
  free(params);
#line 26076 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetInternalformativ_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInternalformativ_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, internalformat, pname, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(4)))
;
#line 12768 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInternalformativ", )
  OGLM_AVAIL_CHECK(__glewGetInternalformativ, glGetInternalformativ)
  glGetInternalformativ(target, internalformat, pname, count, params);
  OGLM_CHECK_ERR("glGetInternalformativ", )
#line 26106 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetInternalformativ_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInternalformativ_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, internalformat, pname, count");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
#line 12781 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInternalformativ", )
  OGLM_AVAIL_CHECK(__glewGetInternalformativ, glGetInternalformativ)
  GLint* params = OGLM_ALLOC(count,GLint,params);
  glGetInternalformativ(target, internalformat, pname, count, params);
  OGLM_CHECK_ERR("glGetInternalformativ", free(params);)
  OGLM_OUT_FINISH(params,count,newSViv)
  free(params);
#line 26138 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetInvariantBooleanvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInvariantBooleanvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, value, data");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLboolean *	data = INT2PTR(GLboolean *,SvIV(ST(2)))
;
#line 12796 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInvariantBooleanvEXT", )
  OGLM_AVAIL_CHECK(__glewGetInvariantBooleanvEXT, glGetInvariantBooleanvEXT)
  glGetInvariantBooleanvEXT(id, value, data);
  OGLM_CHECK_ERR("glGetInvariantBooleanvEXT", )
#line 26164 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetInvariantFloatvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInvariantFloatvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, value, data");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLfloat *	data = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 12808 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInvariantFloatvEXT", )
  OGLM_AVAIL_CHECK(__glewGetInvariantFloatvEXT, glGetInvariantFloatvEXT)
  glGetInvariantFloatvEXT(id, value, data);
  OGLM_CHECK_ERR("glGetInvariantFloatvEXT", )
#line 26189 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetInvariantIntegervEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetInvariantIntegervEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, value, data");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLint *	data = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12820 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetInvariantIntegervEXT", )
  OGLM_AVAIL_CHECK(__glewGetInvariantIntegervEXT, glGetInvariantIntegervEXT)
  glGetInvariantIntegervEXT(id, value, data);
  OGLM_CHECK_ERR("glGetInvariantIntegervEXT", )
#line 26214 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetLightfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetLightfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 12832 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetLightfv", )
  glGetLightfv(light, pname, params);
  OGLM_CHECK_ERR("glGetLightfv", )
#line 26238 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetLightfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetLightfv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "light, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12842 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetLightfv", )
  OGLM_SIZE_ENUM(LightParameter,pname,1)
  GLfloat *params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetLightfv(light, pname, params);
  OGLM_CHECK_ERR("glGetLightfv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 26266 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetLightiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetLightiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12857 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetLightiv", )
  glGetLightiv(light, pname, params);
  OGLM_CHECK_ERR("glGetLightiv", )
#line 26291 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetLightiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetLightiv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "light, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12867 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetLightiv", )
  OGLM_SIZE_ENUM(LightParameter,pname,1)
  GLint *params = OGLM_ALLOC(pname_count,GLint,params);
  glGetLightiv(light, pname, params);
  OGLM_CHECK_ERR("glGetLightiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 26319 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetLightxv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetLightxv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfixed*	params = INT2PTR(GLfixed *,SvIV(ST(2)))
;
#line 12882 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetLightxv", )
  OGLM_AVAIL_CHECK(__glewGetLightxv, glGetLightxv)
  glGetLightxv(light, pname, params);
  OGLM_CHECK_ERR("glGetLightxv", )
#line 26345 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetLightxv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetLightxv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "light, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 12893 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetLightxv", )
  OGLM_AVAIL_CHECK(__glewGetLightxv, glGetLightxv)
  OGLM_SIZE_ENUM(LightParameter,pname,1)
  GLfixed* params = OGLM_ALLOC(pname_count,GLfixed,params);
  glGetLightxv(light, pname, params);
  OGLM_CHECK_ERR("glGetLightxv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 26374 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetLocalConstantBooleanvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetLocalConstantBooleanvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, value, data");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLboolean *	data = INT2PTR(GLboolean *,SvIV(ST(2)))
;
#line 12909 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetLocalConstantBooleanvEXT", )
  OGLM_AVAIL_CHECK(__glewGetLocalConstantBooleanvEXT, glGetLocalConstantBooleanvEXT)
  glGetLocalConstantBooleanvEXT(id, value, data);
  OGLM_CHECK_ERR("glGetLocalConstantBooleanvEXT", )
#line 26400 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetLocalConstantFloatvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetLocalConstantFloatvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, value, data");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLfloat *	data = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 12921 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetLocalConstantFloatvEXT", )
  OGLM_AVAIL_CHECK(__glewGetLocalConstantFloatvEXT, glGetLocalConstantFloatvEXT)
  glGetLocalConstantFloatvEXT(id, value, data);
  OGLM_CHECK_ERR("glGetLocalConstantFloatvEXT", )
#line 26425 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetLocalConstantIntegervEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetLocalConstantIntegervEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, value, data");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLint *	data = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12933 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetLocalConstantIntegervEXT", )
  OGLM_AVAIL_CHECK(__glewGetLocalConstantIntegervEXT, glGetLocalConstantIntegervEXT)
  glGetLocalConstantIntegervEXT(id, value, data);
  OGLM_CHECK_ERR("glGetLocalConstantIntegervEXT", )
#line 26450 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMPEGParameterfvSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMPEGParameterfvSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 12945 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMPEGParameterfvSGIX", )
  OGLM_AVAIL_CHECK(__glewGetMPEGParameterfvSGIX, glGetMPEGParameterfvSGIX)
  glGetMPEGParameterfvSGIX(target, pname, params);
  OGLM_CHECK_ERR("glGetMPEGParameterfvSGIX", )
#line 26475 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMPEGParameterivSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMPEGParameterivSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 12957 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMPEGParameterivSGIX", )
  OGLM_AVAIL_CHECK(__glewGetMPEGParameterivSGIX, glGetMPEGParameterivSGIX)
  glGetMPEGParameterivSGIX(target, pname, params);
  OGLM_CHECK_ERR("glGetMPEGParameterivSGIX", )
#line 26500 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMPEGPredictorSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMPEGPredictorSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	void *	pixels = INT2PTR(void *,SvIV(ST(3)))
;
#line 12970 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMPEGPredictorSGIX", )
  OGLM_AVAIL_CHECK(__glewGetMPEGPredictorSGIX, glGetMPEGPredictorSGIX)
  glGetMPEGPredictorSGIX(target, format, type, pixels);
  OGLM_CHECK_ERR("glGetMPEGPredictorSGIX", )
#line 26527 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMPEGQuantTableubv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMPEGQuantTableubv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, values");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLubyte*	values = INT2PTR(GLubyte *,SvIV(ST(1)))
;
#line 12981 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMPEGQuantTableubv", )
  OGLM_AVAIL_CHECK(__glewGetMPEGQuantTableubv, glGetMPEGQuantTableubv)
  glGetMPEGQuantTableubv(target, values);
  OGLM_CHECK_ERR("glGetMPEGQuantTableubv", )
#line 26550 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMapAttribParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMapAttribParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 12994 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMapAttribParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetMapAttribParameterfvNV, glGetMapAttribParameterfvNV)
  glGetMapAttribParameterfvNV(target, index, pname, params);
  OGLM_CHECK_ERR("glGetMapAttribParameterfvNV", )
#line 26577 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMapAttribParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMapAttribParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 13007 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMapAttribParameterivNV", )
  OGLM_AVAIL_CHECK(__glewGetMapAttribParameterivNV, glGetMapAttribParameterivNV)
  glGetMapAttribParameterivNV(target, index, pname, params);
  OGLM_CHECK_ERR("glGetMapAttribParameterivNV", )
#line 26604 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMapControlPointsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMapControlPointsNV_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, index, type, ustride, vstride, packed, points");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	ustride = (int)SvIV(ST(3))
;
	GLsizei	vstride = (int)SvIV(ST(4))
;
	GLboolean	packed = (int)SvIV(ST(5))
;
	void *	points = INT2PTR(void *,SvIV(ST(6)))
;
#line 13023 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMapControlPointsNV", )
  OGLM_AVAIL_CHECK(__glewGetMapControlPointsNV, glGetMapControlPointsNV)
  glGetMapControlPointsNV(target, index, type, ustride, vstride, packed, points);
  OGLM_CHECK_ERR("glGetMapControlPointsNV", )
#line 26637 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMapParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMapParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 13035 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMapParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetMapParameterfvNV, glGetMapParameterfvNV)
  glGetMapParameterfvNV(target, pname, params);
  OGLM_CHECK_ERR("glGetMapParameterfvNV", )
#line 26662 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMapParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMapParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 13047 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMapParameterivNV", )
  OGLM_AVAIL_CHECK(__glewGetMapParameterivNV, glGetMapParameterivNV)
  glGetMapParameterivNV(target, pname, params);
  OGLM_CHECK_ERR("glGetMapParameterivNV", )
#line 26687 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMapdv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMapdv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, query, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	query = (int)SvIV(ST(1))
;
	GLdouble *	v = INT2PTR(GLdouble *,SvIV(ST(2)))
;
#line 13059 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMapdv", )
  glGetMapdv(target, query, v);
  OGLM_CHECK_ERR("glGetMapdv", )
#line 26711 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMapfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMapfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, query, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	query = (int)SvIV(ST(1))
;
	GLfloat *	v = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 13070 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMapfv", )
  glGetMapfv(target, query, v);
  OGLM_CHECK_ERR("glGetMapfv", )
#line 26735 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMapiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMapiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, query, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	query = (int)SvIV(ST(1))
;
	GLint *	v = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 13081 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMapiv", )
  glGetMapiv(target, query, v);
  OGLM_CHECK_ERR("glGetMapiv", )
#line 26759 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMaterialfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMaterialfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 13092 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMaterialfv", )
  glGetMaterialfv(face, pname, params);
  OGLM_CHECK_ERR("glGetMaterialfv", )
#line 26783 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMaterialfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMaterialfv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 13102 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMaterialfv", )
  OGLM_SIZE_ENUM(MaterialParameter,pname,1)
  GLfloat *params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetMaterialfv(face, pname, params);
  OGLM_CHECK_ERR("glGetMaterialfv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 26811 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMaterialiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMaterialiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 13117 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMaterialiv", )
  glGetMaterialiv(face, pname, params);
  OGLM_CHECK_ERR("glGetMaterialiv", )
#line 26836 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMaterialiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMaterialiv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 13127 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMaterialiv", )
  OGLM_SIZE_ENUM(MaterialParameter,pname,1)
  GLint *params = OGLM_ALLOC(pname_count,GLint,params);
  glGetMaterialiv(face, pname, params);
  OGLM_CHECK_ERR("glGetMaterialiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 26864 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMaterialxv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMaterialxv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfixed*	params = INT2PTR(GLfixed *,SvIV(ST(2)))
;
#line 13142 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMaterialxv", )
  OGLM_AVAIL_CHECK(__glewGetMaterialxv, glGetMaterialxv)
  glGetMaterialxv(face, pname, params);
  OGLM_CHECK_ERR("glGetMaterialxv", )
#line 26890 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMaterialxv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMaterialxv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 13153 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMaterialxv", )
  OGLM_AVAIL_CHECK(__glewGetMaterialxv, glGetMaterialxv)
  OGLM_SIZE_ENUM(MaterialParameter,pname,1)
  GLfixed* params = OGLM_ALLOC(pname_count,GLfixed,params);
  glGetMaterialxv(face, pname, params);
  OGLM_CHECK_ERR("glGetMaterialxv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 26919 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMemoryObjectDetachedResourcesuivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMemoryObjectDetachedResourcesuivNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "memory, pname, first, count, params");
    {
	GLuint	memory = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	first = (int)SvIV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(4)))
;
#line 13171 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMemoryObjectDetachedResourcesuivNV", )
  OGLM_AVAIL_CHECK(__glewGetMemoryObjectDetachedResourcesuivNV, glGetMemoryObjectDetachedResourcesuivNV)
  glGetMemoryObjectDetachedResourcesuivNV(memory, pname, first, count, params);
  OGLM_CHECK_ERR("glGetMemoryObjectDetachedResourcesuivNV", )
#line 26949 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMemoryObjectParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMemoryObjectParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "memoryObject, pname, params");
    {
	GLuint	memoryObject = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 13183 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMemoryObjectParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMemoryObjectParameterivEXT, glGetMemoryObjectParameterivEXT)
  glGetMemoryObjectParameterivEXT(memoryObject, pname, params);
  OGLM_CHECK_ERR("glGetMemoryObjectParameterivEXT", )
#line 26974 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMinmax_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMinmax_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, reset, format, type, values");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLboolean	reset = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	void *	values = INT2PTR(void *,SvIV(ST(4)))
;
#line 13197 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMinmax", )
  OGLM_AVAIL_CHECK(__glewGetMinmax, glGetMinmax)
  glGetMinmax(target, reset, format, type, values);
  OGLM_CHECK_ERR("glGetMinmax", )
#line 27003 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, reset, format, type, values");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLboolean	reset = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	void *	values = INT2PTR(void *,SvIV(ST(4)))
;
#line 13211 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMinmaxEXT", )
  OGLM_AVAIL_CHECK(__glewGetMinmaxEXT, glGetMinmaxEXT)
  glGetMinmaxEXT(target, reset, format, type, values);
  OGLM_CHECK_ERR("glGetMinmaxEXT", )
#line 27032 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 13223 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMinmaxParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetMinmaxParameterfv, glGetMinmaxParameterfv)
  glGetMinmaxParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glGetMinmaxParameterfv", )
#line 27057 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterfv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 13234 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMinmaxParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetMinmaxParameterfv, glGetMinmaxParameterfv)
  OGLM_SIZE_ENUM(GetMinmaxParameterPNameEXT,pname,1)
  GLfloat *params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetMinmaxParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glGetMinmaxParameterfv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 27086 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 13250 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMinmaxParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMinmaxParameterfvEXT, glGetMinmaxParameterfvEXT)
  glGetMinmaxParameterfvEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetMinmaxParameterfvEXT", )
#line 27112 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 13261 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMinmaxParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMinmaxParameterfvEXT, glGetMinmaxParameterfvEXT)
  OGLM_SIZE_ENUM(GetMinmaxParameterPNameEXT,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetMinmaxParameterfvEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetMinmaxParameterfvEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 27141 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 13277 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMinmaxParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetMinmaxParameteriv, glGetMinmaxParameteriv)
  glGetMinmaxParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetMinmaxParameteriv", )
#line 27167 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameteriv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 13288 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMinmaxParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetMinmaxParameteriv, glGetMinmaxParameteriv)
  OGLM_SIZE_ENUM(GetMinmaxParameterPNameEXT,pname,1)
  GLint *params = OGLM_ALLOC(pname_count,GLint,params);
  glGetMinmaxParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetMinmaxParameteriv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 27196 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 13304 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMinmaxParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMinmaxParameterivEXT, glGetMinmaxParameterivEXT)
  glGetMinmaxParameterivEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetMinmaxParameterivEXT", )
#line 27222 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMinmaxParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 13315 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMinmaxParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMinmaxParameterivEXT, glGetMinmaxParameterivEXT)
  OGLM_SIZE_ENUM(GetMinmaxParameterPNameEXT,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetMinmaxParameterivEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetMinmaxParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 27251 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexEnvfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexEnvfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 13332 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexEnvfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexEnvfvEXT, glGetMultiTexEnvfvEXT)
  glGetMultiTexEnvfvEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexEnvfvEXT", )
#line 27279 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexEnvfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexEnvfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texunit, target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 13344 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexEnvfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexEnvfvEXT, glGetMultiTexEnvfvEXT)
  OGLM_SIZE_ENUM(TextureEnvParameter,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetMultiTexEnvfvEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexEnvfvEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 27310 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexEnvivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexEnvivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 13361 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexEnvivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexEnvivEXT, glGetMultiTexEnvivEXT)
  glGetMultiTexEnvivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexEnvivEXT", )
#line 27338 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexEnvivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexEnvivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texunit, target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 13373 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexEnvivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexEnvivEXT, glGetMultiTexEnvivEXT)
  OGLM_SIZE_ENUM(TextureEnvParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetMultiTexEnvivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexEnvivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 27369 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGendvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGendvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, coord, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLdouble*	params = INT2PTR(GLdouble *,SvIV(ST(3)))
;
#line 13390 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexGendvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexGendvEXT, glGetMultiTexGendvEXT)
  glGetMultiTexGendvEXT(texunit, coord, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexGendvEXT", )
#line 27397 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGendvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGendvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texunit, coord, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 13402 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexGendvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexGendvEXT, glGetMultiTexGendvEXT)
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLdouble* params = OGLM_ALLOC(pname_count,GLdouble,params);
  glGetMultiTexGendvEXT(texunit, coord, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexGendvEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 27428 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGenfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGenfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, coord, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 13419 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexGenfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexGenfvEXT, glGetMultiTexGenfvEXT)
  glGetMultiTexGenfvEXT(texunit, coord, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexGenfvEXT", )
#line 27456 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGenfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGenfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texunit, coord, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 13431 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexGenfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexGenfvEXT, glGetMultiTexGenfvEXT)
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetMultiTexGenfvEXT(texunit, coord, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexGenfvEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 27487 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGenivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGenivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, coord, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 13448 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexGenivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexGenivEXT, glGetMultiTexGenivEXT)
  glGetMultiTexGenivEXT(texunit, coord, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexGenivEXT", )
#line 27515 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGenivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexGenivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texunit, coord, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 13460 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexGenivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexGenivEXT, glGetMultiTexGenivEXT)
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetMultiTexGenivEXT(texunit, coord, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexGenivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 27546 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexImageEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexImageEXT_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "texunit, target, level, format, type, pixels");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	format = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	void *	pixels = INT2PTR(void *,SvIV(ST(5)))
;
#line 13479 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexImageEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexImageEXT, glGetMultiTexImageEXT)
  glGetMultiTexImageEXT(texunit, target, level, format, type, pixels);
  OGLM_CHECK_ERR("glGetMultiTexImageEXT", )
#line 27578 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexLevelParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexLevelParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texunit, target, level, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(4)))
;
#line 13493 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexLevelParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexLevelParameterfvEXT, glGetMultiTexLevelParameterfvEXT)
  glGetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexLevelParameterfvEXT", )
#line 27607 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexLevelParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexLevelParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, level, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
#line 13506 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexLevelParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexLevelParameterfvEXT, glGetMultiTexLevelParameterfvEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexLevelParameterfvEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 27640 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexLevelParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexLevelParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texunit, target, level, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(4)))
;
#line 13524 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexLevelParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexLevelParameterivEXT, glGetMultiTexLevelParameterivEXT)
  glGetMultiTexLevelParameterivEXT(texunit, target, level, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexLevelParameterivEXT", )
#line 27670 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexLevelParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexLevelParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, level, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
#line 13537 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexLevelParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexLevelParameterivEXT, glGetMultiTexLevelParameterivEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetMultiTexLevelParameterivEXT(texunit, target, level, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexLevelParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 27703 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterIivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterIivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 13554 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexParameterIivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexParameterIivEXT, glGetMultiTexParameterIivEXT)
  glGetMultiTexParameterIivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexParameterIivEXT", )
#line 27731 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterIivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterIivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texunit, target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 13566 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexParameterIivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexParameterIivEXT, glGetMultiTexParameterIivEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetMultiTexParameterIivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexParameterIivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 27762 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterIuivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterIuivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(3)))
;
#line 13583 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexParameterIuivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexParameterIuivEXT, glGetMultiTexParameterIuivEXT)
  glGetMultiTexParameterIuivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexParameterIuivEXT", )
#line 27790 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterIuivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterIuivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texunit, target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 13595 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexParameterIuivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexParameterIuivEXT, glGetMultiTexParameterIuivEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLuint* params = OGLM_ALLOC(pname_count,GLuint,params);
  glGetMultiTexParameterIuivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexParameterIuivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVuv)
  free(params);
#line 27821 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 13612 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexParameterfvEXT, glGetMultiTexParameterfvEXT)
  glGetMultiTexParameterfvEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexParameterfvEXT", )
#line 27849 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texunit, target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 13624 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexParameterfvEXT, glGetMultiTexParameterfvEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetMultiTexParameterfvEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexParameterfvEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 27880 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 13641 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexParameterivEXT, glGetMultiTexParameterivEXT)
  glGetMultiTexParameterivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexParameterivEXT", )
#line 27908 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultiTexParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texunit, target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 13653 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultiTexParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetMultiTexParameterivEXT, glGetMultiTexParameterivEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetMultiTexParameterivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glGetMultiTexParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 27939 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultisamplefv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultisamplefv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "pname, index, val");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLfloat*	val = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 13671 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultisamplefv", )
  OGLM_AVAIL_CHECK(__glewGetMultisamplefv, glGetMultisamplefv)
  glGetMultisamplefv(pname, index, val);
  OGLM_CHECK_ERR("glGetMultisamplefv", )
#line 27966 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetMultisamplefv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetMultisamplefv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "pname, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 13684 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetMultisamplefv", )
  OGLM_AVAIL_CHECK(__glewGetMultisamplefv, glGetMultisamplefv)
  OGLM_SIZE_ENUM(GetMultisamplePNameNV,pname,1)
  GLfloat* val = OGLM_ALLOC(pname_count,GLfloat,val);
  glGetMultisamplefv(pname, index, val);
  OGLM_CHECK_ERR("glGetMultisamplefv", free(val);)
  OGLM_OUT_FINISH(val,pname_count,newSVnv)
  free(val);
#line 27996 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameteri64v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameteri64v_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, pname, params");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint64*	params = INT2PTR(GLint64 *,SvIV(ST(2)))
;
#line 13700 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedBufferParameteri64v", )
  OGLM_AVAIL_CHECK(__glewGetNamedBufferParameteri64v, glGetNamedBufferParameteri64v)
  glGetNamedBufferParameteri64v(buffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedBufferParameteri64v", )
#line 28022 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, pname, params");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 13712 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedBufferParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetNamedBufferParameteriv, glGetNamedBufferParameteriv)
  glGetNamedBufferParameteriv(buffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedBufferParameteriv", )
#line 28047 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, pname, params");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 13724 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedBufferParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedBufferParameterivEXT, glGetNamedBufferParameterivEXT)
  glGetNamedBufferParameterivEXT(buffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedBufferParameterivEXT", )
#line 28072 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "buffer, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 13735 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedBufferParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedBufferParameterivEXT, glGetNamedBufferParameterivEXT)
  OGLM_SIZE_ENUM(BufferPNameARB,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetNamedBufferParameterivEXT(buffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedBufferParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 28101 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameterui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameterui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, pname, params");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint64EXT*	params = INT2PTR(GLuint64EXT *,SvIV(ST(2)))
;
#line 13751 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedBufferParameterui64vNV", )
  OGLM_AVAIL_CHECK(__glewGetNamedBufferParameterui64vNV, glGetNamedBufferParameterui64vNV)
  glGetNamedBufferParameterui64vNV(buffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedBufferParameterui64vNV", )
#line 28127 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameterui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferParameterui64vNV_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "buffer, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 13762 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedBufferParameterui64vNV", )
  OGLM_AVAIL_CHECK(__glewGetNamedBufferParameterui64vNV, glGetNamedBufferParameterui64vNV)
  OGLM_SIZE_ENUM(BufferPNameARB,pname,1)
  GLuint64EXT* params = OGLM_ALLOC(pname_count,GLuint64EXT,params);
  glGetNamedBufferParameterui64vNV(buffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedBufferParameterui64vNV", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVuv)
  free(params);
#line 28156 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferPointerv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferPointerv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, pname, params");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	void**	params = INT2PTR(void **,SvIV(ST(2)))
;
#line 13778 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedBufferPointerv", )
  OGLM_AVAIL_CHECK(__glewGetNamedBufferPointerv, glGetNamedBufferPointerv)
  glGetNamedBufferPointerv(buffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedBufferPointerv", )
#line 28182 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferPointervEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferPointervEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, pname, params");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	void**	params = INT2PTR(void **,SvIV(ST(2)))
;
#line 13790 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedBufferPointervEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedBufferPointervEXT, glGetNamedBufferPointervEXT)
  glGetNamedBufferPointervEXT(buffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedBufferPointervEXT", )
#line 28207 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferSubData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferSubData_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "buffer, offset, size, data");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(2))
;
	void *	data = INT2PTR(void *,SvIV(ST(3)))
;
#line 13803 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedBufferSubData", )
  OGLM_AVAIL_CHECK(__glewGetNamedBufferSubData, glGetNamedBufferSubData)
  glGetNamedBufferSubData(buffer, offset, size, data);
  OGLM_CHECK_ERR("glGetNamedBufferSubData", )
#line 28234 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferSubDataEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedBufferSubDataEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "buffer, offset, size, data");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(2))
;
	void *	data = INT2PTR(void *,SvIV(ST(3)))
;
#line 13816 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedBufferSubDataEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedBufferSubDataEXT, glGetNamedBufferSubDataEXT)
  glGetNamedBufferSubDataEXT(buffer, offset, size, data);
  OGLM_CHECK_ERR("glGetNamedBufferSubDataEXT", )
#line 28261 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferAttachmentParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferAttachmentParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, attachment, pname, params");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 13829 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedFramebufferAttachmentParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetNamedFramebufferAttachmentParameteriv, glGetNamedFramebufferAttachmentParameteriv)
  glGetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params);
  OGLM_CHECK_ERR("glGetNamedFramebufferAttachmentParameteriv", )
#line 28288 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferAttachmentParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferAttachmentParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, attachment, pname, params");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 13842 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedFramebufferAttachmentParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedFramebufferAttachmentParameterivEXT, glGetNamedFramebufferAttachmentParameterivEXT)
  glGetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params);
  OGLM_CHECK_ERR("glGetNamedFramebufferAttachmentParameterivEXT", )
#line 28315 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferAttachmentParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferAttachmentParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "framebuffer, attachment, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 13854 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedFramebufferAttachmentParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedFramebufferAttachmentParameterivEXT, glGetNamedFramebufferAttachmentParameterivEXT)
  OGLM_SIZE_ENUM(FramebufferAttachmentParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params);
  OGLM_CHECK_ERR("glGetNamedFramebufferAttachmentParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 28346 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferParameterfvAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferParameterfvAMD_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "framebuffer, pname, numsamples, pixelindex, size, values");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint	numsamples = (unsigned int)SvUV(ST(2))
;
	GLuint	pixelindex = (unsigned int)SvUV(ST(3))
;
	GLsizei	size = (int)SvIV(ST(4))
;
	GLfloat*	values = INT2PTR(GLfloat *,SvIV(ST(5)))
;
#line 13873 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedFramebufferParameterfvAMD", )
  OGLM_AVAIL_CHECK(__glewGetNamedFramebufferParameterfvAMD, glGetNamedFramebufferParameterfvAMD)
  glGetNamedFramebufferParameterfvAMD(framebuffer, pname, numsamples, pixelindex, size, values);
  OGLM_CHECK_ERR("glGetNamedFramebufferParameterfvAMD", )
#line 28378 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "framebuffer, pname, param");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	param = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 13885 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedFramebufferParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetNamedFramebufferParameteriv, glGetNamedFramebufferParameteriv)
  glGetNamedFramebufferParameteriv(framebuffer, pname, param);
  OGLM_CHECK_ERR("glGetNamedFramebufferParameteriv", )
#line 28403 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "framebuffer, pname, params");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 13897 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedFramebufferParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedFramebufferParameterivEXT, glGetNamedFramebufferParameterivEXT)
  glGetNamedFramebufferParameterivEXT(framebuffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedFramebufferParameterivEXT", )
#line 28428 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedFramebufferParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "framebuffer, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 13908 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedFramebufferParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedFramebufferParameterivEXT, glGetNamedFramebufferParameterivEXT)
  OGLM_SIZE_ENUM(GetFramebufferParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetNamedFramebufferParameterivEXT(framebuffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedFramebufferParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 28457 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterIivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterIivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, target, index, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 13925 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterIivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedProgramLocalParameterIivEXT, glGetNamedProgramLocalParameterIivEXT)
  glGetNamedProgramLocalParameterIivEXT(program, target, index, params);
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterIivEXT", )
#line 28485 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterIivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterIivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
#line 13937 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterIivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedProgramLocalParameterIivEXT, glGetNamedProgramLocalParameterIivEXT)
  GLint* params = OGLM_ALLOC(4,GLint,params);
  glGetNamedProgramLocalParameterIivEXT(program, target, index, params);
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterIivEXT", free(params);)
  OGLM_OUT_FINISH(params,4,newSViv)
  free(params);
#line 28515 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterIuivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterIuivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, target, index, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(3)))
;
#line 13953 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterIuivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedProgramLocalParameterIuivEXT, glGetNamedProgramLocalParameterIuivEXT)
  glGetNamedProgramLocalParameterIuivEXT(program, target, index, params);
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterIuivEXT", )
#line 28543 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterIuivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterIuivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
#line 13965 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterIuivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedProgramLocalParameterIuivEXT, glGetNamedProgramLocalParameterIuivEXT)
  GLuint* params = OGLM_ALLOC(4,GLuint,params);
  glGetNamedProgramLocalParameterIuivEXT(program, target, index, params);
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterIuivEXT", free(params);)
  OGLM_OUT_FINISH(params,4,newSVuv)
  free(params);
#line 28573 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterdvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterdvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, target, index, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLdouble*	params = INT2PTR(GLdouble *,SvIV(ST(3)))
;
#line 13981 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterdvEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedProgramLocalParameterdvEXT, glGetNamedProgramLocalParameterdvEXT)
  glGetNamedProgramLocalParameterdvEXT(program, target, index, params);
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterdvEXT", )
#line 28601 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterdvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterdvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
#line 13993 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterdvEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedProgramLocalParameterdvEXT, glGetNamedProgramLocalParameterdvEXT)
  GLdouble* params = OGLM_ALLOC(4,GLdouble,params);
  glGetNamedProgramLocalParameterdvEXT(program, target, index, params);
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterdvEXT", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 28631 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, target, index, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 14009 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedProgramLocalParameterfvEXT, glGetNamedProgramLocalParameterfvEXT)
  glGetNamedProgramLocalParameterfvEXT(program, target, index, params);
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterfvEXT", )
#line 28659 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramLocalParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
#line 14021 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedProgramLocalParameterfvEXT, glGetNamedProgramLocalParameterfvEXT)
  GLfloat* params = OGLM_ALLOC(4,GLfloat,params);
  glGetNamedProgramLocalParameterfvEXT(program, target, index, params);
  OGLM_CHECK_ERR("glGetNamedProgramLocalParameterfvEXT", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 28689 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramStringEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramStringEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, target, pname, string");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	void *	string = INT2PTR(void *,SvIV(ST(3)))
;
#line 14037 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedProgramStringEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedProgramStringEXT, glGetNamedProgramStringEXT)
  glGetNamedProgramStringEXT(program, target, pname, string);
  OGLM_CHECK_ERR("glGetNamedProgramStringEXT", )
#line 28717 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, target, pname, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 14050 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedProgramivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedProgramivEXT, glGetNamedProgramivEXT)
  glGetNamedProgramivEXT(program, target, pname, params);
  OGLM_CHECK_ERR("glGetNamedProgramivEXT", )
#line 28744 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedProgramivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, target, pname");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint	RETVAL;
	dXSTARG;
#line 14062 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedProgramivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedProgramivEXT, glGetNamedProgramivEXT)
  GLint params[1];
  glGetNamedProgramivEXT(program, target, pname, params);
  OGLM_CHECK_ERR("glGetNamedProgramivEXT", )
  RETVAL = params[0];
#line 28773 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedRenderbufferParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedRenderbufferParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "renderbuffer, pname, params");
    {
	GLuint	renderbuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 14078 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedRenderbufferParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetNamedRenderbufferParameteriv, glGetNamedRenderbufferParameteriv)
  glGetNamedRenderbufferParameteriv(renderbuffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedRenderbufferParameteriv", )
#line 28800 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedRenderbufferParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedRenderbufferParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "renderbuffer, pname, params");
    {
	GLuint	renderbuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 14090 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedRenderbufferParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedRenderbufferParameterivEXT, glGetNamedRenderbufferParameterivEXT)
  glGetNamedRenderbufferParameterivEXT(renderbuffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedRenderbufferParameterivEXT", )
#line 28825 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedRenderbufferParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedRenderbufferParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "renderbuffer, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	renderbuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 14101 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedRenderbufferParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetNamedRenderbufferParameterivEXT, glGetNamedRenderbufferParameterivEXT)
  OGLM_SIZE_ENUM(RenderbufferParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetNamedRenderbufferParameterivEXT(renderbuffer, pname, params);
  OGLM_CHECK_ERR("glGetNamedRenderbufferParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 28854 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedStringARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedStringARB_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "namelen, name, bufSize, stringlen, string");
    {
	GLint	namelen = (int)SvIV(ST(0))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLint *	stringlen = INT2PTR(GLint *,SvIV(ST(3)))
;
	GLchar *	string = (GLchar *)SvPV_nolen(ST(4))
;
#line 14119 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedStringARB", )
  OGLM_AVAIL_CHECK(__glewGetNamedStringARB, glGetNamedStringARB)
  glGetNamedStringARB(namelen, name, bufSize, stringlen, string);
  OGLM_CHECK_ERR("glGetNamedStringARB", )
#line 28884 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedStringARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedStringARB_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "namelen, name, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	namelen = (int)SvIV(ST(0))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 14131 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedStringARB", )
  OGLM_AVAIL_CHECK(__glewGetNamedStringARB, glGetNamedStringARB)
  GLchar string[bufSize];
  GLint stringlen[1];
  glGetNamedStringARB(namelen, name, bufSize, stringlen, string);
  OGLM_CHECK_ERR("glGetNamedStringARB", )
  EXTEND(sp, 2);
  mPUSHs(newSViv(stringlen[0]));
  mPUSHs(newSVpv(string,0));
#line 28916 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetNamedStringivARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNamedStringivARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "namelen, name, pname, params");
    {
	GLint	namelen = (int)SvIV(ST(0))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 14149 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNamedStringivARB", )
  OGLM_AVAIL_CHECK(__glewGetNamedStringivARB, glGetNamedStringivARB)
  glGetNamedStringivARB(namelen, name, pname, params);
  OGLM_CHECK_ERR("glGetNamedStringivARB", )
#line 28944 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNextPerfQueryIdINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNextPerfQueryIdINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "queryId, nextQueryId");
    {
	GLuint	queryId = (unsigned int)SvUV(ST(0))
;
	GLuint*	nextQueryId = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 14160 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNextPerfQueryIdINTEL", )
  OGLM_AVAIL_CHECK(__glewGetNextPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL)
  glGetNextPerfQueryIdINTEL(queryId, nextQueryId);
  OGLM_CHECK_ERR("glGetNextPerfQueryIdINTEL", )
#line 28967 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNonlinLightfvSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNonlinLightfvSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "light, pname, terms, data");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	terms = INT2PTR(GLint *,SvIV(ST(2)))
;
	GLfloat *	data = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 14173 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNonlinLightfvSGIX", )
  OGLM_AVAIL_CHECK(__glewGetNonlinLightfvSGIX, glGetNonlinLightfvSGIX)
  glGetNonlinLightfvSGIX(light, pname, terms, data);
  OGLM_CHECK_ERR("glGetNonlinLightfvSGIX", )
#line 28994 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetNonlinMaterialfvSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetNonlinMaterialfvSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "face, pname, terms, data");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	terms = INT2PTR(GLint *,SvIV(ST(2)))
;
	const GLfloat *	data = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 14186 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetNonlinMaterialfvSGIX", )
  OGLM_AVAIL_CHECK(__glewGetNonlinMaterialfvSGIX, glGetNonlinMaterialfvSGIX)
  glGetNonlinMaterialfvSGIX(face, pname, terms, data);
  OGLM_CHECK_ERR("glGetNonlinMaterialfvSGIX", )
#line 29021 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectBufferfvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectBufferfvATI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, pname, params");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 14198 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectBufferfvATI", )
  OGLM_AVAIL_CHECK(__glewGetObjectBufferfvATI, glGetObjectBufferfvATI)
  glGetObjectBufferfvATI(buffer, pname, params);
  OGLM_CHECK_ERR("glGetObjectBufferfvATI", )
#line 29046 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectBufferfvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectBufferfvATI_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "buffer, pname");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	RETVAL;
	dXSTARG;
#line 14209 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectBufferfvATI", )
  OGLM_AVAIL_CHECK(__glewGetObjectBufferfvATI, glGetObjectBufferfvATI)
  GLfloat params[1];
  glGetObjectBufferfvATI(buffer, pname, params);
  OGLM_CHECK_ERR("glGetObjectBufferfvATI", )
  RETVAL = params[0];
#line 29073 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectBufferivATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectBufferivATI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, pname, params");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 14225 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectBufferivATI", )
  OGLM_AVAIL_CHECK(__glewGetObjectBufferivATI, glGetObjectBufferivATI)
  glGetObjectBufferivATI(buffer, pname, params);
  OGLM_CHECK_ERR("glGetObjectBufferivATI", )
#line 29100 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectBufferivATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectBufferivATI_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "buffer, pname");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 14236 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectBufferivATI", )
  OGLM_AVAIL_CHECK(__glewGetObjectBufferivATI, glGetObjectBufferivATI)
  GLint params[1];
  glGetObjectBufferivATI(buffer, pname, params);
  OGLM_CHECK_ERR("glGetObjectBufferivATI", )
  RETVAL = params[0];
#line 29127 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectLabel_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectLabel_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "identifier, name, bufSize, length, label");
    {
	GLenum	identifier = (int)SvIV(ST(0))
;
	GLuint	name = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLchar *	label = (GLchar *)SvPV_nolen(ST(4))
;
#line 14256 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectLabel", )
  OGLM_AVAIL_CHECK(__glewGetObjectLabel, glGetObjectLabel)
  glGetObjectLabel(identifier, name, bufSize, length, label);
  OGLM_CHECK_ERR("glGetObjectLabel", )
#line 29159 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectLabel_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectLabel_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "identifier, name");
    {
	GLenum	identifier = (int)SvIV(ST(0))
;
	GLuint	name = (unsigned int)SvUV(ST(1))
;
	GLchar *	RETVAL;
	dXSTARG;
#line 14269 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectLabel", )
  OGLM_AVAIL_CHECK(__glewGetObjectLabel, glGetObjectLabel)
  GLsizei bufSize;
  glGetIntegerv(GL_MAX_LABEL_LENGTH,&bufSize);
  GLsizei* length = NULL;
  GLchar label[bufSize];
  glGetObjectLabel(identifier, name, bufSize, length, label);
  OGLM_CHECK_ERR("glGetObjectLabel", )
  RETVAL = label;
#line 29190 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectLabelEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectLabelEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "type, object, bufSize, length, label");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	object = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLchar *	label = (GLchar *)SvPV_nolen(ST(4))
;
#line 14290 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectLabelEXT", )
  OGLM_AVAIL_CHECK(__glewGetObjectLabelEXT, glGetObjectLabelEXT)
  glGetObjectLabelEXT(type, object, bufSize, length, label);
  OGLM_CHECK_ERR("glGetObjectLabelEXT", )
#line 29222 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectLabelEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectLabelEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "type, object, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	object = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 14302 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectLabelEXT", )
  OGLM_AVAIL_CHECK(__glewGetObjectLabelEXT, glGetObjectLabelEXT)
  GLchar label[bufSize];
  GLsizei length[1];
  glGetObjectLabelEXT(type, object, bufSize, length, label);
  OGLM_CHECK_ERR("glGetObjectLabelEXT", )
  EXTEND(sp, 2);
  mPUSHs(newSViv(length[0]));
  mPUSHs(newSVpv(label,0));
#line 29254 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectParameterfvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectParameterfvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "obj, pname, params");
    {
	GLhandleARB	obj = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 14319 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectParameterfvARB", )
  OGLM_AVAIL_CHECK(__glewGetObjectParameterfvARB, glGetObjectParameterfvARB)
  glGetObjectParameterfvARB(obj, pname, params);
  OGLM_CHECK_ERR("glGetObjectParameterfvARB", )
#line 29280 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectParameterivAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectParameterivAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "objectType, name, pname, params");
    {
	GLenum	objectType = (int)SvIV(ST(0))
;
	GLuint	name = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 14332 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectParameterivAPPLE", )
  OGLM_AVAIL_CHECK(__glewGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE)
  glGetObjectParameterivAPPLE(objectType, name, pname, params);
  OGLM_CHECK_ERR("glGetObjectParameterivAPPLE", )
#line 29307 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectParameterivARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectParameterivARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "obj, pname, params");
    {
	GLhandleARB	obj = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 14344 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectParameterivARB", )
  OGLM_AVAIL_CHECK(__glewGetObjectParameterivARB, glGetObjectParameterivARB)
  glGetObjectParameterivARB(obj, pname, params);
  OGLM_CHECK_ERR("glGetObjectParameterivARB", )
#line 29332 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetObjectPtrLabel_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetObjectPtrLabel_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "ptr, bufSize, length, label");
    {
	void*	ptr = INT2PTR(void *,SvIV(ST(0)))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLchar *	label = (GLchar *)SvPV_nolen(ST(3))
;
#line 14359 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetObjectPtrLabel", )
  OGLM_AVAIL_CHECK(__glewGetObjectPtrLabel, glGetObjectPtrLabel)
  glGetObjectPtrLabel(ptr, bufSize, length, label);
  OGLM_CHECK_ERR("glGetObjectPtrLabel", )
#line 29360 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetOcclusionQueryivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetOcclusionQueryivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 14371 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetOcclusionQueryivNV", )
  OGLM_AVAIL_CHECK(__glewGetOcclusionQueryivNV, glGetOcclusionQueryivNV)
  glGetOcclusionQueryivNV(id, pname, params);
  OGLM_CHECK_ERR("glGetOcclusionQueryivNV", )
#line 29385 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetOcclusionQueryuivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetOcclusionQueryuivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 14383 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetOcclusionQueryuivNV", )
  OGLM_AVAIL_CHECK(__glewGetOcclusionQueryuivNV, glGetOcclusionQueryuivNV)
  glGetOcclusionQueryuivNV(id, pname, params);
  OGLM_CHECK_ERR("glGetOcclusionQueryuivNV", )
#line 29410 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathColorGenfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathColorGenfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "color, pname, value");
    {
	GLenum	color = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	value = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 14395 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathColorGenfvNV", )
  OGLM_AVAIL_CHECK(__glewGetPathColorGenfvNV, glGetPathColorGenfvNV)
  glGetPathColorGenfvNV(color, pname, value);
  OGLM_CHECK_ERR("glGetPathColorGenfvNV", )
#line 29435 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathColorGenivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathColorGenivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "color, pname, value");
    {
	GLenum	color = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	value = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 14407 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathColorGenivNV", )
  OGLM_AVAIL_CHECK(__glewGetPathColorGenivNV, glGetPathColorGenivNV)
  glGetPathColorGenivNV(color, pname, value);
  OGLM_CHECK_ERR("glGetPathColorGenivNV", )
#line 29460 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathCommandsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathCommandsNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "path, commands");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLubyte*	commands = INT2PTR(GLubyte *,SvIV(ST(1)))
;
#line 14418 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathCommandsNV", )
  OGLM_AVAIL_CHECK(__glewGetPathCommandsNV, glGetPathCommandsNV)
  glGetPathCommandsNV(path, commands);
  OGLM_CHECK_ERR("glGetPathCommandsNV", )
#line 29483 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathCoordsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathCoordsNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "path, coords");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLfloat*	coords = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 14429 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathCoordsNV", )
  OGLM_AVAIL_CHECK(__glewGetPathCoordsNV, glGetPathCoordsNV)
  glGetPathCoordsNV(path, coords);
  OGLM_CHECK_ERR("glGetPathCoordsNV", )
#line 29506 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathDashArrayNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathDashArrayNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "path, dashArray");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLfloat*	dashArray = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 14440 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathDashArrayNV", )
  OGLM_AVAIL_CHECK(__glewGetPathDashArrayNV, glGetPathDashArrayNV)
  glGetPathDashArrayNV(path, dashArray);
  OGLM_CHECK_ERR("glGetPathDashArrayNV", )
#line 29529 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathLengthNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathLengthNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "path, startSegment, numSegments");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLsizei	startSegment = (int)SvIV(ST(1))
;
	GLsizei	numSegments = (int)SvIV(ST(2))
;
	GLfloat	RETVAL;
	dXSTARG;
#line 14452 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathLengthNV", )
  OGLM_AVAIL_CHECK(__glewGetPathLengthNV, glGetPathLengthNV)
  RETVAL = glGetPathLengthNV(path, startSegment, numSegments);
  OGLM_CHECK_ERR("glGetPathLengthNV", )
#line 29556 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathMetricRangeNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathMetricRangeNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "metricQueryMask, firstPathName, numPaths, stride, metrics");
    {
	GLbitfield	metricQueryMask = (int)SvIV(ST(0))
;
	GLuint	firstPathName = (unsigned int)SvUV(ST(1))
;
	GLsizei	numPaths = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
	GLfloat*	metrics = INT2PTR(GLfloat *,SvIV(ST(4)))
;
#line 14468 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathMetricRangeNV", )
  OGLM_AVAIL_CHECK(__glewGetPathMetricRangeNV, glGetPathMetricRangeNV)
  glGetPathMetricRangeNV(metricQueryMask, firstPathName, numPaths, stride, metrics);
  OGLM_CHECK_ERR("glGetPathMetricRangeNV", )
#line 29587 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathMetricsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathMetricsNV_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics");
    {
	GLbitfield	metricQueryMask = (int)SvIV(ST(0))
;
	GLsizei	numPaths = (int)SvIV(ST(1))
;
	GLenum	pathNameType = (int)SvIV(ST(2))
;
	const void *	paths = INT2PTR(const void *,SvIV(ST(3)))
;
	GLuint	pathBase = (unsigned int)SvUV(ST(4))
;
	GLsizei	stride = (int)SvIV(ST(5))
;
	GLfloat *	metrics = INT2PTR(GLfloat *,SvIV(ST(6)))
;
#line 14484 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathMetricsNV", )
  OGLM_AVAIL_CHECK(__glewGetPathMetricsNV, glGetPathMetricsNV)
  glGetPathMetricsNV(metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics);
  OGLM_CHECK_ERR("glGetPathMetricsNV", )
#line 29620 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "path, pname, value");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	value = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 14496 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetPathParameterfvNV, glGetPathParameterfvNV)
  glGetPathParameterfvNV(path, pname, value);
  OGLM_CHECK_ERR("glGetPathParameterfvNV", )
#line 29645 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathParameterfvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathParameterfvNV_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "path, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 14507 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetPathParameterfvNV, glGetPathParameterfvNV)
  GLfloat* value = OGLM_ALLOC(4,GLfloat,value);
  glGetPathParameterfvNV(path, pname, value);
  OGLM_CHECK_ERR("glGetPathParameterfvNV", free(value);)
  OGLM_OUT_FINISH(value,4,newSVnv)
  free(value);
#line 29673 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "path, pname, value");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	value = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 14522 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathParameterivNV", )
  OGLM_AVAIL_CHECK(__glewGetPathParameterivNV, glGetPathParameterivNV)
  glGetPathParameterivNV(path, pname, value);
  OGLM_CHECK_ERR("glGetPathParameterivNV", )
#line 29699 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathParameterivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathParameterivNV_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "path, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 14533 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathParameterivNV", )
  OGLM_AVAIL_CHECK(__glewGetPathParameterivNV, glGetPathParameterivNV)
  GLint* value = OGLM_ALLOC(4,GLint,value);
  glGetPathParameterivNV(path, pname, value);
  OGLM_CHECK_ERR("glGetPathParameterivNV", free(value);)
  OGLM_OUT_FINISH(value,4,newSViv)
  free(value);
#line 29727 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathSpacingNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathSpacingNV_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing");
    {
	GLenum	pathListMode = (int)SvIV(ST(0))
;
	GLsizei	numPaths = (int)SvIV(ST(1))
;
	GLenum	pathNameType = (int)SvIV(ST(2))
;
	const void *	paths = INT2PTR(const void *,SvIV(ST(3)))
;
	GLuint	pathBase = (unsigned int)SvUV(ST(4))
;
	GLfloat	advanceScale = (float)SvNV(ST(5))
;
	GLfloat	kerningScale = (float)SvNV(ST(6))
;
	GLenum	transformType = (int)SvIV(ST(7))
;
	GLfloat *	returnedSpacing = INT2PTR(GLfloat *,SvIV(ST(8)))
;
#line 14554 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathSpacingNV", )
  OGLM_AVAIL_CHECK(__glewGetPathSpacingNV, glGetPathSpacingNV)
  glGetPathSpacingNV(pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing);
  OGLM_CHECK_ERR("glGetPathSpacingNV", )
#line 29765 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathTexGenfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathTexGenfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texCoordSet, pname, value");
    {
	GLenum	texCoordSet = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	value = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 14566 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathTexGenfvNV", )
  OGLM_AVAIL_CHECK(__glewGetPathTexGenfvNV, glGetPathTexGenfvNV)
  glGetPathTexGenfvNV(texCoordSet, pname, value);
  OGLM_CHECK_ERR("glGetPathTexGenfvNV", )
#line 29790 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPathTexGenivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPathTexGenivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texCoordSet, pname, value");
    {
	GLenum	texCoordSet = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	value = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 14578 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPathTexGenivNV", )
  OGLM_AVAIL_CHECK(__glewGetPathTexGenivNV, glGetPathTexGenivNV)
  glGetPathTexGenivNV(texCoordSet, pname, value);
  OGLM_CHECK_ERR("glGetPathTexGenivNV", )
#line 29815 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfCounterInfoINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfCounterInfoINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue");
    {
	GLuint	queryId = (unsigned int)SvUV(ST(0))
;
	GLuint	counterId = (unsigned int)SvUV(ST(1))
;
	GLuint	counterNameLength = (unsigned int)SvUV(ST(2))
;
	GLchar*	counterName = (GLchar *)SvPV_nolen(ST(3))
;
	GLuint	counterDescLength = (unsigned int)SvUV(ST(4))
;
	GLchar *	counterDesc = (GLchar *)SvPV_nolen(ST(5))
;
	GLuint *	counterOffset = INT2PTR(GLuint *,SvIV(ST(6)))
;
	GLuint *	counterDataSize = INT2PTR(GLuint *,SvIV(ST(7)))
;
	GLuint *	counterTypeEnum = INT2PTR(GLuint *,SvIV(ST(8)))
;
	GLuint *	counterDataTypeEnum = INT2PTR(GLuint *,SvIV(ST(9)))
;
	GLuint64 *	rawCounterMaxValue = INT2PTR(GLuint64 *,SvIV(ST(10)))
;
#line 14598 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfCounterInfoINTEL", )
  OGLM_AVAIL_CHECK(__glewGetPerfCounterInfoINTEL, glGetPerfCounterInfoINTEL)
  glGetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue);
  OGLM_CHECK_ERR("glGetPerfCounterInfoINTEL", )
#line 29856 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCounterDataAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCounterDataAMD_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "monitor, pname, dataSize, data, bytesWritten");
    {
	GLuint	monitor = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLsizei	dataSize = (int)SvIV(ST(2))
;
	GLuint*	data = INT2PTR(GLuint *,SvIV(ST(3)))
;
	GLint *	bytesWritten = INT2PTR(GLint *,SvIV(ST(4)))
;
#line 14612 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfMonitorCounterDataAMD", )
  OGLM_AVAIL_CHECK(__glewGetPerfMonitorCounterDataAMD, glGetPerfMonitorCounterDataAMD)
  glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten);
  OGLM_CHECK_ERR("glGetPerfMonitorCounterDataAMD", )
#line 29885 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCounterDataAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCounterDataAMD_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "monitor, pname, dataSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	monitor = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLsizei	dataSize = (int)SvIV(ST(2))
;
#line 14624 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfMonitorCounterDataAMD", )
  OGLM_AVAIL_CHECK(__glewGetPerfMonitorCounterDataAMD, glGetPerfMonitorCounterDataAMD)
  GLuint* data = OGLM_ALLOC(dataSize/4,GLuint,data);
  GLint bytesWritten[1];
  glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten);
  OGLM_CHECK_ERR("glGetPerfMonitorCounterDataAMD", free(data);)
  EXTEND(sp, 2);
  OGLM_PUSH_ARRAY(glGetPerfMonitorCounterDataAMD, newSVuv, data, dataSize/4)
  mPUSHs(newSViv(bytesWritten[0]));
  free(data);
#line 29918 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCounterInfoAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCounterInfoAMD_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "group, counter, pname, data");
    {
	GLuint	group = (unsigned int)SvUV(ST(0))
;
	GLuint	counter = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	void *	data = INT2PTR(void *,SvIV(ST(3)))
;
#line 14643 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfMonitorCounterInfoAMD", )
  OGLM_AVAIL_CHECK(__glewGetPerfMonitorCounterInfoAMD, glGetPerfMonitorCounterInfoAMD)
  glGetPerfMonitorCounterInfoAMD(group, counter, pname, data);
  OGLM_CHECK_ERR("glGetPerfMonitorCounterInfoAMD", )
#line 29946 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCounterStringAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCounterStringAMD_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "group, counter, bufSize, length, counterString");
    {
	GLuint	group = (unsigned int)SvUV(ST(0))
;
	GLuint	counter = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLchar *	counterString = (GLchar *)SvPV_nolen(ST(4))
;
#line 14657 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfMonitorCounterStringAMD", )
  OGLM_AVAIL_CHECK(__glewGetPerfMonitorCounterStringAMD, glGetPerfMonitorCounterStringAMD)
  glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString);
  OGLM_CHECK_ERR("glGetPerfMonitorCounterStringAMD", )
#line 29975 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCounterStringAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCounterStringAMD_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "group, counter, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	group = (unsigned int)SvUV(ST(0))
;
	GLuint	counter = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 14669 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfMonitorCounterStringAMD", )
  OGLM_AVAIL_CHECK(__glewGetPerfMonitorCounterStringAMD, glGetPerfMonitorCounterStringAMD)
  GLchar counterString[bufSize];
  GLsizei length[1];
  glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString);
  OGLM_CHECK_ERR("glGetPerfMonitorCounterStringAMD", )
  EXTEND(sp, 2);
  mPUSHs(newSViv(length[0]));
  mPUSHs(newSVpv(counterString,0));
#line 30007 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCountersAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCountersAMD_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "group, numCounters, maxActiveCounters, counterSize, counters");
    {
	GLuint	group = (unsigned int)SvUV(ST(0))
;
	GLint*	numCounters = INT2PTR(GLint *,SvIV(ST(1)))
;
	GLint *	maxActiveCounters = INT2PTR(GLint *,SvIV(ST(2)))
;
	GLsizei	counterSize = (int)SvIV(ST(3))
;
	GLuint *	counters = INT2PTR(GLuint *,SvIV(ST(4)))
;
#line 14688 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfMonitorCountersAMD", )
  OGLM_AVAIL_CHECK(__glewGetPerfMonitorCountersAMD, glGetPerfMonitorCountersAMD)
  glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters);
  OGLM_CHECK_ERR("glGetPerfMonitorCountersAMD", )
#line 30037 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCountersAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorCountersAMD_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "group, counterSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	group = (unsigned int)SvUV(ST(0))
;
	GLsizei	counterSize = (int)SvIV(ST(1))
;
#line 14699 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfMonitorCountersAMD", )
  OGLM_AVAIL_CHECK(__glewGetPerfMonitorCountersAMD, glGetPerfMonitorCountersAMD)
  GLuint *counters = OGLM_ALLOC(counterSize,GLuint,counters);
  GLint maxActiveCounters[1];
  GLint numCounters[1];
  glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters);
  OGLM_CHECK_ERR("glGetPerfMonitorCountersAMD", free(counters);)
  EXTEND(sp, 3);
  mPUSHs(newSViv(numCounters[0]));
  mPUSHs(newSViv(maxActiveCounters[0]));
  OGLM_PUSH_ARRAY(glGetPerfMonitorCountersAMD, newSVuv, counters, counterSize)
  free(counters);
#line 30070 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorGroupStringAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorGroupStringAMD_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "group, bufSize, length, groupString");
    {
	GLuint	group = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLchar *	groupString = (GLchar *)SvPV_nolen(ST(3))
;
#line 14720 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfMonitorGroupStringAMD", )
  OGLM_AVAIL_CHECK(__glewGetPerfMonitorGroupStringAMD, glGetPerfMonitorGroupStringAMD)
  glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString);
  OGLM_CHECK_ERR("glGetPerfMonitorGroupStringAMD", )
#line 30098 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorGroupStringAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorGroupStringAMD_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "group, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	group = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
#line 14731 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfMonitorGroupStringAMD", )
  OGLM_AVAIL_CHECK(__glewGetPerfMonitorGroupStringAMD, glGetPerfMonitorGroupStringAMD)
  GLchar groupString[bufSize];
  GLsizei length[1];
  glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString);
  OGLM_CHECK_ERR("glGetPerfMonitorGroupStringAMD", )
  EXTEND(sp, 2);
  mPUSHs(newSViv(length[0]));
  mPUSHs(newSVpv(groupString,0));
#line 30128 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorGroupsAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorGroupsAMD_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "numGroups, groupsSize, groups");
    {
	GLint*	numGroups = INT2PTR(GLint *,SvIV(ST(0)))
;
	GLsizei	groupsSize = (int)SvIV(ST(1))
;
	GLuint *	groups = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 14748 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfMonitorGroupsAMD", )
  OGLM_AVAIL_CHECK(__glewGetPerfMonitorGroupsAMD, glGetPerfMonitorGroupsAMD)
  glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups);
  OGLM_CHECK_ERR("glGetPerfMonitorGroupsAMD", )
#line 30154 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorGroupsAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfMonitorGroupsAMD_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "groupsSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	groupsSize = (int)SvIV(ST(0))
;
#line 14758 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfMonitorGroupsAMD", )
  OGLM_AVAIL_CHECK(__glewGetPerfMonitorGroupsAMD, glGetPerfMonitorGroupsAMD)
  GLuint *groups = OGLM_ALLOC(groupsSize,GLuint,groups);
  GLint numGroups[1];
  glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups);
  OGLM_CHECK_ERR("glGetPerfMonitorGroupsAMD", free(groups);)
  EXTEND(sp, 2);
  mPUSHs(newSViv(numGroups[0]));
  OGLM_PUSH_ARRAY(glGetPerfMonitorGroupsAMD, newSVuv, groups, groupsSize)
  free(groups);
#line 30183 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfQueryDataINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfQueryDataINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "queryHandle, flags, dataSize, data, bytesWritten");
    {
	GLuint	queryHandle = (unsigned int)SvUV(ST(0))
;
	GLuint	flags = (unsigned int)SvUV(ST(1))
;
	GLsizei	dataSize = (int)SvIV(ST(2))
;
	void *	data = INT2PTR(void *,SvIV(ST(3)))
;
	GLuint *	bytesWritten = INT2PTR(GLuint *,SvIV(ST(4)))
;
#line 14778 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfQueryDataINTEL", )
  OGLM_AVAIL_CHECK(__glewGetPerfQueryDataINTEL, glGetPerfQueryDataINTEL)
  glGetPerfQueryDataINTEL(queryHandle, flags, dataSize, data, bytesWritten);
  OGLM_CHECK_ERR("glGetPerfQueryDataINTEL", )
#line 30213 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfQueryIdByNameINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfQueryIdByNameINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "queryName, queryId");
    {
	GLchar*	queryName = (GLchar *)SvPV_nolen(ST(0))
;
	GLuint *	queryId = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 14789 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfQueryIdByNameINTEL", )
  OGLM_AVAIL_CHECK(__glewGetPerfQueryIdByNameINTEL, glGetPerfQueryIdByNameINTEL)
  glGetPerfQueryIdByNameINTEL(queryName, queryId);
  OGLM_CHECK_ERR("glGetPerfQueryIdByNameINTEL", )
#line 30236 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPerfQueryInfoINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPerfQueryInfoINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask");
    {
	GLuint	queryId = (unsigned int)SvUV(ST(0))
;
	GLuint	queryNameLength = (unsigned int)SvUV(ST(1))
;
	GLchar*	queryName = (GLchar *)SvPV_nolen(ST(2))
;
	GLuint *	dataSize = INT2PTR(GLuint *,SvIV(ST(3)))
;
	GLuint *	noCounters = INT2PTR(GLuint *,SvIV(ST(4)))
;
	GLuint *	noInstances = INT2PTR(GLuint *,SvIV(ST(5)))
;
	GLuint *	capsMask = INT2PTR(GLuint *,SvIV(ST(6)))
;
#line 14805 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPerfQueryInfoINTEL", )
  OGLM_AVAIL_CHECK(__glewGetPerfQueryInfoINTEL, glGetPerfQueryInfoINTEL)
  glGetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask);
  OGLM_CHECK_ERR("glGetPerfQueryInfoINTEL", )
#line 30269 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPixelMapfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPixelMapfv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "map, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLfloat *	values = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 14816 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPixelMapfv", )
  glGetPixelMapfv(map, values);
  OGLM_CHECK_ERR("glGetPixelMapfv", )
#line 30291 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPixelMapuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPixelMapuiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "map, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLuint *	values = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 14826 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPixelMapuiv", )
  glGetPixelMapuiv(map, values);
  OGLM_CHECK_ERR("glGetPixelMapuiv", )
#line 30313 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPixelMapusv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPixelMapusv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "map, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLushort *	values = INT2PTR(GLushort *,SvIV(ST(1)))
;
#line 14836 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPixelMapusv", )
  glGetPixelMapusv(map, values);
  OGLM_CHECK_ERR("glGetPixelMapusv", )
#line 30335 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPixelTransformParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPixelTransformParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 14847 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPixelTransformParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetPixelTransformParameterfvEXT, glGetPixelTransformParameterfvEXT)
  glGetPixelTransformParameterfvEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetPixelTransformParameterfvEXT", )
#line 30360 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPixelTransformParameterfvSGI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPixelTransformParameterfvSGI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 14859 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPixelTransformParameterfvSGI", )
  OGLM_AVAIL_CHECK(__glewGetPixelTransformParameterfvSGI, glGetPixelTransformParameterfvSGI)
  glGetPixelTransformParameterfvSGI(target, pname, params);
  OGLM_CHECK_ERR("glGetPixelTransformParameterfvSGI", )
#line 30385 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPixelTransformParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPixelTransformParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 14871 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPixelTransformParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetPixelTransformParameterivEXT, glGetPixelTransformParameterivEXT)
  glGetPixelTransformParameterivEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetPixelTransformParameterivEXT", )
#line 30410 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPixelTransformParameterivSGI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPixelTransformParameterivSGI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 14883 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPixelTransformParameterivSGI", )
  OGLM_AVAIL_CHECK(__glewGetPixelTransformParameterivSGI, glGetPixelTransformParameterivSGI)
  glGetPixelTransformParameterivSGI(target, pname, params);
  OGLM_CHECK_ERR("glGetPixelTransformParameterivSGI", )
#line 30435 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPointerIndexedvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPointerIndexedvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	void**	data = INT2PTR(void **,SvIV(ST(2)))
;
#line 14895 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPointerIndexedvEXT", )
  OGLM_AVAIL_CHECK(__glewGetPointerIndexedvEXT, glGetPointerIndexedvEXT)
  glGetPointerIndexedvEXT(target, index, data);
  OGLM_CHECK_ERR("glGetPointerIndexedvEXT", )
#line 30460 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPointeri_vEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPointeri_vEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "pname, index, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	void**	params = INT2PTR(void **,SvIV(ST(2)))
;
#line 14907 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPointeri_vEXT", )
  OGLM_AVAIL_CHECK(__glewGetPointeri_vEXT, glGetPointeri_vEXT)
  glGetPointeri_vEXT(pname, index, params);
  OGLM_CHECK_ERR("glGetPointeri_vEXT", )
#line 30485 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPointerv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPointerv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	void* *	params = INT2PTR(void **,SvIV(ST(1)))
;
#line 14921 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPointerv", )
  glGetPointerv(pname, params);
  OGLM_CHECK_ERR("glGetPointerv", )
#line 30508 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetPolygonStipple_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetPolygonStipple_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLubyte *	mask = INT2PTR(GLubyte *,SvIV(ST(0)))
;
#line 14930 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetPolygonStipple", )
  glGetPolygonStipple(mask);
  OGLM_CHECK_ERR("glGetPolygonStipple", )
#line 30528 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProcAddressREGAL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProcAddressREGAL_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	const GLchar *	name = (const GLchar *)SvPV_nolen(ST(0))
;
	void *	RETVAL;
	dXSTARG;
#line 14939 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProcAddressREGAL", )
  OGLM_AVAIL_CHECK(__glewGetProcAddressREGAL, glGetProcAddressREGAL)
  RETVAL = glGetProcAddressREGAL(name);
  OGLM_CHECK_ERR("glGetProcAddressREGAL", )
#line 30551 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramBinary_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramBinary_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, bufSize, length, binaryFormat, binary");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLenum *	binaryFormat = INT2PTR(GLenum *,SvIV(ST(3)))
;
	void*	binary = INT2PTR(void *,SvIV(ST(4)))
;
#line 14955 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramBinary", )
  OGLM_AVAIL_CHECK(__glewGetProgramBinary, glGetProgramBinary)
  glGetProgramBinary(program, bufSize, length, binaryFormat, binary);
  OGLM_CHECK_ERR("glGetProgramBinary", )
#line 30582 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramBinary_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramBinary_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "program");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
#line 14965 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramBinary", )
  OGLM_AVAIL_CHECK(__glewGetProgramBinary, glGetProgramBinary)
  OGLM_AVAIL_CHECK(__glewGetProgramiv, glGetProgramiv)
  GLsizei bufSize;
  glGetProgramiv(program,GL_PROGRAM_BINARY_LENGTH,&bufSize);
  GLsizei* length = NULL;
  char binary[bufSize];
  GLenum binaryFormat[1];
  glGetProgramBinary(program, bufSize, length, binaryFormat, binary);
  OGLM_CHECK_ERR("glGetProgramBinary", )
  EXTEND(sp, 2);
  mPUSHs(newSViv(binaryFormat[0]));
  mPUSHs(newSVpv(binary,bufSize));
#line 30614 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramBinaryOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramBinaryOES_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, bufSize, length, binaryFormat, binary");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLenum *	binaryFormat = INT2PTR(GLenum *,SvIV(ST(3)))
;
	void*	binary = INT2PTR(void *,SvIV(ST(4)))
;
#line 14988 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramBinaryOES", )
  OGLM_AVAIL_CHECK(__glewGetProgramBinaryOES, glGetProgramBinaryOES)
  glGetProgramBinaryOES(program, bufSize, length, binaryFormat, binary);
  OGLM_CHECK_ERR("glGetProgramBinaryOES", )
#line 30644 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramEnvParameterdvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramEnvParameterdvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLdouble*	params = INT2PTR(GLdouble *,SvIV(ST(2)))
;
#line 15000 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramEnvParameterdvARB", )
  OGLM_AVAIL_CHECK(__glewGetProgramEnvParameterdvARB, glGetProgramEnvParameterdvARB)
  glGetProgramEnvParameterdvARB(target, index, params);
  OGLM_CHECK_ERR("glGetProgramEnvParameterdvARB", )
#line 30669 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramEnvParameterdvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramEnvParameterdvARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 15011 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramEnvParameterdvARB", )
  OGLM_AVAIL_CHECK(__glewGetProgramEnvParameterdvARB, glGetProgramEnvParameterdvARB)
  GLdouble* params = OGLM_ALLOC(4,GLdouble,params);
  glGetProgramEnvParameterdvARB(target, index, params);
  OGLM_CHECK_ERR("glGetProgramEnvParameterdvARB", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 30697 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramEnvParameterfvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramEnvParameterfvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 15026 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramEnvParameterfvARB", )
  OGLM_AVAIL_CHECK(__glewGetProgramEnvParameterfvARB, glGetProgramEnvParameterfvARB)
  glGetProgramEnvParameterfvARB(target, index, params);
  OGLM_CHECK_ERR("glGetProgramEnvParameterfvARB", )
#line 30723 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramEnvParameterfvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramEnvParameterfvARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 15037 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramEnvParameterfvARB", )
  OGLM_AVAIL_CHECK(__glewGetProgramEnvParameterfvARB, glGetProgramEnvParameterfvARB)
  GLfloat* params = OGLM_ALLOC(4,GLfloat,params);
  glGetProgramEnvParameterfvARB(target, index, params);
  OGLM_CHECK_ERR("glGetProgramEnvParameterfvARB", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 30751 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramInfoLog_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramInfoLog_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, bufSize, length, infoLog");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLchar*	infoLog = (GLchar *)SvPV_nolen(ST(3))
;
#line 15053 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramInfoLog", )
  OGLM_AVAIL_CHECK(__glewGetProgramInfoLog, glGetProgramInfoLog)
  glGetProgramInfoLog(program, bufSize, length, infoLog);
  OGLM_CHECK_ERR("glGetProgramInfoLog", )
#line 30779 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramInfoLog_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramInfoLog_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "program");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLchar *	RETVAL;
	dXSTARG;
#line 15063 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramInfoLog", )
  OGLM_AVAIL_CHECK(__glewGetProgramInfoLog, glGetProgramInfoLog)
  OGLM_AVAIL_CHECK(__glewGetProgramiv, glGetProgramiv)
  GLsizei bufSize;
  glGetProgramiv(program,GL_INFO_LOG_LENGTH,&bufSize);
  GLsizei* length = NULL;
  GLchar infoLog[bufSize];
  glGetProgramInfoLog(program, bufSize, length, infoLog);
  OGLM_CHECK_ERR("glGetProgramInfoLog", )
  RETVAL = infoLog;
#line 30808 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramInterfaceiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramInterfaceiv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, programInterface, pname, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 15084 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramInterfaceiv", )
  OGLM_AVAIL_CHECK(__glewGetProgramInterfaceiv, glGetProgramInterfaceiv)
  glGetProgramInterfaceiv(program, programInterface, pname, params);
  OGLM_CHECK_ERR("glGetProgramInterfaceiv", )
#line 30838 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramInterfaceiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramInterfaceiv_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, programInterface, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 15096 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramInterfaceiv", )
  OGLM_AVAIL_CHECK(__glewGetProgramInterfaceiv, glGetProgramInterfaceiv)
  OGLM_SIZE_ENUM(ProgramInterfacePName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetProgramInterfaceiv(program, programInterface, pname, params);
  OGLM_CHECK_ERR("glGetProgramInterfaceiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 30869 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramLocalParameterdvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramLocalParameterdvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLdouble*	params = INT2PTR(GLdouble *,SvIV(ST(2)))
;
#line 15112 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramLocalParameterdvARB", )
  OGLM_AVAIL_CHECK(__glewGetProgramLocalParameterdvARB, glGetProgramLocalParameterdvARB)
  glGetProgramLocalParameterdvARB(target, index, params);
  OGLM_CHECK_ERR("glGetProgramLocalParameterdvARB", )
#line 30895 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramLocalParameterdvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramLocalParameterdvARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 15123 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramLocalParameterdvARB", )
  OGLM_AVAIL_CHECK(__glewGetProgramLocalParameterdvARB, glGetProgramLocalParameterdvARB)
  GLdouble* params = OGLM_ALLOC(4,GLdouble,params);
  glGetProgramLocalParameterdvARB(target, index, params);
  OGLM_CHECK_ERR("glGetProgramLocalParameterdvARB", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 30923 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramLocalParameterfvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramLocalParameterfvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 15138 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramLocalParameterfvARB", )
  OGLM_AVAIL_CHECK(__glewGetProgramLocalParameterfvARB, glGetProgramLocalParameterfvARB)
  glGetProgramLocalParameterfvARB(target, index, params);
  OGLM_CHECK_ERR("glGetProgramLocalParameterfvARB", )
#line 30949 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramLocalParameterfvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramLocalParameterfvARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 15149 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramLocalParameterfvARB", )
  OGLM_AVAIL_CHECK(__glewGetProgramLocalParameterfvARB, glGetProgramLocalParameterfvARB)
  GLfloat* params = OGLM_ALLOC(4,GLfloat,params);
  glGetProgramLocalParameterfvARB(target, index, params);
  OGLM_CHECK_ERR("glGetProgramLocalParameterfvARB", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 30977 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramNamedParameterdvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramNamedParameterdvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "id, len, name, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLsizei	len = (int)SvIV(ST(1))
;
	const GLubyte*        name = (const GLubyte *)SvPV_nolen(ST(2))
;
	GLdouble *	params = INT2PTR(GLdouble *,SvIV(ST(3)))
;
#line 15165 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramNamedParameterdvNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV)
  glGetProgramNamedParameterdvNV(id, len, name, params);
  OGLM_CHECK_ERR("glGetProgramNamedParameterdvNV", )
#line 31005 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramNamedParameterdvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramNamedParameterdvNV_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, len, name");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLsizei	len = (int)SvIV(ST(1))
;
	const GLubyte*        name = (const GLubyte *)SvPV_nolen(ST(2))
;
#line 15177 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramNamedParameterdvNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV)
  GLdouble *params = OGLM_ALLOC(4,GLdouble,params);
  glGetProgramNamedParameterdvNV(id, len, name, params);
  OGLM_CHECK_ERR("glGetProgramNamedParameterdvNV", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 31035 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramNamedParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramNamedParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "id, len, name, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLsizei	len = (int)SvIV(ST(1))
;
	const GLubyte*        name = (const GLubyte *)SvPV_nolen(ST(2))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 15193 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramNamedParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV)
  glGetProgramNamedParameterfvNV(id, len, name, params);
  OGLM_CHECK_ERR("glGetProgramNamedParameterfvNV", )
#line 31063 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramNamedParameterfvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramNamedParameterfvNV_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, len, name");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLsizei	len = (int)SvIV(ST(1))
;
	const GLubyte*        name = (const GLubyte *)SvPV_nolen(ST(2))
;
#line 15205 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramNamedParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV)
  GLfloat *params = OGLM_ALLOC(4,GLfloat,params);
  glGetProgramNamedParameterfvNV(id, len, name, params);
  OGLM_CHECK_ERR("glGetProgramNamedParameterfvNV", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 31093 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramParameterdvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramParameterdvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLdouble*	params = INT2PTR(GLdouble *,SvIV(ST(3)))
;
#line 15221 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramParameterdvNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramParameterdvNV, glGetProgramParameterdvNV)
  glGetProgramParameterdvNV(target, index, pname, params);
  OGLM_CHECK_ERR("glGetProgramParameterdvNV", )
#line 31121 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramParameterdvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramParameterdvNV_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 15233 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramParameterdvNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramParameterdvNV, glGetProgramParameterdvNV)
  GLdouble* params = OGLM_ALLOC(4,GLdouble,params);
  glGetProgramParameterdvNV(target, index, pname, params);
  OGLM_CHECK_ERR("glGetProgramParameterdvNV", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 31151 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 15249 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramParameterfvNV, glGetProgramParameterfvNV)
  glGetProgramParameterfvNV(target, index, pname, params);
  OGLM_CHECK_ERR("glGetProgramParameterfvNV", )
#line 31179 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramParameterfvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramParameterfvNV_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 15261 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramParameterfvNV, glGetProgramParameterfvNV)
  GLfloat* params = OGLM_ALLOC(4,GLfloat,params);
  glGetProgramParameterfvNV(target, index, pname, params);
  OGLM_CHECK_ERR("glGetProgramParameterfvNV", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 31209 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramPipelineInfoLog_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramPipelineInfoLog_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "pipeline, bufSize, length, infoLog");
    {
	GLuint	pipeline = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLchar *	infoLog = (GLchar *)SvPV_nolen(ST(3))
;
#line 15277 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramPipelineInfoLog", )
  OGLM_AVAIL_CHECK(__glewGetProgramPipelineInfoLog, glGetProgramPipelineInfoLog)
  glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);
  OGLM_CHECK_ERR("glGetProgramPipelineInfoLog", )
#line 31237 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramPipelineInfoLog_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramPipelineInfoLog_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pipeline");
    {
	GLuint	pipeline = (unsigned int)SvUV(ST(0))
;
	GLchar *	RETVAL;
	dXSTARG;
#line 15287 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramPipelineInfoLog", )
  OGLM_AVAIL_CHECK(__glewGetProgramPipelineInfoLog, glGetProgramPipelineInfoLog)
  OGLM_AVAIL_CHECK(__glewGetProgramPipelineiv, glGetProgramPipelineiv)
  GLsizei bufSize;
  glGetProgramPipelineiv(pipeline,GL_INFO_LOG_LENGTH,&bufSize);
  GLsizei* length = NULL;
  GLchar infoLog[bufSize];
  glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);
  OGLM_CHECK_ERR("glGetProgramPipelineInfoLog", )
  RETVAL = infoLog;
#line 31266 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramPipelineiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramPipelineiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "pipeline, pname, params");
    {
	GLuint	pipeline = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 15307 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramPipelineiv", )
  OGLM_AVAIL_CHECK(__glewGetProgramPipelineiv, glGetProgramPipelineiv)
  glGetProgramPipelineiv(pipeline, pname, params);
  OGLM_CHECK_ERR("glGetProgramPipelineiv", )
#line 31294 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramPipelineiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramPipelineiv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pipeline, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	pipeline = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 15318 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramPipelineiv", )
  OGLM_AVAIL_CHECK(__glewGetProgramPipelineiv, glGetProgramPipelineiv)
  OGLM_SIZE_ENUM(PipelineParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetProgramPipelineiv(pipeline, pname, params);
  OGLM_CHECK_ERR("glGetProgramPipelineiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 31323 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceIndex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceIndex)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, programInterface, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(2))
;
	GLuint	RETVAL;
	dXSTARG;
#line 15334 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramResourceIndex", )
  OGLM_AVAIL_CHECK(__glewGetProgramResourceIndex, glGetProgramResourceIndex)
  RETVAL = glGetProgramResourceIndex(program, programInterface, name);
  OGLM_CHECK_ERR("glGetProgramResourceIndex", )
#line 31351 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceLocation); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceLocation)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, programInterface, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(2))
;
	GLint	RETVAL;
	dXSTARG;
#line 15348 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramResourceLocation", )
  OGLM_AVAIL_CHECK(__glewGetProgramResourceLocation, glGetProgramResourceLocation)
  RETVAL = glGetProgramResourceLocation(program, programInterface, name);
  OGLM_CHECK_ERR("glGetProgramResourceLocation", )
#line 31380 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceLocationIndex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceLocationIndex)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, programInterface, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(2))
;
	GLint	RETVAL;
	dXSTARG;
#line 15362 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramResourceLocationIndex", )
  OGLM_AVAIL_CHECK(__glewGetProgramResourceLocationIndex, glGetProgramResourceLocationIndex)
  RETVAL = glGetProgramResourceLocationIndex(program, programInterface, name);
  OGLM_CHECK_ERR("glGetProgramResourceLocationIndex", )
#line 31409 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceLocationIndexEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceLocationIndexEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, programInterface, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(2))
;
	GLint	RETVAL;
	dXSTARG;
#line 15376 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramResourceLocationIndexEXT", )
  OGLM_AVAIL_CHECK(__glewGetProgramResourceLocationIndexEXT, glGetProgramResourceLocationIndexEXT)
  RETVAL = glGetProgramResourceLocationIndexEXT(program, programInterface, name);
  OGLM_CHECK_ERR("glGetProgramResourceLocationIndexEXT", )
#line 31438 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceName_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceName_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "program, programInterface, index, bufSize, length, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	bufSize = (int)SvIV(ST(3))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(4)))
;
	GLchar *	name = (GLchar *)SvPV_nolen(ST(5))
;
#line 15393 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramResourceName", )
  OGLM_AVAIL_CHECK(__glewGetProgramResourceName, glGetProgramResourceName)
  glGetProgramResourceName(program, programInterface, index, bufSize, length, name);
  OGLM_CHECK_ERR("glGetProgramResourceName", )
#line 31471 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceName_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceName_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, programInterface, index");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLchar *	RETVAL;
	dXSTARG;
#line 15405 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramResourceName", )
  OGLM_AVAIL_CHECK(__glewGetProgramResourceName, glGetProgramResourceName)
  OGLM_AVAIL_CHECK(__glewGetProgramResourceiv, glGetProgramResourceiv)
  GLsizei bufSize;
  glGetProgramResourceiv(program,programInterface,index,1,&(GLenum){GL_NAME_LENGTH},sizeof(bufSize),NULL,&bufSize);
  GLsizei* length = NULL;
  GLchar name[bufSize];
  glGetProgramResourceName(program, programInterface, index, bufSize, length, name);
  OGLM_CHECK_ERR("glGetProgramResourceName", )
  RETVAL = name;
#line 31504 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourcefvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourcefvNV_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "program, programInterface, index, propCount, props, count, length, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	propCount = (int)SvIV(ST(3))
;
	const GLenum*	props = INT2PTR(const GLenum *,SvIV(ST(4)))
;
	GLsizei	count = (int)SvIV(ST(5))
;
	GLsizei *	length = INT2PTR(GLsizei *,SvIV(ST(6)))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(7)))
;
#line 15430 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramResourcefvNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramResourcefvNV, glGetProgramResourcefvNV)
  glGetProgramResourcefvNV(program, programInterface, index, propCount, props, count, length, params);
  OGLM_CHECK_ERR("glGetProgramResourcefvNV", )
#line 31542 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourcefvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourcefvNV_p)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "program, programInterface, index, propCount, props, count");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	propCount = (int)SvIV(ST(3))
;
	const GLenum*	props = INT2PTR(const GLenum *,SvIV(ST(4)))
;
	GLsizei	count = (int)SvIV(ST(5))
;
#line 15445 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramResourcefvNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramResourcefvNV, glGetProgramResourcefvNV)
  GLfloat *params = OGLM_ALLOC(count,GLfloat,params);
  GLsizei length[1];
  glGetProgramResourcefvNV(program, programInterface, index, propCount, props, count, length, params);
  OGLM_CHECK_ERR("glGetProgramResourcefvNV", free(params);)
  EXTEND(sp, 2);
  mPUSHs(newSViv(length[0]));
  OGLM_PUSH_ARRAY(glGetProgramResourcefvNV, newSVnv, params, count)
  free(params);
#line 31581 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceiv_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "program, programInterface, index, propCount, props, count, length, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	propCount = (int)SvIV(ST(3))
;
	const GLenum*	props = INT2PTR(const GLenum *,SvIV(ST(4)))
;
	GLsizei	count = (int)SvIV(ST(5))
;
	GLsizei *	length = INT2PTR(GLsizei *,SvIV(ST(6)))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(7)))
;
#line 15468 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramResourceiv", )
  OGLM_AVAIL_CHECK(__glewGetProgramResourceiv, glGetProgramResourceiv)
  glGetProgramResourceiv(program, programInterface, index, propCount, props, count, length, params);
  OGLM_CHECK_ERR("glGetProgramResourceiv", )
#line 31617 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramResourceiv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, programInterface, index, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	programInterface = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
#line 15480 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramResourceiv", )
  OGLM_AVAIL_CHECK(__glewGetProgramResourceiv, glGetProgramResourceiv)
  GLsizei propCount = items-3;
  GLsizei count = propCount;
  GLsizei *length = NULL;
  GLint *params = OGLM_ALLOC(count,GLint,params);
  GLenum* props = OGLM_GET_VARARGS(props,3,GLenum,IV,propCount);
  glGetProgramResourceiv((GLuint )program, (GLenum )programInterface, (GLuint )index, (GLsizei )propCount, (const GLenum* )props, (GLsizei )count, (GLsizei *)length, (GLint *)params);
  OGLM_CHECK_ERR("glGetProgramResourceiv", free(params);free(props);)
  OGLM_OUT_FINISH(params,count,newSViv)
  free(params);free(props);
#line 31651 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramStageiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramStageiv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, shadertype, pname, values");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	shadertype = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	values = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 15500 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramStageiv", )
  OGLM_AVAIL_CHECK(__glewGetProgramStageiv, glGetProgramStageiv)
  glGetProgramStageiv(program, shadertype, pname, values);
  OGLM_CHECK_ERR("glGetProgramStageiv", )
#line 31679 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramStageiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramStageiv_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, shadertype, pname");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	shadertype = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint	RETVAL;
	dXSTARG;
#line 15512 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramStageiv", )
  OGLM_AVAIL_CHECK(__glewGetProgramStageiv, glGetProgramStageiv)
  GLint values[1];
  glGetProgramStageiv(program, shadertype, pname, values);
  OGLM_CHECK_ERR("glGetProgramStageiv", )
  RETVAL = values[0];
#line 31708 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramStringARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramStringARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, string");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	void *	string = INT2PTR(void *,SvIV(ST(2)))
;
#line 15528 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramStringARB", )
  OGLM_AVAIL_CHECK(__glewGetProgramStringARB, glGetProgramStringARB)
  glGetProgramStringARB(target, pname, string);
  OGLM_CHECK_ERR("glGetProgramStringARB", )
#line 31735 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramStringNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramStringNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, program");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLubyte*	program = INT2PTR(GLubyte *,SvIV(ST(2)))
;
#line 15540 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramStringNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramStringNV, glGetProgramStringNV)
  glGetProgramStringNV(id, pname, program);
  OGLM_CHECK_ERR("glGetProgramStringNV", )
#line 31760 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, pname, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 15552 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramiv", )
  OGLM_AVAIL_CHECK(__glewGetProgramiv, glGetProgramiv)
  glGetProgramiv(program, pname, params);
  OGLM_CHECK_ERR("glGetProgramiv", )
#line 31785 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramiv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 15563 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramiv", )
  OGLM_AVAIL_CHECK(__glewGetProgramiv, glGetProgramiv)
  OGLM_SIZE_ENUM(ProgramPropertyARB,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetProgramiv(program, pname, params);
  OGLM_CHECK_ERR("glGetProgramiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 31814 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramivARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramivARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 15579 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramivARB", )
  OGLM_AVAIL_CHECK(__glewGetProgramivARB, glGetProgramivARB)
  glGetProgramivARB(target, pname, params);
  OGLM_CHECK_ERR("glGetProgramivARB", )
#line 31840 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramivARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramivARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 15590 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramivARB", )
  OGLM_AVAIL_CHECK(__glewGetProgramivARB, glGetProgramivARB)
  GLint params[1];
  glGetProgramivARB(target, pname, params);
  OGLM_CHECK_ERR("glGetProgramivARB", )
  RETVAL = params[0];
#line 31867 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 15606 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramivNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramivNV, glGetProgramivNV)
  glGetProgramivNV(id, pname, params);
  OGLM_CHECK_ERR("glGetProgramivNV", )
#line 31894 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetProgramivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetProgramivNV_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 15617 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetProgramivNV", )
  OGLM_AVAIL_CHECK(__glewGetProgramivNV, glGetProgramivNV)
  GLint* params = OGLM_ALLOC(4,GLint,params);
  glGetProgramivNV(id, pname, params);
  OGLM_CHECK_ERR("glGetProgramivNV", free(params);)
  OGLM_OUT_FINISH(params,4,newSViv)
  free(params);
#line 31922 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryBufferObjecti64v); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryBufferObjecti64v)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "id, buffer, pname, offset");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
#line 15633 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryBufferObjecti64v", )
  OGLM_AVAIL_CHECK(__glewGetQueryBufferObjecti64v, glGetQueryBufferObjecti64v)
  glGetQueryBufferObjecti64v(id, buffer, pname, offset);
  OGLM_CHECK_ERR("glGetQueryBufferObjecti64v", )
#line 31950 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryBufferObjectiv); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryBufferObjectiv)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "id, buffer, pname, offset");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
#line 15646 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryBufferObjectiv", )
  OGLM_AVAIL_CHECK(__glewGetQueryBufferObjectiv, glGetQueryBufferObjectiv)
  glGetQueryBufferObjectiv(id, buffer, pname, offset);
  OGLM_CHECK_ERR("glGetQueryBufferObjectiv", )
#line 31977 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryBufferObjectui64v); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryBufferObjectui64v)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "id, buffer, pname, offset");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
#line 15659 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryBufferObjectui64v", )
  OGLM_AVAIL_CHECK(__glewGetQueryBufferObjectui64v, glGetQueryBufferObjectui64v)
  glGetQueryBufferObjectui64v(id, buffer, pname, offset);
  OGLM_CHECK_ERR("glGetQueryBufferObjectui64v", )
#line 32004 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryBufferObjectuiv); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryBufferObjectuiv)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "id, buffer, pname, offset");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
#line 15672 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryBufferObjectuiv", )
  OGLM_AVAIL_CHECK(__glewGetQueryBufferObjectuiv, glGetQueryBufferObjectuiv)
  glGetQueryBufferObjectuiv(id, buffer, pname, offset);
  OGLM_CHECK_ERR("glGetQueryBufferObjectuiv", )
#line 32031 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryIndexediv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryIndexediv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 15685 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryIndexediv", )
  OGLM_AVAIL_CHECK(__glewGetQueryIndexediv, glGetQueryIndexediv)
  glGetQueryIndexediv(target, index, pname, params);
  OGLM_CHECK_ERR("glGetQueryIndexediv", )
#line 32058 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryIndexediv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryIndexediv_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 15697 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryIndexediv", )
  OGLM_AVAIL_CHECK(__glewGetQueryIndexediv, glGetQueryIndexediv)
  OGLM_SIZE_ENUM(QueryParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetQueryIndexediv(target, index, pname, params);
  OGLM_CHECK_ERR("glGetQueryIndexediv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 32089 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjecti64v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjecti64v_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint64*	params = INT2PTR(GLint64 *,SvIV(ST(2)))
;
#line 15715 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjecti64v", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjecti64v, glGetQueryObjecti64v)
  glGetQueryObjecti64v(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjecti64v", )
#line 32116 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjecti64v_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjecti64v_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "id, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 15728 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjecti64v", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjecti64v, glGetQueryObjecti64v)
  OGLM_SIZE_ENUM(QueryObjectParameterName,pname,1)
  GLint64* params = OGLM_ALLOC(pname_count,GLint64,params);
  glGetQueryObjecti64v(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjecti64v", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 32146 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjecti64vANGLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjecti64vANGLE_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint64*	params = INT2PTR(GLint64 *,SvIV(ST(2)))
;
#line 15744 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjecti64vANGLE", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjecti64vANGLE, glGetQueryObjecti64vANGLE)
  glGetQueryObjecti64vANGLE(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjecti64vANGLE", )
#line 32172 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 15759 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjectiv", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjectiv, glGetQueryObjectiv)
  glGetQueryObjectiv(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjectiv", )
#line 32198 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "id, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 15773 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjectiv", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjectiv, glGetQueryObjectiv)
  OGLM_SIZE_ENUM(QueryObjectParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetQueryObjectiv(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjectiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 32228 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectivANGLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectivANGLE_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 15789 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjectivANGLE", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjectivANGLE, glGetQueryObjectivANGLE)
  glGetQueryObjectivANGLE(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjectivANGLE", )
#line 32254 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectui64v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectui64v_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint64*	params = INT2PTR(GLuint64 *,SvIV(ST(2)))
;
#line 15803 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjectui64v", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjectui64v, glGetQueryObjectui64v)
  glGetQueryObjectui64v(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjectui64v", )
#line 32280 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectui64v_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectui64v_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "id, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 15816 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjectui64v", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjectui64v, glGetQueryObjectui64v)
  OGLM_SIZE_ENUM(QueryObjectParameterName,pname,1)
  GLuint64* params = OGLM_ALLOC(pname_count,GLuint64,params);
  glGetQueryObjectui64v(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjectui64v", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVuv)
  free(params);
#line 32310 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectui64vANGLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectui64vANGLE_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint64*	params = INT2PTR(GLuint64 *,SvIV(ST(2)))
;
#line 15832 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjectui64vANGLE", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjectui64vANGLE, glGetQueryObjectui64vANGLE)
  glGetQueryObjectui64vANGLE(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjectui64vANGLE", )
#line 32336 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectuiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 15846 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjectuiv", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjectuiv, glGetQueryObjectuiv)
  glGetQueryObjectuiv(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjectuiv", )
#line 32362 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectuiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "id, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 15859 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjectuiv", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjectuiv, glGetQueryObjectuiv)
  OGLM_SIZE_ENUM(QueryObjectParameterName,pname,1)
  GLuint* params = OGLM_ALLOC(pname_count,GLuint,params);
  glGetQueryObjectuiv(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjectuiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVuv)
  free(params);
#line 32392 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectuivANGLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectuivANGLE_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 15875 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjectuivANGLE", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjectuivANGLE, glGetQueryObjectuivANGLE)
  glGetQueryObjectuivANGLE(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjectuivANGLE", )
#line 32418 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectuivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectuivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 15887 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjectuivEXT", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjectuivEXT, glGetQueryObjectuivEXT)
  glGetQueryObjectuivEXT(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjectuivEXT", )
#line 32443 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectuivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryObjectuivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 15898 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryObjectuivEXT", )
  OGLM_AVAIL_CHECK(__glewGetQueryObjectuivEXT, glGetQueryObjectuivEXT)
  OGLM_SIZE_ENUM(QueryObjectParameterName,pname,1)
  GLuint* params = OGLM_ALLOC(pname_count,GLuint,params);
  glGetQueryObjectuivEXT(id, pname, params);
  OGLM_CHECK_ERR("glGetQueryObjectuivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVuv)
  free(params);
#line 32472 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 15916 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryiv", )
  OGLM_AVAIL_CHECK(__glewGetQueryiv, glGetQueryiv)
  glGetQueryiv(target, pname, params);
  OGLM_CHECK_ERR("glGetQueryiv", )
#line 32499 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 15929 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryiv", )
  OGLM_AVAIL_CHECK(__glewGetQueryiv, glGetQueryiv)
  OGLM_SIZE_ENUM(QueryParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetQueryiv(target, pname, params);
  OGLM_CHECK_ERR("glGetQueryiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 32529 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryivANGLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryivANGLE_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 15945 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryivANGLE", )
  OGLM_AVAIL_CHECK(__glewGetQueryivANGLE, glGetQueryivANGLE)
  glGetQueryivANGLE(target, pname, params);
  OGLM_CHECK_ERR("glGetQueryivANGLE", )
#line 32555 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 15957 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryivEXT", )
  OGLM_AVAIL_CHECK(__glewGetQueryivEXT, glGetQueryivEXT)
  glGetQueryivEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetQueryivEXT", )
#line 32580 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetQueryivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetQueryivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 15968 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetQueryivEXT", )
  OGLM_AVAIL_CHECK(__glewGetQueryivEXT, glGetQueryivEXT)
  OGLM_SIZE_ENUM(QueryParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetQueryivEXT(target, pname, params);
  OGLM_CHECK_ERR("glGetQueryivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 32609 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetRenderbufferParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetRenderbufferParameteriv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 15986 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetRenderbufferParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetRenderbufferParameteriv, glGetRenderbufferParameteriv)
  glGetRenderbufferParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetRenderbufferParameteriv", )
#line 32636 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetRenderbufferParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetRenderbufferParameteriv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 15999 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetRenderbufferParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetRenderbufferParameteriv, glGetRenderbufferParameteriv)
  OGLM_SIZE_ENUM(RenderbufferParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetRenderbufferParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetRenderbufferParameteriv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 32666 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetRenderbufferParameterivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetRenderbufferParameterivOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16015 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetRenderbufferParameterivOES", )
  OGLM_AVAIL_CHECK(__glewGetRenderbufferParameterivOES, glGetRenderbufferParameterivOES)
  glGetRenderbufferParameterivOES(target, pname, params);
  OGLM_CHECK_ERR("glGetRenderbufferParameterivOES", )
#line 32692 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, params");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16029 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSamplerParameterIiv", )
  OGLM_AVAIL_CHECK(__glewGetSamplerParameterIiv, glGetSamplerParameterIiv)
  glGetSamplerParameterIiv(sampler, pname, params);
  OGLM_CHECK_ERR("glGetSamplerParameterIiv", )
#line 32718 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "sampler, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16042 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSamplerParameterIiv", )
  OGLM_AVAIL_CHECK(__glewGetSamplerParameterIiv, glGetSamplerParameterIiv)
  OGLM_SIZE_ENUM(SamplerParameterI,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetSamplerParameterIiv(sampler, pname, params);
  OGLM_CHECK_ERR("glGetSamplerParameterIiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 32748 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIivOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, params");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16058 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSamplerParameterIivOES", )
  OGLM_AVAIL_CHECK(__glewGetSamplerParameterIivOES, glGetSamplerParameterIivOES)
  glGetSamplerParameterIivOES(sampler, pname, params);
  OGLM_CHECK_ERR("glGetSamplerParameterIivOES", )
#line 32774 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIuiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, params");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 16072 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSamplerParameterIuiv", )
  OGLM_AVAIL_CHECK(__glewGetSamplerParameterIuiv, glGetSamplerParameterIuiv)
  glGetSamplerParameterIuiv(sampler, pname, params);
  OGLM_CHECK_ERR("glGetSamplerParameterIuiv", )
#line 32800 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIuiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "sampler, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16085 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSamplerParameterIuiv", )
  OGLM_AVAIL_CHECK(__glewGetSamplerParameterIuiv, glGetSamplerParameterIuiv)
  OGLM_SIZE_ENUM(SamplerParameterI,pname,1)
  GLuint* params = OGLM_ALLOC(pname_count,GLuint,params);
  glGetSamplerParameterIuiv(sampler, pname, params);
  OGLM_CHECK_ERR("glGetSamplerParameterIuiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVuv)
  free(params);
#line 32830 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIuivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterIuivOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, params");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 16101 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSamplerParameterIuivOES", )
  OGLM_AVAIL_CHECK(__glewGetSamplerParameterIuivOES, glGetSamplerParameterIuivOES)
  glGetSamplerParameterIuivOES(sampler, pname, params);
  OGLM_CHECK_ERR("glGetSamplerParameterIuivOES", )
#line 32856 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, params");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 16113 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSamplerParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetSamplerParameterfv, glGetSamplerParameterfv)
  glGetSamplerParameterfv(sampler, pname, params);
  OGLM_CHECK_ERR("glGetSamplerParameterfv", )
#line 32881 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameterfv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "sampler, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16124 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSamplerParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetSamplerParameterfv, glGetSamplerParameterfv)
  OGLM_SIZE_ENUM(SamplerParameterF,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetSamplerParameterfv(sampler, pname, params);
  OGLM_CHECK_ERR("glGetSamplerParameterfv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 32910 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, params");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16140 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSamplerParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetSamplerParameteriv, glGetSamplerParameteriv)
  glGetSamplerParameteriv(sampler, pname, params);
  OGLM_CHECK_ERR("glGetSamplerParameteriv", )
#line 32936 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSamplerParameteriv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "sampler, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16151 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSamplerParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetSamplerParameteriv, glGetSamplerParameteriv)
  OGLM_SIZE_ENUM(SamplerParameterI,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetSamplerParameteriv(sampler, pname, params);
  OGLM_CHECK_ERR("glGetSamplerParameteriv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 32965 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetSemaphoreParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSemaphoreParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "semaphore, pname, params");
    {
	GLuint	semaphore = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16167 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSemaphoreParameterivNV", )
  OGLM_AVAIL_CHECK(__glewGetSemaphoreParameterivNV, glGetSemaphoreParameterivNV)
  glGetSemaphoreParameterivNV(semaphore, pname, params);
  OGLM_CHECK_ERR("glGetSemaphoreParameterivNV", )
#line 32991 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSemaphoreParameterui64vEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSemaphoreParameterui64vEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "semaphore, pname, params");
    {
	GLuint	semaphore = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint64*	params = INT2PTR(GLuint64 *,SvIV(ST(2)))
;
#line 16179 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSemaphoreParameterui64vEXT", )
  OGLM_AVAIL_CHECK(__glewGetSemaphoreParameterui64vEXT, glGetSemaphoreParameterui64vEXT)
  glGetSemaphoreParameterui64vEXT(semaphore, pname, params);
  OGLM_CHECK_ERR("glGetSemaphoreParameterui64vEXT", )
#line 33016 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSeparableFilter_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSeparableFilter_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, format, type, row, column, span");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	void *	row = INT2PTR(void *,SvIV(ST(3)))
;
	void *	column = INT2PTR(void *,SvIV(ST(4)))
;
	void *	span = INT2PTR(void *,SvIV(ST(5)))
;
#line 16194 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSeparableFilter", )
  OGLM_AVAIL_CHECK(__glewGetSeparableFilter, glGetSeparableFilter)
  glGetSeparableFilter(target, format, type, row, column, span);
  OGLM_CHECK_ERR("glGetSeparableFilter", )
#line 33047 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSeparableFilterEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSeparableFilterEXT_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, format, type, row, column, span");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	void *	row = INT2PTR(void *,SvIV(ST(3)))
;
	void *	column = INT2PTR(void *,SvIV(ST(4)))
;
	void *	span = INT2PTR(void *,SvIV(ST(5)))
;
#line 16209 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSeparableFilterEXT", )
  OGLM_AVAIL_CHECK(__glewGetSeparableFilterEXT, glGetSeparableFilterEXT)
  glGetSeparableFilterEXT(target, format, type, row, column, span);
  OGLM_CHECK_ERR("glGetSeparableFilterEXT", )
#line 33078 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetShaderInfoLog_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShaderInfoLog_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "shader, bufSize, length, infoLog");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLchar*	infoLog = (GLchar *)SvPV_nolen(ST(3))
;
#line 16222 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShaderInfoLog", )
  OGLM_AVAIL_CHECK(__glewGetShaderInfoLog, glGetShaderInfoLog)
  glGetShaderInfoLog(shader, bufSize, length, infoLog);
  OGLM_CHECK_ERR("glGetShaderInfoLog", )
#line 33105 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetShaderInfoLog_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShaderInfoLog_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "shader");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	GLchar *	RETVAL;
	dXSTARG;
#line 16232 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShaderInfoLog", )
  OGLM_AVAIL_CHECK(__glewGetShaderInfoLog, glGetShaderInfoLog)
  OGLM_AVAIL_CHECK(__glewGetShaderiv, glGetShaderiv)
  GLsizei bufSize;
  glGetShaderiv(shader,GL_INFO_LOG_LENGTH,&bufSize);
  GLsizei* length = NULL;
  GLchar infoLog[bufSize];
  glGetShaderInfoLog(shader, bufSize, length, infoLog);
  OGLM_CHECK_ERR("glGetShaderInfoLog", )
  RETVAL = infoLog;
#line 33134 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetShaderPrecisionFormat_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShaderPrecisionFormat_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "shadertype, precisiontype, range, precision");
    {
	GLenum	shadertype = (int)SvIV(ST(0))
;
	GLenum	precisiontype = (int)SvIV(ST(1))
;
	GLint*	range = INT2PTR(GLint *,SvIV(ST(2)))
;
	GLint *	precision = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 16253 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShaderPrecisionFormat", )
  OGLM_AVAIL_CHECK(__glewGetShaderPrecisionFormat, glGetShaderPrecisionFormat)
  glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
  OGLM_CHECK_ERR("glGetShaderPrecisionFormat", )
#line 33164 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetShaderPrecisionFormat_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShaderPrecisionFormat_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "shadertype, precisiontype");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	shadertype = (int)SvIV(ST(0))
;
	GLenum	precisiontype = (int)SvIV(ST(1))
;
#line 16264 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShaderPrecisionFormat", )
  OGLM_AVAIL_CHECK(__glewGetShaderPrecisionFormat, glGetShaderPrecisionFormat)
  GLint* range = OGLM_ALLOC(2,GLint,range);
  GLint precision[1];
  glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
  OGLM_CHECK_ERR("glGetShaderPrecisionFormat", free(range);)
  EXTEND(sp, 2);
  OGLM_PUSH_ARRAY(glGetShaderPrecisionFormat, newSViv, range, 2)
  mPUSHs(newSViv(precision[0]));
  free(range);
#line 33195 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetShaderSource_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShaderSource_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "shader, bufSize, length, source");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLchar*	source = (GLchar *)SvPV_nolen(ST(3))
;
#line 16283 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShaderSource", )
  OGLM_AVAIL_CHECK(__glewGetShaderSource, glGetShaderSource)
  glGetShaderSource(shader, bufSize, length, source);
  OGLM_CHECK_ERR("glGetShaderSource", )
#line 33223 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetShaderSource_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShaderSource_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "shader");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	GLchar *	RETVAL;
	dXSTARG;
#line 16293 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShaderSource", )
  OGLM_AVAIL_CHECK(__glewGetShaderSource, glGetShaderSource)
  OGLM_AVAIL_CHECK(__glewGetShaderiv, glGetShaderiv)
  GLsizei bufSize;
  glGetShaderiv(shader,GL_SHADER_SOURCE_LENGTH,&bufSize);
  GLsizei* length = NULL;
  GLchar source[bufSize];
  glGetShaderSource(shader, bufSize, length, source);
  OGLM_CHECK_ERR("glGetShaderSource", )
  RETVAL = source;
#line 33252 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetShaderSourceARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShaderSourceARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "shader, bufSize, length, source");
    {
	GLhandleARB	shader = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLcharARB *	source = (GLcharARB *)SvPV_nolen(ST(3))
;
#line 16314 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShaderSourceARB", )
  OGLM_AVAIL_CHECK(__glewGetShaderSourceARB, glGetShaderSourceARB)
  glGetShaderSourceARB(shader, bufSize, length, source);
  OGLM_CHECK_ERR("glGetShaderSourceARB", )
#line 33282 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetShaderSourceARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShaderSourceARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "shader");
    {
	GLhandleARB	shader = (unsigned int)SvUV(ST(0))
;
	GLcharARB *	RETVAL;
	dXSTARG;
#line 16324 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShaderSourceARB", )
  OGLM_AVAIL_CHECK(__glewGetShaderSourceARB, glGetShaderSourceARB)
  OGLM_AVAIL_CHECK(__glewGetShaderiv, glGetShaderiv)
  GLsizei bufSize;
  glGetShaderiv(shader,GL_SHADER_SOURCE_LENGTH,&bufSize);
  GLsizei* length = NULL;
  GLcharARB source[bufSize];
  glGetShaderSourceARB(shader, bufSize, length, source);
  OGLM_CHECK_ERR("glGetShaderSourceARB", )
  RETVAL = source;
#line 33311 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetShaderiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShaderiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "shader, pname, params");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16344 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShaderiv", )
  OGLM_AVAIL_CHECK(__glewGetShaderiv, glGetShaderiv)
  glGetShaderiv(shader, pname, params);
  OGLM_CHECK_ERR("glGetShaderiv", )
#line 33339 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetShaderiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShaderiv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "shader, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16355 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShaderiv", )
  OGLM_AVAIL_CHECK(__glewGetShaderiv, glGetShaderiv)
  OGLM_SIZE_ENUM(ShaderParameterName,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetShaderiv(shader, pname, params);
  OGLM_CHECK_ERR("glGetShaderiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 33368 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetShadingRateImagePaletteNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShadingRateImagePaletteNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "viewport, entry, rate");
    {
	GLuint	viewport = (unsigned int)SvUV(ST(0))
;
	GLuint	entry = (unsigned int)SvUV(ST(1))
;
	GLenum*	rate = INT2PTR(GLenum *,SvIV(ST(2)))
;
#line 16371 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShadingRateImagePaletteNV", )
  OGLM_AVAIL_CHECK(__glewGetShadingRateImagePaletteNV, glGetShadingRateImagePaletteNV)
  glGetShadingRateImagePaletteNV(viewport, entry, rate);
  OGLM_CHECK_ERR("glGetShadingRateImagePaletteNV", )
#line 33394 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetShadingRateImagePaletteNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShadingRateImagePaletteNV_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "viewport, entry");
    {
	GLuint	viewport = (unsigned int)SvUV(ST(0))
;
	GLuint	entry = (unsigned int)SvUV(ST(1))
;
	GLenum	RETVAL;
	dXSTARG;
#line 16382 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShadingRateImagePaletteNV", )
  OGLM_AVAIL_CHECK(__glewGetShadingRateImagePaletteNV, glGetShadingRateImagePaletteNV)
  GLenum rate[1];
  glGetShadingRateImagePaletteNV(viewport, entry, rate);
  OGLM_CHECK_ERR("glGetShadingRateImagePaletteNV", )
  RETVAL = rate[0];
#line 33421 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetShadingRateSampleLocationivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShadingRateSampleLocationivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "rate, samples, index, location");
    {
	GLenum	rate = (int)SvIV(ST(0))
;
	GLuint	samples = (unsigned int)SvUV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLint*	location = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 16399 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShadingRateSampleLocationivNV", )
  OGLM_AVAIL_CHECK(__glewGetShadingRateSampleLocationivNV, glGetShadingRateSampleLocationivNV)
  glGetShadingRateSampleLocationivNV(rate, samples, index, location);
  OGLM_CHECK_ERR("glGetShadingRateSampleLocationivNV", )
#line 33450 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetShadingRateSampleLocationivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetShadingRateSampleLocationivNV_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "rate, samples, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	rate = (int)SvIV(ST(0))
;
	GLuint	samples = (unsigned int)SvUV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
#line 16411 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetShadingRateSampleLocationivNV", )
  OGLM_AVAIL_CHECK(__glewGetShadingRateSampleLocationivNV, glGetShadingRateSampleLocationivNV)
  GLint* location = OGLM_ALLOC(3,GLint,location);
  glGetShadingRateSampleLocationivNV(rate, samples, index, location);
  OGLM_CHECK_ERR("glGetShadingRateSampleLocationivNV", free(location);)
  OGLM_OUT_FINISH(location,3,newSViv)
  free(location);
#line 33480 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetSharpenTexFuncSGIS_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSharpenTexFuncSGIS_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, points");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLfloat*	points = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 16425 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSharpenTexFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewGetSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS)
  glGetSharpenTexFuncSGIS(target, points);
  OGLM_CHECK_ERR("glGetSharpenTexFuncSGIS", )
#line 33504 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSharpenTexFuncSGIS_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSharpenTexFuncSGIS_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 16435 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSharpenTexFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewGetSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS)
  OGLM_SIZE_ENUM(TextureTarget,target,1)
  GLfloat* points = OGLM_ALLOC(target_count,GLfloat,points);
  glGetSharpenTexFuncSGIS(target, points);
  OGLM_CHECK_ERR("glGetSharpenTexFuncSGIS", free(points);)
  OGLM_OUT_FINISH(points,target_count,newSVnv)
  free(points);
#line 33531 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetStageIndexNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetStageIndexNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "shadertype");
    {
	GLenum	shadertype = (int)SvIV(ST(0))
;
	GLushort	RETVAL;
	dXSTARG;
#line 16449 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetStageIndexNV", )
  OGLM_AVAIL_CHECK(__glewGetStageIndexNV, glGetStageIndexNV)
  RETVAL = glGetStageIndexNV(shadertype);
  OGLM_CHECK_ERR("glGetStageIndexNV", )
#line 33555 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetString); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetString)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	GLenum	name = (int)SvIV(ST(0))
;
	const GLubyte *	RETVAL;
	dXSTARG;
#line 16461 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetString", )
  RETVAL = glGetString(name);
  OGLM_CHECK_ERR("glGetString", )
#line 33579 "lib/OpenGL/Modern.c"
	sv_setpv(TARG, (void*)RETVAL);
	XSprePUSH;
	PUSHTARG;
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetSubroutineIndex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSubroutineIndex)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, shadertype, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	shadertype = (int)SvIV(ST(1))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(2))
;
	GLuint	RETVAL;
	dXSTARG;
#line 16474 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSubroutineIndex", )
  OGLM_AVAIL_CHECK(__glewGetSubroutineIndex, glGetSubroutineIndex)
  RETVAL = glGetSubroutineIndex(program, shadertype, name);
  OGLM_CHECK_ERR("glGetSubroutineIndex", )
#line 33609 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetSubroutineUniformLocation); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSubroutineUniformLocation)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, shadertype, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	shadertype = (int)SvIV(ST(1))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(2))
;
	GLint	RETVAL;
	dXSTARG;
#line 16488 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSubroutineUniformLocation", )
  OGLM_AVAIL_CHECK(__glewGetSubroutineUniformLocation, glGetSubroutineUniformLocation)
  RETVAL = glGetSubroutineUniformLocation(program, shadertype, name);
  OGLM_CHECK_ERR("glGetSubroutineUniformLocation", )
#line 33638 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetSynciv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSynciv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "sync, pname, count, length, values");
    {
	GLsync	sync = INT2PTR(GLsync,SvIV(ST(0)))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLint *	values = INT2PTR(GLint *,SvIV(ST(4)))
;
#line 16506 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSynciv", )
  OGLM_AVAIL_CHECK(__glewGetSynciv, glGetSynciv)
  glGetSynciv(sync, pname, count, length, values);
  OGLM_CHECK_ERR("glGetSynciv", )
#line 33670 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetSynciv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetSynciv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "sync, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsync	sync = INT2PTR(GLsync,SvIV(ST(0)))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16519 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetSynciv", )
  OGLM_AVAIL_CHECK(__glewGetSynciv, glGetSynciv)
  GLsizei count = sizeof(GLint);
  GLsizei* length = NULL;
  OGLM_SIZE_ENUM(SyncParameterName,pname,1)
  GLint *values = OGLM_ALLOC(pname_count,GLint,values);
  glGetSynciv(sync, pname, count, length, values);
  OGLM_CHECK_ERR("glGetSynciv", free(values);)
  OGLM_OUT_FINISH(values,pname_count,newSViv)
  free(values);
#line 33702 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexBumpParameterfvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexBumpParameterfvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat *	param = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 16536 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexBumpParameterfvATI", )
  OGLM_AVAIL_CHECK(__glewGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI)
  glGetTexBumpParameterfvATI(pname, param);
  OGLM_CHECK_ERR("glGetTexBumpParameterfvATI", )
#line 33726 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexBumpParameterivATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexBumpParameterivATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint *	param = INT2PTR(GLint *,SvIV(ST(1)))
;
#line 16547 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexBumpParameterivATI", )
  OGLM_AVAIL_CHECK(__glewGetTexBumpParameterivATI, glGetTexBumpParameterivATI)
  glGetTexBumpParameterivATI(pname, param);
  OGLM_CHECK_ERR("glGetTexBumpParameterivATI", )
#line 33749 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexEnvfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexEnvfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 16559 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexEnvfv", )
  glGetTexEnvfv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexEnvfv", )
#line 33773 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexEnvfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexEnvfv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16569 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexEnvfv", )
  OGLM_SIZE_ENUM(TextureEnvParameter,pname,1)
  GLfloat *params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetTexEnvfv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexEnvfv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 33801 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexEnviv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexEnviv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16584 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexEnviv", )
  glGetTexEnviv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexEnviv", )
#line 33826 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexEnviv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexEnviv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16594 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexEnviv", )
  OGLM_SIZE_ENUM(TextureEnvParameter,pname,1)
  GLint *params = OGLM_ALLOC(pname_count,GLint,params);
  glGetTexEnviv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexEnviv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 33854 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexEnvxv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexEnvxv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfixed*	params = INT2PTR(GLfixed *,SvIV(ST(2)))
;
#line 16609 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexEnvxv", )
  OGLM_AVAIL_CHECK(__glewGetTexEnvxv, glGetTexEnvxv)
  glGetTexEnvxv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexEnvxv", )
#line 33880 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexEnvxv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexEnvxv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16620 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexEnvxv", )
  OGLM_AVAIL_CHECK(__glewGetTexEnvxv, glGetTexEnvxv)
  OGLM_SIZE_ENUM(TextureEnvParameter,pname,1)
  GLfixed* params = OGLM_ALLOC(pname_count,GLfixed,params);
  glGetTexEnvxv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexEnvxv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 33909 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexFilterFuncSGIS_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexFilterFuncSGIS_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, filter, weights");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	filter = (int)SvIV(ST(1))
;
	GLfloat*	weights = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 16636 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexFilterFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewGetTexFilterFuncSGIS, glGetTexFilterFuncSGIS)
  glGetTexFilterFuncSGIS(target, filter, weights);
  OGLM_CHECK_ERR("glGetTexFilterFuncSGIS", )
#line 33935 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexGendv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexGendv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLdouble *	params = INT2PTR(GLdouble *,SvIV(ST(2)))
;
#line 16648 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexGendv", )
  glGetTexGendv(coord, pname, params);
  OGLM_CHECK_ERR("glGetTexGendv", )
#line 33959 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexGendv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexGendv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "coord, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16658 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexGendv", )
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLdouble *params = OGLM_ALLOC(pname_count,GLdouble,params);
  glGetTexGendv(coord, pname, params);
  OGLM_CHECK_ERR("glGetTexGendv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 33987 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexGenfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexGenfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 16673 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexGenfv", )
  glGetTexGenfv(coord, pname, params);
  OGLM_CHECK_ERR("glGetTexGenfv", )
#line 34012 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexGenfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexGenfv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "coord, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16683 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexGenfv", )
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLfloat *params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetTexGenfv(coord, pname, params);
  OGLM_CHECK_ERR("glGetTexGenfv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 34040 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexGenfvOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexGenfvOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 16698 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexGenfvOES", )
  OGLM_AVAIL_CHECK(__glewGetTexGenfvOES, glGetTexGenfvOES)
  glGetTexGenfvOES(coord, pname, params);
  OGLM_CHECK_ERR("glGetTexGenfvOES", )
#line 34066 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexGeniv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexGeniv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16710 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexGeniv", )
  glGetTexGeniv(coord, pname, params);
  OGLM_CHECK_ERR("glGetTexGeniv", )
#line 34090 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexGeniv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexGeniv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "coord, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16720 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexGeniv", )
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLint *params = OGLM_ALLOC(pname_count,GLint,params);
  glGetTexGeniv(coord, pname, params);
  OGLM_CHECK_ERR("glGetTexGeniv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 34118 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexGenivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexGenivOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16735 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexGenivOES", )
  OGLM_AVAIL_CHECK(__glewGetTexGenivOES, glGetTexGenivOES)
  glGetTexGenivOES(coord, pname, params);
  OGLM_CHECK_ERR("glGetTexGenivOES", )
#line 34144 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexGenxvOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexGenxvOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfixed*	params = INT2PTR(GLfixed *,SvIV(ST(2)))
;
#line 16747 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexGenxvOES", )
  OGLM_AVAIL_CHECK(__glewGetTexGenxvOES, glGetTexGenxvOES)
  glGetTexGenxvOES(coord, pname, params);
  OGLM_CHECK_ERR("glGetTexGenxvOES", )
#line 34169 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexImage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexImage_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, level, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	void *	pixels = INT2PTR(void *,SvIV(ST(4)))
;
#line 16761 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexImage", )
  glGetTexImage(target, level, format, type, pixels);
  OGLM_CHECK_ERR("glGetTexImage", )
#line 34197 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexLevelParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexLevelParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, level, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 16773 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexLevelParameterfv", )
  glGetTexLevelParameterfv(target, level, pname, params);
  OGLM_CHECK_ERR("glGetTexLevelParameterfv", )
#line 34223 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexLevelParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexLevelParameterfv_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, level, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 16784 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexLevelParameterfv", )
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLfloat *params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetTexLevelParameterfv(target, level, pname, params);
  OGLM_CHECK_ERR("glGetTexLevelParameterfv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 34253 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexLevelParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexLevelParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, level, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 16800 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexLevelParameteriv", )
  glGetTexLevelParameteriv(target, level, pname, params);
  OGLM_CHECK_ERR("glGetTexLevelParameteriv", )
#line 34280 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexLevelParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexLevelParameteriv_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, level, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 16811 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexLevelParameteriv", )
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLint *params = OGLM_ALLOC(pname_count,GLint,params);
  glGetTexLevelParameteriv(target, level, pname, params);
  OGLM_CHECK_ERR("glGetTexLevelParameteriv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 34310 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16828 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameterIiv", )
  OGLM_AVAIL_CHECK(__glewGetTexParameterIiv, glGetTexParameterIiv)
  glGetTexParameterIiv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameterIiv", )
#line 34337 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16841 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameterIiv", )
  OGLM_AVAIL_CHECK(__glewGetTexParameterIiv, glGetTexParameterIiv)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetTexParameterIiv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameterIiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 34367 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIivOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16857 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameterIivOES", )
  OGLM_AVAIL_CHECK(__glewGetTexParameterIivOES, glGetTexParameterIivOES)
  glGetTexParameterIivOES(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameterIivOES", )
#line 34393 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIuiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 16871 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameterIuiv", )
  OGLM_AVAIL_CHECK(__glewGetTexParameterIuiv, glGetTexParameterIuiv)
  glGetTexParameterIuiv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameterIuiv", )
#line 34419 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIuiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16884 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameterIuiv", )
  OGLM_AVAIL_CHECK(__glewGetTexParameterIuiv, glGetTexParameterIuiv)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLuint* params = OGLM_ALLOC(pname_count,GLuint,params);
  glGetTexParameterIuiv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameterIuiv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVuv)
  free(params);
#line 34449 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIuivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterIuivOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 16900 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameterIuivOES", )
  OGLM_AVAIL_CHECK(__glewGetTexParameterIuivOES, glGetTexParameterIuivOES)
  glGetTexParameterIuivOES(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameterIuivOES", )
#line 34475 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterPointervAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterPointervAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	void **	params = INT2PTR(void **,SvIV(ST(2)))
;
#line 16912 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameterPointervAPPLE", )
  OGLM_AVAIL_CHECK(__glewGetTexParameterPointervAPPLE, glGetTexParameterPointervAPPLE)
  glGetTexParameterPointervAPPLE(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameterPointervAPPLE", )
#line 34500 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat *	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 16924 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameterfv", )
  glGetTexParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameterfv", )
#line 34524 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterfv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16934 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameterfv", )
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLfloat *params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetTexParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameterfv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 34552 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint *	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 16949 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameteriv", )
  glGetTexParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameteriv", )
#line 34577 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameteriv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16959 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameteriv", )
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLint *params = OGLM_ALLOC(pname_count,GLint,params);
  glGetTexParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameteriv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 34605 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterxv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterxv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfixed*	params = INT2PTR(GLfixed *,SvIV(ST(2)))
;
#line 16974 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameterxv", )
  OGLM_AVAIL_CHECK(__glewGetTexParameterxv, glGetTexParameterxv)
  glGetTexParameterxv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameterxv", )
#line 34631 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterxv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTexParameterxv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 16985 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTexParameterxv", )
  OGLM_AVAIL_CHECK(__glewGetTexParameterxv, glGetTexParameterxv)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLfixed* params = OGLM_ALLOC(pname_count,GLfixed,params);
  glGetTexParameterxv(target, pname, params);
  OGLM_CHECK_ERR("glGetTexParameterxv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 34660 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureHandleARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureHandleARB)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "texture");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLuint64	RETVAL;
	dXSTARG;
#line 17001 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureHandleARB", )
  OGLM_AVAIL_CHECK(__glewGetTextureHandleARB, glGetTextureHandleARB)
  RETVAL = glGetTextureHandleARB(texture);
  OGLM_CHECK_ERR("glGetTextureHandleARB", )
#line 34685 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureHandleNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureHandleNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "texture");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLuint64	RETVAL;
	dXSTARG;
#line 17013 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureHandleNV", )
  OGLM_AVAIL_CHECK(__glewGetTextureHandleNV, glGetTextureHandleNV)
  RETVAL = glGetTextureHandleNV(texture);
  OGLM_CHECK_ERR("glGetTextureHandleNV", )
#line 34710 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureImage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureImage_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "texture, level, format, type, bufSize, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLsizei	bufSize = (int)SvIV(ST(4))
;
	void *	pixels = INT2PTR(void *,SvIV(ST(5)))
;
#line 17030 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureImage", )
  OGLM_AVAIL_CHECK(__glewGetTextureImage, glGetTextureImage)
  glGetTextureImage(texture, level, format, type, bufSize, pixels);
  OGLM_CHECK_ERR("glGetTextureImage", )
#line 34743 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureImageEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureImageEXT_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "texture, target, level, format, type, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	format = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	void *	pixels = INT2PTR(void *,SvIV(ST(5)))
;
#line 17045 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureImageEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureImageEXT, glGetTextureImageEXT)
  glGetTextureImageEXT(texture, target, level, format, type, pixels);
  OGLM_CHECK_ERR("glGetTextureImageEXT", )
#line 34774 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, level, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 17058 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureLevelParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetTextureLevelParameterfv, glGetTextureLevelParameterfv)
  glGetTextureLevelParameterfv(texture, level, pname, params);
  OGLM_CHECK_ERR("glGetTextureLevelParameterfv", )
#line 34801 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texture, target, level, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(4)))
;
#line 17072 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureLevelParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureLevelParameterfvEXT, glGetTextureLevelParameterfvEXT)
  glGetTextureLevelParameterfvEXT(texture, target, level, pname, params);
  OGLM_CHECK_ERR("glGetTextureLevelParameterfvEXT", )
#line 34830 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, level, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
#line 17085 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureLevelParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureLevelParameterfvEXT, glGetTextureLevelParameterfvEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetTextureLevelParameterfvEXT(texture, target, level, pname, params);
  OGLM_CHECK_ERR("glGetTextureLevelParameterfvEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 34863 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, level, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 17102 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureLevelParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetTextureLevelParameteriv, glGetTextureLevelParameteriv)
  glGetTextureLevelParameteriv(texture, level, pname, params);
  OGLM_CHECK_ERR("glGetTextureLevelParameteriv", )
#line 34891 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texture, target, level, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(4)))
;
#line 17116 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureLevelParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureLevelParameterivEXT, glGetTextureLevelParameterivEXT)
  glGetTextureLevelParameterivEXT(texture, target, level, pname, params);
  OGLM_CHECK_ERR("glGetTextureLevelParameterivEXT", )
#line 34920 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureLevelParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, level, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLenum	pname = (int)SvIV(ST(3))
;
#line 17129 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureLevelParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureLevelParameterivEXT, glGetTextureLevelParameterivEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetTextureLevelParameterivEXT(texture, target, level, pname, params);
  OGLM_CHECK_ERR("glGetTextureLevelParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 34953 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 17145 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameterIiv", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameterIiv, glGetTextureParameterIiv)
  glGetTextureParameterIiv(texture, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameterIiv", )
#line 34979 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 17158 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameterIivEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameterIivEXT, glGetTextureParameterIivEXT)
  glGetTextureParameterIivEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameterIivEXT", )
#line 35006 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 17170 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameterIivEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameterIivEXT, glGetTextureParameterIivEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetTextureParameterIivEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameterIivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 35037 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIuiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 17186 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameterIuiv", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameterIuiv, glGetTextureParameterIuiv)
  glGetTextureParameterIuiv(texture, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameterIuiv", )
#line 35063 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIuivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIuivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(3)))
;
#line 17199 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameterIuivEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameterIuivEXT, glGetTextureParameterIuivEXT)
  glGetTextureParameterIuivEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameterIuivEXT", )
#line 35090 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIuivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterIuivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 17211 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameterIuivEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameterIuivEXT, glGetTextureParameterIuivEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLuint* params = OGLM_ALLOC(pname_count,GLuint,params);
  glGetTextureParameterIuivEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameterIuivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVuv)
  free(params);
#line 35121 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 17227 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameterfv", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameterfv, glGetTextureParameterfv)
  glGetTextureParameterfv(texture, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameterfv", )
#line 35147 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 17240 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameterfvEXT, glGetTextureParameterfvEXT)
  glGetTextureParameterfvEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameterfvEXT", )
#line 35174 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 17252 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameterfvEXT, glGetTextureParameterfvEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetTextureParameterfvEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameterfvEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 35205 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 17268 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameteriv", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameteriv, glGetTextureParameteriv)
  glGetTextureParameteriv(texture, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameteriv", )
#line 35231 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 17281 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameterivEXT, glGetTextureParameterivEXT)
  glGetTextureParameterivEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameterivEXT", )
#line 35258 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, target, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 17293 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewGetTextureParameterivEXT, glGetTextureParameterivEXT)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetTextureParameterivEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glGetTextureParameterivEXT", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 35289 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureSamplerHandleARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureSamplerHandleARB)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "texture, sampler");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLuint	sampler = (unsigned int)SvUV(ST(1))
;
	GLuint64	RETVAL;
	dXSTARG;
#line 17310 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureSamplerHandleARB", )
  OGLM_AVAIL_CHECK(__glewGetTextureSamplerHandleARB, glGetTextureSamplerHandleARB)
  RETVAL = glGetTextureSamplerHandleARB(texture, sampler);
  OGLM_CHECK_ERR("glGetTextureSamplerHandleARB", )
#line 35316 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureSamplerHandleNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureSamplerHandleNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "texture, sampler");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLuint	sampler = (unsigned int)SvUV(ST(1))
;
	GLuint64	RETVAL;
	dXSTARG;
#line 17323 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureSamplerHandleNV", )
  OGLM_AVAIL_CHECK(__glewGetTextureSamplerHandleNV, glGetTextureSamplerHandleNV)
  RETVAL = glGetTextureSamplerHandleNV(texture, sampler);
  OGLM_CHECK_ERR("glGetTextureSamplerHandleNV", )
#line 35343 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetTextureSubImage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTextureSubImage_c)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLenum	type = (int)SvIV(ST(9))
;
	GLsizei	bufSize = (int)SvIV(ST(10))
;
	void *	pixels = INT2PTR(void *,SvIV(ST(11)))
;
#line 17346 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTextureSubImage", )
  OGLM_AVAIL_CHECK(__glewGetTextureSubImage, glGetTextureSubImage)
  glGetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels);
  OGLM_CHECK_ERR("glGetTextureSubImage", )
#line 35388 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTrackMatrixivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTrackMatrixivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, address, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	address = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 17359 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTrackMatrixivNV", )
  OGLM_AVAIL_CHECK(__glewGetTrackMatrixivNV, glGetTrackMatrixivNV)
  glGetTrackMatrixivNV(target, address, pname, params);
  OGLM_CHECK_ERR("glGetTrackMatrixivNV", )
#line 35415 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTrackMatrixivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTrackMatrixivNV_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, address, pname");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	address = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint	RETVAL;
	dXSTARG;
#line 17371 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTrackMatrixivNV", )
  OGLM_AVAIL_CHECK(__glewGetTrackMatrixivNV, glGetTrackMatrixivNV)
  GLint params[1];
  glGetTrackMatrixivNV(target, address, pname, params);
  OGLM_CHECK_ERR("glGetTrackMatrixivNV", )
  RETVAL = params[0];
#line 35444 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbackVarying_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbackVarying_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 7)
       croak_xs_usage(cv,  "program, index, bufSize, length, size, type, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLsizei *	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLsizei *	size = INT2PTR(GLsizei *,SvIV(ST(4)))
;
	GLenum *	type = INT2PTR(GLenum *,SvIV(ST(5)))
;
	GLchar *	name = (GLchar *)SvPV_nolen(ST(6))
;
#line 17393 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTransformFeedbackVarying", )
  OGLM_AVAIL_CHECK(__glewGetTransformFeedbackVarying, glGetTransformFeedbackVarying)
  glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetTransformFeedbackVarying", )
#line 35480 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbackVarying_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbackVarying_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "program, index");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 17406 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTransformFeedbackVarying", )
  OGLM_AVAIL_CHECK(__glewGetTransformFeedbackVarying, glGetTransformFeedbackVarying)
  OGLM_AVAIL_CHECK(__glewGetProgramiv, glGetProgramiv)
  GLsizei bufSize;
  glGetProgramiv(program,GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,&bufSize);
  GLsizei * length = NULL;
  GLchar name[bufSize];
  GLsizei size[1];
  GLenum type[1];
  glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
  OGLM_CHECK_ERR("glGetTransformFeedbackVarying", )
  EXTEND(sp, 3);
  mPUSHs(newSViv(size[0]));
  mPUSHs(newSViv(type[0]));
  mPUSHs(newSVpv(name,0));
#line 35517 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbackVaryingNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbackVaryingNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, index, location");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLint *	location = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 17429 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTransformFeedbackVaryingNV", )
  OGLM_AVAIL_CHECK(__glewGetTransformFeedbackVaryingNV, glGetTransformFeedbackVaryingNV)
  glGetTransformFeedbackVaryingNV(program, index, location);
  OGLM_CHECK_ERR("glGetTransformFeedbackVaryingNV", )
#line 35543 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbackVaryingNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbackVaryingNV_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, index");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 17440 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTransformFeedbackVaryingNV", )
  OGLM_AVAIL_CHECK(__glewGetTransformFeedbackVaryingNV, glGetTransformFeedbackVaryingNV)
  GLint location[1];
  glGetTransformFeedbackVaryingNV(program, index, location);
  OGLM_CHECK_ERR("glGetTransformFeedbackVaryingNV", )
  RETVAL = location[0];
#line 35570 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbacki64_v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbacki64_v_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "xfb, pname, index, param");
    {
	GLuint	xfb = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLint64*	param = INT2PTR(GLint64 *,SvIV(ST(3)))
;
#line 17457 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTransformFeedbacki64_v", )
  OGLM_AVAIL_CHECK(__glewGetTransformFeedbacki64_v, glGetTransformFeedbacki64_v)
  glGetTransformFeedbacki64_v(xfb, pname, index, param);
  OGLM_CHECK_ERR("glGetTransformFeedbacki64_v", )
#line 35599 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbacki_v_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbacki_v_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "xfb, pname, index, param");
    {
	GLuint	xfb = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLint*	param = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 17470 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTransformFeedbacki_v", )
  OGLM_AVAIL_CHECK(__glewGetTransformFeedbacki_v, glGetTransformFeedbacki_v)
  glGetTransformFeedbacki_v(xfb, pname, index, param);
  OGLM_CHECK_ERR("glGetTransformFeedbacki_v", )
#line 35626 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbackiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTransformFeedbackiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "xfb, pname, param");
    {
	GLuint	xfb = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	param = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 17482 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTransformFeedbackiv", )
  OGLM_AVAIL_CHECK(__glewGetTransformFeedbackiv, glGetTransformFeedbackiv)
  glGetTransformFeedbackiv(xfb, pname, param);
  OGLM_CHECK_ERR("glGetTransformFeedbackiv", )
#line 35651 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTranslatedShaderSourceANGLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTranslatedShaderSourceANGLE_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "shader, bufSize, length, source");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(2)))
;
	GLchar*	source = (GLchar *)SvPV_nolen(ST(3))
;
#line 17495 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTranslatedShaderSourceANGLE", )
  OGLM_AVAIL_CHECK(__glewGetTranslatedShaderSourceANGLE, glGetTranslatedShaderSourceANGLE)
  glGetTranslatedShaderSourceANGLE(shader, bufSize, length, source);
  OGLM_CHECK_ERR("glGetTranslatedShaderSourceANGLE", )
#line 35678 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetTranslatedShaderSourceANGLE_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetTranslatedShaderSourceANGLE_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "shader, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
#line 17506 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetTranslatedShaderSourceANGLE", )
  OGLM_AVAIL_CHECK(__glewGetTranslatedShaderSourceANGLE, glGetTranslatedShaderSourceANGLE)
  GLsizei length[1];
  GLchar source[bufSize];
  glGetTranslatedShaderSourceANGLE(shader, bufSize, length, source);
  OGLM_CHECK_ERR("glGetTranslatedShaderSourceANGLE", )
  EXTEND(sp, 2);
  mPUSHs(newSViv(length[0]));
  mPUSHs(newSVpv(source,0));
#line 35708 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformBlockIndex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformBlockIndex)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, uniformBlockName");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	const GLchar*	uniformBlockName = (const GLchar *)SvPV_nolen(ST(1))
;
	GLuint	RETVAL;
	dXSTARG;
#line 17522 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformBlockIndex", )
  OGLM_AVAIL_CHECK(__glewGetUniformBlockIndex, glGetUniformBlockIndex)
  RETVAL = glGetUniformBlockIndex(program, uniformBlockName);
  OGLM_CHECK_ERR("glGetUniformBlockIndex", )
#line 35734 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformBufferSizeEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformBufferSizeEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, location");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 17535 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformBufferSizeEXT", )
  OGLM_AVAIL_CHECK(__glewGetUniformBufferSizeEXT, glGetUniformBufferSizeEXT)
  RETVAL = glGetUniformBufferSizeEXT(program, location);
  OGLM_CHECK_ERR("glGetUniformBufferSizeEXT", )
#line 35761 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformIndices_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformIndices_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, uniformCount, uniformNames, uniformIndices");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLsizei	uniformCount = (int)SvIV(ST(1))
;
	const GLchar* const *	uniformNames = (const GLchar * const *)SvPV_nolen(ST(2))
;
	GLuint*	uniformIndices = INT2PTR(GLuint *,SvIV(ST(3)))
;
#line 17550 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformIndices", )
  OGLM_AVAIL_CHECK(__glewGetUniformIndices, glGetUniformIndices)
  glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
  OGLM_CHECK_ERR("glGetUniformIndices", )
#line 35790 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformIndices_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformIndices_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "program, ...");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
#line 17560 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformIndices", )
  OGLM_AVAIL_CHECK(__glewGetUniformIndices, glGetUniformIndices)
  GLsizei uniformCount = items-1;
  GLuint* uniformIndices = OGLM_ALLOC(uniformCount,GLuint,uniformIndices);
  GLchar* * uniformNames = OGLM_GET_VARARGS(uniformNames,1,GLchar*,PV_nolen,uniformCount);
  glGetUniformIndices((GLuint )program, (GLsizei )uniformCount, (const GLchar* const * )uniformNames, (GLuint* )uniformIndices);
  OGLM_CHECK_ERR("glGetUniformIndices", free(uniformIndices);free(uniformNames);)
  OGLM_OUT_FINISH(uniformIndices,uniformCount,newSVuv)
  free(uniformIndices);free(uniformNames);
#line 35818 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformLocation); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformLocation)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 17576 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformLocation", )
  OGLM_AVAIL_CHECK(__glewGetUniformLocation, glGetUniformLocation)
  RETVAL = glGetUniformLocation(program, name);
  OGLM_CHECK_ERR("glGetUniformLocation", )
#line 35844 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformLocationARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformLocationARB)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "programObj, name");
    {
	GLhandleARB	programObj = (unsigned int)SvUV(ST(0))
;
	const GLcharARB*	name = (const GLcharARB *)SvPV_nolen(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 17589 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformLocationARB", )
  OGLM_AVAIL_CHECK(__glewGetUniformLocationARB, glGetUniformLocationARB)
  RETVAL = glGetUniformLocationARB(programObj, name);
  OGLM_CHECK_ERR("glGetUniformLocationARB", )
#line 35871 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, location");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLintptr	RETVAL;
	dXSTARG;
#line 17602 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewGetUniformOffsetEXT, glGetUniformOffsetEXT)
  RETVAL = glGetUniformOffsetEXT(program, location);
  OGLM_CHECK_ERR("glGetUniformOffsetEXT", )
#line 35898 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformSubroutineuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformSubroutineuiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "shadertype, location, params");
    {
	GLenum	shadertype = (int)SvIV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 17616 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformSubroutineuiv", )
  OGLM_AVAIL_CHECK(__glewGetUniformSubroutineuiv, glGetUniformSubroutineuiv)
  glGetUniformSubroutineuiv(shadertype, location, params);
  OGLM_CHECK_ERR("glGetUniformSubroutineuiv", )
#line 35925 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformSubroutineuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformSubroutineuiv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "shadertype, location");
    {
	GLenum	shadertype = (int)SvIV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint	RETVAL;
	dXSTARG;
#line 17627 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformSubroutineuiv", )
  OGLM_AVAIL_CHECK(__glewGetUniformSubroutineuiv, glGetUniformSubroutineuiv)
  GLuint params[1];
  glGetUniformSubroutineuiv(shadertype, location, params);
  OGLM_CHECK_ERR("glGetUniformSubroutineuiv", )
  RETVAL = params[0];
#line 35952 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformdv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformdv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLdouble*	params = INT2PTR(GLdouble *,SvIV(ST(2)))
;
#line 17643 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformdv", )
  OGLM_AVAIL_CHECK(__glewGetUniformdv, glGetUniformdv)
  glGetUniformdv(program, location, params);
  OGLM_CHECK_ERR("glGetUniformdv", )
#line 35979 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 17655 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformfv", )
  OGLM_AVAIL_CHECK(__glewGetUniformfv, glGetUniformfv)
  glGetUniformfv(program, location, params);
  OGLM_CHECK_ERR("glGetUniformfv", )
#line 36004 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformfvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformfvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "programObj, location, params");
    {
	GLhandleARB	programObj = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 17667 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformfvARB", )
  OGLM_AVAIL_CHECK(__glewGetUniformfvARB, glGetUniformfvARB)
  glGetUniformfvARB(programObj, location, params);
  OGLM_CHECK_ERR("glGetUniformfvARB", )
#line 36029 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformi64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformi64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint64*	params = INT2PTR(GLint64 *,SvIV(ST(2)))
;
#line 17679 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformi64vARB", )
  OGLM_AVAIL_CHECK(__glewGetUniformi64vARB, glGetUniformi64vARB)
  glGetUniformi64vARB(program, location, params);
  OGLM_CHECK_ERR("glGetUniformi64vARB", )
#line 36054 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformi64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformi64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint64EXT*	params = INT2PTR(GLint64EXT *,SvIV(ST(2)))
;
#line 17691 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformi64vNV", )
  OGLM_AVAIL_CHECK(__glewGetUniformi64vNV, glGetUniformi64vNV)
  glGetUniformi64vNV(program, location, params);
  OGLM_CHECK_ERR("glGetUniformi64vNV", )
#line 36079 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 17703 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformiv", )
  OGLM_AVAIL_CHECK(__glewGetUniformiv, glGetUniformiv)
  glGetUniformiv(program, location, params);
  OGLM_CHECK_ERR("glGetUniformiv", )
#line 36104 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformivARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformivARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "programObj, location, params");
    {
	GLhandleARB	programObj = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 17715 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformivARB", )
  OGLM_AVAIL_CHECK(__glewGetUniformivARB, glGetUniformivARB)
  glGetUniformivARB(programObj, location, params);
  OGLM_CHECK_ERR("glGetUniformivARB", )
#line 36129 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64*	params = INT2PTR(GLuint64 *,SvIV(ST(2)))
;
#line 17727 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformui64vARB", )
  OGLM_AVAIL_CHECK(__glewGetUniformui64vARB, glGetUniformui64vARB)
  glGetUniformui64vARB(program, location, params);
  OGLM_CHECK_ERR("glGetUniformui64vARB", )
#line 36154 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64EXT*	params = INT2PTR(GLuint64EXT *,SvIV(ST(2)))
;
#line 17739 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformui64vNV", )
  OGLM_AVAIL_CHECK(__glewGetUniformui64vNV, glGetUniformui64vNV)
  glGetUniformui64vNV(program, location, params);
  OGLM_CHECK_ERR("glGetUniformui64vNV", )
#line 36179 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUniformuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUniformuiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 17753 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUniformuiv", )
  OGLM_AVAIL_CHECK(__glewGetUniformuiv, glGetUniformuiv)
  glGetUniformuiv(program, location, params);
  OGLM_CHECK_ERR("glGetUniformuiv", )
#line 36205 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUnsignedBytei_vEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUnsignedBytei_vEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, data");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLubyte*	data = INT2PTR(GLubyte *,SvIV(ST(2)))
;
#line 17765 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUnsignedBytei_vEXT", )
  OGLM_AVAIL_CHECK(__glewGetUnsignedBytei_vEXT, glGetUnsignedBytei_vEXT)
  glGetUnsignedBytei_vEXT(target, index, data);
  OGLM_CHECK_ERR("glGetUnsignedBytei_vEXT", )
#line 36230 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUnsignedBytevEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUnsignedBytevEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, data");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLubyte*	data = INT2PTR(GLubyte *,SvIV(ST(1)))
;
#line 17776 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUnsignedBytevEXT", )
  OGLM_AVAIL_CHECK(__glewGetUnsignedBytevEXT, glGetUnsignedBytevEXT)
  glGetUnsignedBytevEXT(pname, data);
  OGLM_CHECK_ERR("glGetUnsignedBytevEXT", )
#line 36253 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetUnsignedBytevEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetUnsignedBytevEXT_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 17786 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetUnsignedBytevEXT", )
  OGLM_AVAIL_CHECK(__glewGetUnsignedBytevEXT, glGetUnsignedBytevEXT)
  OGLM_SIZE_ENUM(GetPName,pname,1)
  GLubyte* data = OGLM_ALLOC(pname_count,GLubyte,data);
  glGetUnsignedBytevEXT(pname, data);
  OGLM_CHECK_ERR("glGetUnsignedBytevEXT", free(data);)
  OGLM_OUT_FINISH(data,pname_count,newSVuv)
  free(data);
#line 36280 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetVariantArrayObjectfvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVariantArrayObjectfvATI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 17802 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVariantArrayObjectfvATI", )
  OGLM_AVAIL_CHECK(__glewGetVariantArrayObjectfvATI, glGetVariantArrayObjectfvATI)
  glGetVariantArrayObjectfvATI(id, pname, params);
  OGLM_CHECK_ERR("glGetVariantArrayObjectfvATI", )
#line 36306 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVariantArrayObjectfvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVariantArrayObjectfvATI_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, pname");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	RETVAL;
	dXSTARG;
#line 17813 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVariantArrayObjectfvATI", )
  OGLM_AVAIL_CHECK(__glewGetVariantArrayObjectfvATI, glGetVariantArrayObjectfvATI)
  GLfloat params[1];
  glGetVariantArrayObjectfvATI(id, pname, params);
  OGLM_CHECK_ERR("glGetVariantArrayObjectfvATI", )
  RETVAL = params[0];
#line 36333 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetVariantArrayObjectivATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVariantArrayObjectivATI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, pname, params");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 17829 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVariantArrayObjectivATI", )
  OGLM_AVAIL_CHECK(__glewGetVariantArrayObjectivATI, glGetVariantArrayObjectivATI)
  glGetVariantArrayObjectivATI(id, pname, params);
  OGLM_CHECK_ERR("glGetVariantArrayObjectivATI", )
#line 36360 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVariantArrayObjectivATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVariantArrayObjectivATI_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, pname");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 17840 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVariantArrayObjectivATI", )
  OGLM_AVAIL_CHECK(__glewGetVariantArrayObjectivATI, glGetVariantArrayObjectivATI)
  GLint params[1];
  glGetVariantArrayObjectivATI(id, pname, params);
  OGLM_CHECK_ERR("glGetVariantArrayObjectivATI", )
  RETVAL = params[0];
#line 36387 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetVariantBooleanvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVariantBooleanvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, value, data");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLboolean *	data = INT2PTR(GLboolean *,SvIV(ST(2)))
;
#line 17856 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVariantBooleanvEXT", )
  OGLM_AVAIL_CHECK(__glewGetVariantBooleanvEXT, glGetVariantBooleanvEXT)
  glGetVariantBooleanvEXT(id, value, data);
  OGLM_CHECK_ERR("glGetVariantBooleanvEXT", )
#line 36414 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVariantFloatvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVariantFloatvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, value, data");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLfloat *	data = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 17868 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVariantFloatvEXT", )
  OGLM_AVAIL_CHECK(__glewGetVariantFloatvEXT, glGetVariantFloatvEXT)
  glGetVariantFloatvEXT(id, value, data);
  OGLM_CHECK_ERR("glGetVariantFloatvEXT", )
#line 36439 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVariantIntegervEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVariantIntegervEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, value, data");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	GLint *	data = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 17880 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVariantIntegervEXT", )
  OGLM_AVAIL_CHECK(__glewGetVariantIntegervEXT, glGetVariantIntegervEXT)
  glGetVariantIntegervEXT(id, value, data);
  OGLM_CHECK_ERR("glGetVariantIntegervEXT", )
#line 36464 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVariantPointervEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVariantPointervEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, value, data");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	value = (int)SvIV(ST(1))
;
	void **	data = INT2PTR(void **,SvIV(ST(2)))
;
#line 17892 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVariantPointervEXT", )
  OGLM_AVAIL_CHECK(__glewGetVariantPointervEXT, glGetVariantPointervEXT)
  glGetVariantPointervEXT(id, value, data);
  OGLM_CHECK_ERR("glGetVariantPointervEXT", )
#line 36489 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVaryingLocationNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVaryingLocationNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "program, name");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	const GLchar *	name = (const GLchar *)SvPV_nolen(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 17903 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVaryingLocationNV", )
  OGLM_AVAIL_CHECK(__glewGetVaryingLocationNV, glGetVaryingLocationNV)
  RETVAL = glGetVaryingLocationNV(program, name);
  OGLM_CHECK_ERR("glGetVaryingLocationNV", )
#line 36514 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetVectorOperationSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVectorOperationSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "operation");
    {
	GLenum	operation = (int)SvIV(ST(0))
;
#line 17915 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVectorOperationSGIX", )
  OGLM_AVAIL_CHECK(__glewGetVectorOperationSGIX, glGetVectorOperationSGIX)
  glGetVectorOperationSGIX(operation);
  OGLM_CHECK_ERR("glGetVectorOperationSGIX", )
#line 36537 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayIndexed64iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayIndexed64iv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "vaobj, index, pname, param");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint64*	param = INT2PTR(GLint64 *,SvIV(ST(3)))
;
#line 17928 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexArrayIndexed64iv", )
  OGLM_AVAIL_CHECK(__glewGetVertexArrayIndexed64iv, glGetVertexArrayIndexed64iv)
  glGetVertexArrayIndexed64iv(vaobj, index, pname, param);
  OGLM_CHECK_ERR("glGetVertexArrayIndexed64iv", )
#line 36564 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayIndexediv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayIndexediv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "vaobj, index, pname, param");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	param = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 17941 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexArrayIndexediv", )
  OGLM_AVAIL_CHECK(__glewGetVertexArrayIndexediv, glGetVertexArrayIndexediv)
  glGetVertexArrayIndexediv(vaobj, index, pname, param);
  OGLM_CHECK_ERR("glGetVertexArrayIndexediv", )
#line 36591 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayIntegeri_vEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayIntegeri_vEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "vaobj, index, pname, param");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	param = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 17954 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexArrayIntegeri_vEXT", )
  OGLM_AVAIL_CHECK(__glewGetVertexArrayIntegeri_vEXT, glGetVertexArrayIntegeri_vEXT)
  glGetVertexArrayIntegeri_vEXT(vaobj, index, pname, param);
  OGLM_CHECK_ERR("glGetVertexArrayIntegeri_vEXT", )
#line 36618 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayIntegervEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayIntegervEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "vaobj, pname, param");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	param = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 17966 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexArrayIntegervEXT", )
  OGLM_AVAIL_CHECK(__glewGetVertexArrayIntegervEXT, glGetVertexArrayIntegervEXT)
  glGetVertexArrayIntegervEXT(vaobj, pname, param);
  OGLM_CHECK_ERR("glGetVertexArrayIntegervEXT", )
#line 36643 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayPointeri_vEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayPointeri_vEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "vaobj, index, pname, param");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	void**	param = INT2PTR(void **,SvIV(ST(3)))
;
#line 17979 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexArrayPointeri_vEXT", )
  OGLM_AVAIL_CHECK(__glewGetVertexArrayPointeri_vEXT, glGetVertexArrayPointeri_vEXT)
  glGetVertexArrayPointeri_vEXT(vaobj, index, pname, param);
  OGLM_CHECK_ERR("glGetVertexArrayPointeri_vEXT", )
#line 36670 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayPointervEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayPointervEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "vaobj, pname, param");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	void**	param = INT2PTR(void **,SvIV(ST(2)))
;
#line 17991 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexArrayPointervEXT", )
  OGLM_AVAIL_CHECK(__glewGetVertexArrayPointervEXT, glGetVertexArrayPointervEXT)
  glGetVertexArrayPointervEXT(vaobj, pname, param);
  OGLM_CHECK_ERR("glGetVertexArrayPointervEXT", )
#line 36695 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexArrayiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "vaobj, pname, param");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	param = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 18003 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexArrayiv", )
  OGLM_AVAIL_CHECK(__glewGetVertexArrayiv, glGetVertexArrayiv)
  glGetVertexArrayiv(vaobj, pname, param);
  OGLM_CHECK_ERR("glGetVertexArrayiv", )
#line 36720 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribArrayObjectfvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribArrayObjectfvATI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, params");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 18015 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribArrayObjectfvATI", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribArrayObjectfvATI, glGetVertexAttribArrayObjectfvATI)
  glGetVertexAttribArrayObjectfvATI(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribArrayObjectfvATI", )
#line 36745 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribArrayObjectfvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribArrayObjectfvATI_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 18026 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribArrayObjectfvATI", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribArrayObjectfvATI, glGetVertexAttribArrayObjectfvATI)
  OGLM_SIZE_ENUM(ArrayObjectPNameATI,pname,1)
  GLfloat* params = OGLM_ALLOC(pname_count,GLfloat,params);
  glGetVertexAttribArrayObjectfvATI(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribArrayObjectfvATI", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 36774 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribArrayObjectivATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribArrayObjectivATI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, params");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 18042 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribArrayObjectivATI", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribArrayObjectivATI, glGetVertexAttribArrayObjectivATI)
  glGetVertexAttribArrayObjectivATI(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribArrayObjectivATI", )
#line 36800 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribArrayObjectivATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribArrayObjectivATI_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 18053 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribArrayObjectivATI", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribArrayObjectivATI, glGetVertexAttribArrayObjectivATI)
  OGLM_SIZE_ENUM(ArrayObjectPNameATI,pname,1)
  GLint* params = OGLM_ALLOC(pname_count,GLint,params);
  glGetVertexAttribArrayObjectivATI(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribArrayObjectivATI", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 36829 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribIiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribIiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, params");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 18071 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribIiv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribIiv, glGetVertexAttribIiv)
  glGetVertexAttribIiv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribIiv", )
#line 36856 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribIiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribIiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 18084 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribIiv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribIiv, glGetVertexAttribIiv)
  GLint params[1];
  glGetVertexAttribIiv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribIiv", )
  RETVAL = params[0];
#line 36884 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribIuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribIuiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, params");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 18102 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribIuiv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribIuiv, glGetVertexAttribIuiv)
  glGetVertexAttribIuiv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribIuiv", )
#line 36912 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribIuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribIuiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint	RETVAL;
	dXSTARG;
#line 18115 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribIuiv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribIuiv, glGetVertexAttribIuiv)
  GLuint params[1];
  glGetVertexAttribIuiv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribIuiv", )
  RETVAL = params[0];
#line 36940 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLdv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLdv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, params");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLdouble*	params = INT2PTR(GLdouble *,SvIV(ST(2)))
;
#line 18133 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribLdv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribLdv, glGetVertexAttribLdv)
  glGetVertexAttribLdv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribLdv", )
#line 36968 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLdv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLdv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 18146 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribLdv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribLdv, glGetVertexAttribLdv)
  OGLM_SIZE_ENUM(VertexAttribEnum,pname,1)
  GLdouble* params = OGLM_ALLOC(pname_count,GLdouble,params);
  glGetVertexAttribLdv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribLdv", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVnv)
  free(params);
#line 36998 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLi64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLi64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, params");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint64EXT*	params = INT2PTR(GLint64EXT *,SvIV(ST(2)))
;
#line 18162 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribLi64vNV", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribLi64vNV, glGetVertexAttribLi64vNV)
  glGetVertexAttribLi64vNV(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribLi64vNV", )
#line 37024 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLi64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLi64vNV_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 18173 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribLi64vNV", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribLi64vNV, glGetVertexAttribLi64vNV)
  OGLM_SIZE_ENUM(VertexAttribEnum,pname,1)
  GLint64EXT* params = OGLM_ALLOC(pname_count,GLint64EXT,params);
  glGetVertexAttribLi64vNV(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribLi64vNV", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSViv)
  free(params);
#line 37053 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, params");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint64EXT*	params = INT2PTR(GLuint64EXT *,SvIV(ST(2)))
;
#line 18189 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribLui64vARB", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribLui64vARB, glGetVertexAttribLui64vARB)
  glGetVertexAttribLui64vARB(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribLui64vARB", )
#line 37079 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, params");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint64EXT*	params = INT2PTR(GLuint64EXT *,SvIV(ST(2)))
;
#line 18201 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribLui64vNV", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribLui64vNV, glGetVertexAttribLui64vNV)
  glGetVertexAttribLui64vNV(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribLui64vNV", )
#line 37104 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribLui64vNV_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 18212 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribLui64vNV", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribLui64vNV, glGetVertexAttribLui64vNV)
  OGLM_SIZE_ENUM(VertexAttribEnum,pname,1)
  GLuint64EXT* params = OGLM_ALLOC(pname_count,GLuint64EXT,params);
  glGetVertexAttribLui64vNV(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribLui64vNV", free(params);)
  OGLM_OUT_FINISH(params,pname_count,newSVuv)
  free(params);
#line 37133 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribPointerv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribPointerv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, pointer");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	void**	pointer = INT2PTR(void **,SvIV(ST(2)))
;
#line 18231 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribPointerv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribPointerv, glGetVertexAttribPointerv)
  glGetVertexAttribPointerv(index, pname, pointer);
  OGLM_CHECK_ERR("glGetVertexAttribPointerv", )
#line 37160 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribdv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribdv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, params");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLdouble*	params = INT2PTR(GLdouble *,SvIV(ST(2)))
;
#line 18246 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribdv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribdv, glGetVertexAttribdv)
  glGetVertexAttribdv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribdv", )
#line 37186 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribdv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribdv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 18260 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribdv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribdv, glGetVertexAttribdv)
  GLdouble* params = OGLM_ALLOC(4,GLdouble,params);
  glGetVertexAttribdv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribdv", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 37215 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribfv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, params");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 18278 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribfv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribfv, glGetVertexAttribfv)
  glGetVertexAttribfv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribfv", )
#line 37242 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribfv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 18292 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribfv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribfv, glGetVertexAttribfv)
  GLfloat* params = OGLM_ALLOC(4,GLfloat,params);
  glGetVertexAttribfv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribfv", free(params);)
  OGLM_OUT_FINISH(params,4,newSVnv)
  free(params);
#line 37271 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, params");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 18310 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribiv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribiv, glGetVertexAttribiv)
  glGetVertexAttribiv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribiv", )
#line 37298 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVertexAttribiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 18324 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVertexAttribiv", )
  OGLM_AVAIL_CHECK(__glewGetVertexAttribiv, glGetVertexAttribiv)
  GLint* params = OGLM_ALLOC(4,GLint,params);
  glGetVertexAttribiv(index, pname, params);
  OGLM_CHECK_ERR("glGetVertexAttribiv", free(params);)
  OGLM_OUT_FINISH(params,4,newSViv)
  free(params);
#line 37327 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetVideoCaptureStreamdvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVideoCaptureStreamdvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "video_capture_slot, stream, pname, params");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
	GLuint	stream = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLdouble*	params = INT2PTR(GLdouble *,SvIV(ST(3)))
;
#line 18340 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVideoCaptureStreamdvNV", )
  OGLM_AVAIL_CHECK(__glewGetVideoCaptureStreamdvNV, glGetVideoCaptureStreamdvNV)
  glGetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, params);
  OGLM_CHECK_ERR("glGetVideoCaptureStreamdvNV", )
#line 37355 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVideoCaptureStreamfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVideoCaptureStreamfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "video_capture_slot, stream, pname, params");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
	GLuint	stream = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 18353 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVideoCaptureStreamfvNV", )
  OGLM_AVAIL_CHECK(__glewGetVideoCaptureStreamfvNV, glGetVideoCaptureStreamfvNV)
  glGetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, params);
  OGLM_CHECK_ERR("glGetVideoCaptureStreamfvNV", )
#line 37382 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVideoCaptureStreamivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVideoCaptureStreamivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "video_capture_slot, stream, pname, params");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
	GLuint	stream = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 18366 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVideoCaptureStreamivNV", )
  OGLM_AVAIL_CHECK(__glewGetVideoCaptureStreamivNV, glGetVideoCaptureStreamivNV)
  glGetVideoCaptureStreamivNV(video_capture_slot, stream, pname, params);
  OGLM_CHECK_ERR("glGetVideoCaptureStreamivNV", )
#line 37409 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVideoCaptureivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVideoCaptureivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "video_capture_slot, pname, params");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 18378 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVideoCaptureivNV", )
  OGLM_AVAIL_CHECK(__glewGetVideoCaptureivNV, glGetVideoCaptureivNV)
  glGetVideoCaptureivNV(video_capture_slot, pname, params);
  OGLM_CHECK_ERR("glGetVideoCaptureivNV", )
#line 37434 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVideoi64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVideoi64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "video_slot, pname, params");
    {
	GLuint	video_slot = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint64EXT*	params = INT2PTR(GLint64EXT *,SvIV(ST(2)))
;
#line 18390 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVideoi64vNV", )
  OGLM_AVAIL_CHECK(__glewGetVideoi64vNV, glGetVideoi64vNV)
  glGetVideoi64vNV(video_slot, pname, params);
  OGLM_CHECK_ERR("glGetVideoi64vNV", )
#line 37459 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVideoivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVideoivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "video_slot, pname, params");
    {
	GLuint	video_slot = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(2)))
;
#line 18402 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVideoivNV", )
  OGLM_AVAIL_CHECK(__glewGetVideoivNV, glGetVideoivNV)
  glGetVideoivNV(video_slot, pname, params);
  OGLM_CHECK_ERR("glGetVideoivNV", )
#line 37484 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVideoui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVideoui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "video_slot, pname, params");
    {
	GLuint	video_slot = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint64EXT*	params = INT2PTR(GLuint64EXT *,SvIV(ST(2)))
;
#line 18414 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVideoui64vNV", )
  OGLM_AVAIL_CHECK(__glewGetVideoui64vNV, glGetVideoui64vNV)
  glGetVideoui64vNV(video_slot, pname, params);
  OGLM_CHECK_ERR("glGetVideoui64vNV", )
#line 37509 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVideouivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVideouivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "video_slot, pname, params");
    {
	GLuint	video_slot = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 18426 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVideouivNV", )
  OGLM_AVAIL_CHECK(__glewGetVideouivNV, glGetVideouivNV)
  glGetVideouivNV(video_slot, pname, params);
  OGLM_CHECK_ERR("glGetVideouivNV", )
#line 37534 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetVkProcAddrNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetVkProcAddrNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(0))
;
	GLVULKANPROCNV	RETVAL;
	dXSTARG;
#line 18436 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetVkProcAddrNV", )
  OGLM_AVAIL_CHECK(__glewGetVkProcAddrNV, glGetVkProcAddrNV)
  RETVAL = glGetVkProcAddrNV(name);
  OGLM_CHECK_ERR("glGetVkProcAddrNV", )
#line 37557 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glGetnColorTableARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnColorTableARB_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, format, type, bufSize, table");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	bufSize = (int)SvIV(ST(3))
;
	void*	table = INT2PTR(void *,SvIV(ST(4)))
;
#line 18452 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnColorTableARB", )
  OGLM_AVAIL_CHECK(__glewGetnColorTableARB, glGetnColorTableARB)
  glGetnColorTableARB(target, format, type, bufSize, table);
  OGLM_CHECK_ERR("glGetnColorTableARB", )
#line 37588 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnCompressedTexImage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnCompressedTexImage_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, lod, bufSize, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	lod = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLvoid *	pixels = INT2PTR(GLvoid *,SvIV(ST(3)))
;
#line 18465 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnCompressedTexImage", )
  OGLM_AVAIL_CHECK(__glewGetnCompressedTexImage, glGetnCompressedTexImage)
  glGetnCompressedTexImage(target, lod, bufSize, pixels);
  OGLM_CHECK_ERR("glGetnCompressedTexImage", )
#line 37615 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnCompressedTexImageARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnCompressedTexImageARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, lod, bufSize, img");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	lod = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	void*	img = INT2PTR(void *,SvIV(ST(3)))
;
#line 18478 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnCompressedTexImageARB", )
  OGLM_AVAIL_CHECK(__glewGetnCompressedTexImageARB, glGetnCompressedTexImageARB)
  glGetnCompressedTexImageARB(target, lod, bufSize, img);
  OGLM_CHECK_ERR("glGetnCompressedTexImageARB", )
#line 37642 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnConvolutionFilterARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnConvolutionFilterARB_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, format, type, bufSize, image");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	bufSize = (int)SvIV(ST(3))
;
	void*	image = INT2PTR(void *,SvIV(ST(4)))
;
#line 18492 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnConvolutionFilterARB", )
  OGLM_AVAIL_CHECK(__glewGetnConvolutionFilterARB, glGetnConvolutionFilterARB)
  glGetnConvolutionFilterARB(target, format, type, bufSize, image);
  OGLM_CHECK_ERR("glGetnConvolutionFilterARB", )
#line 37671 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnHistogramARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnHistogramARB_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, reset, format, type, bufSize, values");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLboolean	reset = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLsizei	bufSize = (int)SvIV(ST(4))
;
	void*	values = INT2PTR(void *,SvIV(ST(5)))
;
#line 18507 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnHistogramARB", )
  OGLM_AVAIL_CHECK(__glewGetnHistogramARB, glGetnHistogramARB)
  glGetnHistogramARB(target, reset, format, type, bufSize, values);
  OGLM_CHECK_ERR("glGetnHistogramARB", )
#line 37702 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnMapdvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnMapdvARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, query, bufSize, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	query = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLdouble*	v = INT2PTR(GLdouble *,SvIV(ST(3)))
;
#line 18520 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnMapdvARB", )
  OGLM_AVAIL_CHECK(__glewGetnMapdvARB, glGetnMapdvARB)
  glGetnMapdvARB(target, query, bufSize, v);
  OGLM_CHECK_ERR("glGetnMapdvARB", )
#line 37729 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnMapdvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnMapdvARB_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, query, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	query = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 18532 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnMapdvARB", )
  OGLM_AVAIL_CHECK(__glewGetnMapdvARB, glGetnMapdvARB)
  GLdouble* v = OGLM_ALLOC(bufSize/8,GLdouble,v);
  glGetnMapdvARB(target, query, bufSize, v);
  OGLM_CHECK_ERR("glGetnMapdvARB", free(v);)
  OGLM_OUT_FINISH(v,bufSize/8,newSVnv)
  free(v);
#line 37759 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnMapfvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnMapfvARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, query, bufSize, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	query = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLfloat*	v = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 18548 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnMapfvARB", )
  OGLM_AVAIL_CHECK(__glewGetnMapfvARB, glGetnMapfvARB)
  glGetnMapfvARB(target, query, bufSize, v);
  OGLM_CHECK_ERR("glGetnMapfvARB", )
#line 37787 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnMapfvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnMapfvARB_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, query, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	query = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 18560 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnMapfvARB", )
  OGLM_AVAIL_CHECK(__glewGetnMapfvARB, glGetnMapfvARB)
  GLfloat* v = OGLM_ALLOC(bufSize,GLfloat,v);
  glGetnMapfvARB(target, query, bufSize, v);
  OGLM_CHECK_ERR("glGetnMapfvARB", free(v);)
  OGLM_OUT_FINISH(v,bufSize,newSVnv)
  free(v);
#line 37817 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnMapivARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnMapivARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, query, bufSize, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	query = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLint*	v = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 18576 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnMapivARB", )
  OGLM_AVAIL_CHECK(__glewGetnMapivARB, glGetnMapivARB)
  glGetnMapivARB(target, query, bufSize, v);
  OGLM_CHECK_ERR("glGetnMapivARB", )
#line 37845 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnMapivARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnMapivARB_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, query, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	query = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 18588 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnMapivARB", )
  OGLM_AVAIL_CHECK(__glewGetnMapivARB, glGetnMapivARB)
  GLint* v = OGLM_ALLOC(bufSize,GLint,v);
  glGetnMapivARB(target, query, bufSize, v);
  OGLM_CHECK_ERR("glGetnMapivARB", free(v);)
  OGLM_OUT_FINISH(v,bufSize,newSViv)
  free(v);
#line 37875 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnMinmaxARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnMinmaxARB_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, reset, format, type, bufSize, values");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLboolean	reset = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLsizei	bufSize = (int)SvIV(ST(4))
;
	void*	values = INT2PTR(void *,SvIV(ST(5)))
;
#line 18606 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnMinmaxARB", )
  OGLM_AVAIL_CHECK(__glewGetnMinmaxARB, glGetnMinmaxARB)
  glGetnMinmaxARB(target, reset, format, type, bufSize, values);
  OGLM_CHECK_ERR("glGetnMinmaxARB", )
#line 37907 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapfvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapfvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "map, bufSize, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLfloat*	values = INT2PTR(GLfloat *,SvIV(ST(2)))
;
#line 18618 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnPixelMapfvARB", )
  OGLM_AVAIL_CHECK(__glewGetnPixelMapfvARB, glGetnPixelMapfvARB)
  glGetnPixelMapfvARB(map, bufSize, values);
  OGLM_CHECK_ERR("glGetnPixelMapfvARB", )
#line 37932 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapfvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapfvARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "map, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
#line 18629 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnPixelMapfvARB", )
  OGLM_AVAIL_CHECK(__glewGetnPixelMapfvARB, glGetnPixelMapfvARB)
  GLfloat* values = OGLM_ALLOC(bufSize/4,GLfloat,values);
  glGetnPixelMapfvARB(map, bufSize, values);
  OGLM_CHECK_ERR("glGetnPixelMapfvARB", free(values);)
  OGLM_OUT_FINISH(values,bufSize/4,newSVnv)
  free(values);
#line 37960 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapuivARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapuivARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "map, bufSize, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLuint*	values = INT2PTR(GLuint *,SvIV(ST(2)))
;
#line 18644 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnPixelMapuivARB", )
  OGLM_AVAIL_CHECK(__glewGetnPixelMapuivARB, glGetnPixelMapuivARB)
  glGetnPixelMapuivARB(map, bufSize, values);
  OGLM_CHECK_ERR("glGetnPixelMapuivARB", )
#line 37986 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapuivARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapuivARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "map, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
#line 18655 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnPixelMapuivARB", )
  OGLM_AVAIL_CHECK(__glewGetnPixelMapuivARB, glGetnPixelMapuivARB)
  GLuint* values = OGLM_ALLOC(bufSize,GLuint,values);
  glGetnPixelMapuivARB(map, bufSize, values);
  OGLM_CHECK_ERR("glGetnPixelMapuivARB", free(values);)
  OGLM_OUT_FINISH(values,bufSize,newSVuv)
  free(values);
#line 38014 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapusvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapusvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "map, bufSize, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
	GLushort*	values = INT2PTR(GLushort *,SvIV(ST(2)))
;
#line 18670 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnPixelMapusvARB", )
  OGLM_AVAIL_CHECK(__glewGetnPixelMapusvARB, glGetnPixelMapusvARB)
  glGetnPixelMapusvARB(map, bufSize, values);
  OGLM_CHECK_ERR("glGetnPixelMapusvARB", )
#line 38040 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapusvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnPixelMapusvARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "map, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	bufSize = (int)SvIV(ST(1))
;
#line 18681 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnPixelMapusvARB", )
  OGLM_AVAIL_CHECK(__glewGetnPixelMapusvARB, glGetnPixelMapusvARB)
  GLushort* values = OGLM_ALLOC(bufSize,GLushort,values);
  glGetnPixelMapusvARB(map, bufSize, values);
  OGLM_CHECK_ERR("glGetnPixelMapusvARB", free(values);)
  OGLM_OUT_FINISH(values,bufSize,newSVuv)
  free(values);
#line 38068 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnPolygonStippleARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnPolygonStippleARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "bufSize, pattern");
    {
	GLsizei	bufSize = (int)SvIV(ST(0))
;
	GLubyte*	pattern = INT2PTR(GLubyte *,SvIV(ST(1)))
;
#line 18695 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnPolygonStippleARB", )
  OGLM_AVAIL_CHECK(__glewGetnPolygonStippleARB, glGetnPolygonStippleARB)
  glGetnPolygonStippleARB(bufSize, pattern);
  OGLM_CHECK_ERR("glGetnPolygonStippleARB", )
#line 38092 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnPolygonStippleARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnPolygonStippleARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	bufSize = (int)SvIV(ST(0))
;
#line 18705 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnPolygonStippleARB", )
  OGLM_AVAIL_CHECK(__glewGetnPolygonStippleARB, glGetnPolygonStippleARB)
  GLubyte* pattern = OGLM_ALLOC(bufSize,GLubyte,pattern);
  glGetnPolygonStippleARB(bufSize, pattern);
  OGLM_CHECK_ERR("glGetnPolygonStippleARB", free(pattern);)
  OGLM_OUT_FINISH(pattern,bufSize,newSVuv)
  free(pattern);
#line 38118 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnSeparableFilterARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnSeparableFilterARB_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "target, format, type, rowBufSize, row, columnBufSize, column, span");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	rowBufSize = (int)SvIV(ST(3))
;
	void*	row = INT2PTR(void *,SvIV(ST(4)))
;
	GLsizei	columnBufSize = (int)SvIV(ST(5))
;
	void*	column = INT2PTR(void *,SvIV(ST(6)))
;
	void*	span = INT2PTR(void *,SvIV(ST(7)))
;
#line 18725 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnSeparableFilterARB", )
  OGLM_AVAIL_CHECK(__glewGetnSeparableFilterARB, glGetnSeparableFilterARB)
  glGetnSeparableFilterARB(target, format, type, rowBufSize, row, columnBufSize, column, span);
  OGLM_CHECK_ERR("glGetnSeparableFilterARB", )
#line 38154 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnTexImage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnTexImage_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, level, format, type, bufSize, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLsizei	bufSize = (int)SvIV(ST(4))
;
	GLvoid *	pixels = INT2PTR(GLvoid *,SvIV(ST(5)))
;
#line 18740 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnTexImage", )
  OGLM_AVAIL_CHECK(__glewGetnTexImage, glGetnTexImage)
  glGetnTexImage(target, level, format, type, bufSize, pixels);
  OGLM_CHECK_ERR("glGetnTexImage", )
#line 38185 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnTexImageARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnTexImageARB_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, level, format, type, bufSize, img");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLsizei	bufSize = (int)SvIV(ST(4))
;
	void*	img = INT2PTR(void *,SvIV(ST(5)))
;
#line 18755 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnTexImageARB", )
  OGLM_AVAIL_CHECK(__glewGetnTexImageARB, glGetnTexImageARB)
  glGetnTexImageARB(target, level, format, type, bufSize, img);
  OGLM_CHECK_ERR("glGetnTexImageARB", )
#line 38216 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformdv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformdv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, bufSize, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLdouble *	params = INT2PTR(GLdouble *,SvIV(ST(3)))
;
#line 18768 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformdv", )
  OGLM_AVAIL_CHECK(__glewGetnUniformdv, glGetnUniformdv)
  glGetnUniformdv(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformdv", )
#line 38243 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformdv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformdv_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 18780 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformdv", )
  OGLM_AVAIL_CHECK(__glewGetnUniformdv, glGetnUniformdv)
  GLdouble *params = OGLM_ALLOC(bufSize/8,GLdouble,params);
  glGetnUniformdv(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformdv", free(params);)
  OGLM_OUT_FINISH(params,bufSize/8,newSVnv)
  free(params);
#line 38273 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformdvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformdvARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, bufSize, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLdouble*	params = INT2PTR(GLdouble *,SvIV(ST(3)))
;
#line 18796 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformdvARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformdvARB, glGetnUniformdvARB)
  glGetnUniformdvARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformdvARB", )
#line 38301 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformdvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformdvARB_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 18808 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformdvARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformdvARB, glGetnUniformdvARB)
  GLdouble* params = OGLM_ALLOC(bufSize/8,GLdouble,params);
  glGetnUniformdvARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformdvARB", free(params);)
  OGLM_OUT_FINISH(params,bufSize/8,newSVnv)
  free(params);
#line 38331 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformfv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, bufSize, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 18827 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformfv", )
  OGLM_AVAIL_CHECK(__glewGetnUniformfv, glGetnUniformfv)
  glGetnUniformfv(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformfv", )
#line 38360 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformfv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 18842 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformfv", )
  OGLM_AVAIL_CHECK(__glewGetnUniformfv, glGetnUniformfv)
  GLfloat* params = OGLM_ALLOC(bufSize/4,GLfloat,params);
  glGetnUniformfv(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformfv", free(params);)
  OGLM_OUT_FINISH(params,bufSize/4,newSVnv)
  free(params);
#line 38391 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformfvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformfvARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, bufSize, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 18858 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformfvARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformfvARB, glGetnUniformfvARB)
  glGetnUniformfvARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformfvARB", )
#line 38419 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformfvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformfvARB_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 18870 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformfvARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformfvARB, glGetnUniformfvARB)
  GLfloat* params = OGLM_ALLOC(bufSize/4,GLfloat,params);
  glGetnUniformfvARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformfvARB", free(params);)
  OGLM_OUT_FINISH(params,bufSize/4,newSVnv)
  free(params);
#line 38449 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformi64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformi64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, bufSize, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLint64*	params = INT2PTR(GLint64 *,SvIV(ST(3)))
;
#line 18886 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformi64vARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformi64vARB, glGetnUniformi64vARB)
  glGetnUniformi64vARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformi64vARB", )
#line 38477 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformi64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformi64vARB_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 18898 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformi64vARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformi64vARB, glGetnUniformi64vARB)
  GLint64* params = OGLM_ALLOC(bufSize/8,GLint64,params);
  glGetnUniformi64vARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformi64vARB", free(params);)
  OGLM_OUT_FINISH(params,bufSize/8,newSViv)
  free(params);
#line 38507 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, bufSize, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 18917 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformiv", )
  OGLM_AVAIL_CHECK(__glewGetnUniformiv, glGetnUniformiv)
  glGetnUniformiv(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformiv", )
#line 38536 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 18932 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformiv", )
  OGLM_AVAIL_CHECK(__glewGetnUniformiv, glGetnUniformiv)
  GLint* params = OGLM_ALLOC(bufSize/4,GLint,params);
  glGetnUniformiv(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformiv", free(params);)
  OGLM_OUT_FINISH(params,bufSize/4,newSViv)
  free(params);
#line 38567 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformivARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformivARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, bufSize, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 18948 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformivARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformivARB, glGetnUniformivARB)
  glGetnUniformivARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformivARB", )
#line 38595 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformivARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformivARB_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 18960 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformivARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformivARB, glGetnUniformivARB)
  GLint* params = OGLM_ALLOC(bufSize/4,GLint,params);
  glGetnUniformivARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformivARB", free(params);)
  OGLM_OUT_FINISH(params,bufSize/4,newSViv)
  free(params);
#line 38625 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, bufSize, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLuint64*	params = INT2PTR(GLuint64 *,SvIV(ST(3)))
;
#line 18976 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformui64vARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformui64vARB, glGetnUniformui64vARB)
  glGetnUniformui64vARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformui64vARB", )
#line 38653 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformui64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformui64vARB_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 18988 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformui64vARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformui64vARB, glGetnUniformui64vARB)
  GLuint64* params = OGLM_ALLOC(bufSize/8,GLuint64,params);
  glGetnUniformui64vARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformui64vARB", free(params);)
  OGLM_OUT_FINISH(params,bufSize/8,newSVuv)
  free(params);
#line 38683 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformuiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, bufSize, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(3)))
;
#line 19006 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformuiv", )
  OGLM_AVAIL_CHECK(__glewGetnUniformuiv, glGetnUniformuiv)
  glGetnUniformuiv(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformuiv", )
#line 38712 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformuiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 19020 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformuiv", )
  OGLM_AVAIL_CHECK(__glewGetnUniformuiv, glGetnUniformuiv)
  GLuint* params = OGLM_ALLOC(bufSize/4,GLuint,params);
  glGetnUniformuiv(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformuiv", free(params);)
  OGLM_OUT_FINISH(params,bufSize/4,newSVuv)
  free(params);
#line 38743 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformuivARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformuivARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, bufSize, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(3)))
;
#line 19036 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformuivARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformuivARB, glGetnUniformuivARB)
  glGetnUniformuivARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformuivARB", )
#line 38771 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGetnUniformuivARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGetnUniformuivARB_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, bufSize");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
#line 19048 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGetnUniformuivARB", )
  OGLM_AVAIL_CHECK(__glewGetnUniformuivARB, glGetnUniformuivARB)
  GLuint* params = OGLM_ALLOC(bufSize/4,GLuint,params);
  glGetnUniformuivARB(program, location, bufSize, params);
  OGLM_CHECK_ERR("glGetnUniformuivARB", free(params);)
  OGLM_OUT_FINISH(params,bufSize/4,newSVuv)
  free(params);
#line 38801 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactorbSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactorbSUN)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "factor");
    {
	GLbyte	factor = (int)SvIV(ST(0))
;
#line 19061 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGlobalAlphaFactorbSUN", )
  OGLM_AVAIL_CHECK(__glewGlobalAlphaFactorbSUN, glGlobalAlphaFactorbSUN)
  glGlobalAlphaFactorbSUN(factor);
  OGLM_CHECK_ERR("glGlobalAlphaFactorbSUN", )
#line 38823 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactordSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactordSUN)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "factor");
    {
	GLdouble	factor = (double)SvNV(ST(0))
;
#line 19071 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGlobalAlphaFactordSUN", )
  OGLM_AVAIL_CHECK(__glewGlobalAlphaFactordSUN, glGlobalAlphaFactordSUN)
  glGlobalAlphaFactordSUN(factor);
  OGLM_CHECK_ERR("glGlobalAlphaFactordSUN", )
#line 38844 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactorfSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactorfSUN)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "factor");
    {
	GLfloat	factor = (float)SvNV(ST(0))
;
#line 19081 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGlobalAlphaFactorfSUN", )
  OGLM_AVAIL_CHECK(__glewGlobalAlphaFactorfSUN, glGlobalAlphaFactorfSUN)
  glGlobalAlphaFactorfSUN(factor);
  OGLM_CHECK_ERR("glGlobalAlphaFactorfSUN", )
#line 38865 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactoriSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactoriSUN)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "factor");
    {
	GLint	factor = (int)SvIV(ST(0))
;
#line 19091 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGlobalAlphaFactoriSUN", )
  OGLM_AVAIL_CHECK(__glewGlobalAlphaFactoriSUN, glGlobalAlphaFactoriSUN)
  glGlobalAlphaFactoriSUN(factor);
  OGLM_CHECK_ERR("glGlobalAlphaFactoriSUN", )
#line 38886 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactorsSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactorsSUN)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "factor");
    {
	GLshort	factor = (short)SvIV(ST(0))
;
#line 19101 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGlobalAlphaFactorsSUN", )
  OGLM_AVAIL_CHECK(__glewGlobalAlphaFactorsSUN, glGlobalAlphaFactorsSUN)
  glGlobalAlphaFactorsSUN(factor);
  OGLM_CHECK_ERR("glGlobalAlphaFactorsSUN", )
#line 38907 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactorubSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactorubSUN)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "factor");
    {
	GLubyte	factor = (unsigned int)SvUV(ST(0))
;
#line 19111 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGlobalAlphaFactorubSUN", )
  OGLM_AVAIL_CHECK(__glewGlobalAlphaFactorubSUN, glGlobalAlphaFactorubSUN)
  glGlobalAlphaFactorubSUN(factor);
  OGLM_CHECK_ERR("glGlobalAlphaFactorubSUN", )
#line 38928 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactoruiSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactoruiSUN)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "factor");
    {
	GLuint	factor = (unsigned int)SvUV(ST(0))
;
#line 19121 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGlobalAlphaFactoruiSUN", )
  OGLM_AVAIL_CHECK(__glewGlobalAlphaFactoruiSUN, glGlobalAlphaFactoruiSUN)
  glGlobalAlphaFactoruiSUN(factor);
  OGLM_CHECK_ERR("glGlobalAlphaFactoruiSUN", )
#line 38949 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactorusSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glGlobalAlphaFactorusSUN)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "factor");
    {
	GLushort	factor = (unsigned short)SvUV(ST(0))
;
#line 19131 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glGlobalAlphaFactorusSUN", )
  OGLM_AVAIL_CHECK(__glewGlobalAlphaFactorusSUN, glGlobalAlphaFactorusSUN)
  glGlobalAlphaFactorusSUN(factor);
  OGLM_CHECK_ERR("glGlobalAlphaFactorusSUN", )
#line 38970 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glHint); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glHint)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, mode");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 19142 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glHint", )
  glHint(target, mode);
  OGLM_CHECK_ERR("glHint", )
#line 38992 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glHistogram); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glHistogram)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, width, internalformat, sink");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	width = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLboolean	sink = (int)SvIV(ST(3))
;
#line 19156 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glHistogram", )
  OGLM_AVAIL_CHECK(__glewHistogram, glHistogram)
  glHistogram(target, width, internalformat, sink);
  OGLM_CHECK_ERR("glHistogram", )
#line 39020 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIglooInterfaceSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIglooInterfaceSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	void *	params = INT2PTR(void *,SvIV(ST(1)))
;
#line 19167 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIglooInterfaceSGIX", )
  OGLM_AVAIL_CHECK(__glewIglooInterfaceSGIX, glIglooInterfaceSGIX)
  glIglooInterfaceSGIX(pname, params);
  OGLM_CHECK_ERR("glIglooInterfaceSGIX", )
#line 39043 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glImageTransformParameterfHP); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glImageTransformParameterfHP)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat	param = (float)SvNV(ST(2))
;
#line 19179 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glImageTransformParameterfHP", )
  OGLM_AVAIL_CHECK(__glewImageTransformParameterfHP, glImageTransformParameterfHP)
  glImageTransformParameterfHP(target, pname, param);
  OGLM_CHECK_ERR("glImageTransformParameterfHP", )
#line 39068 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glImageTransformParameterfvHP_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glImageTransformParameterfvHP_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 19191 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glImageTransformParameterfvHP", )
  OGLM_AVAIL_CHECK(__glewImageTransformParameterfvHP, glImageTransformParameterfvHP)
  glImageTransformParameterfvHP(target, pname, params);
  OGLM_CHECK_ERR("glImageTransformParameterfvHP", )
#line 39093 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glImageTransformParameteriHP); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glImageTransformParameteriHP)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint	param = (int)SvIV(ST(2))
;
#line 19203 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glImageTransformParameteriHP", )
  OGLM_AVAIL_CHECK(__glewImageTransformParameteriHP, glImageTransformParameteriHP)
  glImageTransformParameteriHP(target, pname, param);
  OGLM_CHECK_ERR("glImageTransformParameteriHP", )
#line 39118 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glImageTransformParameterivHP_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glImageTransformParameterivHP_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 19215 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glImageTransformParameterivHP", )
  OGLM_AVAIL_CHECK(__glewImageTransformParameterivHP, glImageTransformParameterivHP)
  glImageTransformParameterivHP(target, pname, params);
  OGLM_CHECK_ERR("glImageTransformParameterivHP", )
#line 39143 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glImportMemoryFdEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glImportMemoryFdEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "memory, size, handleType, fd");
    {
	GLuint	memory = (unsigned int)SvUV(ST(0))
;
	GLuint64	size = (unsigned int)SvUV(ST(1))
;
	GLenum	handleType = (int)SvIV(ST(2))
;
	GLint	fd = (int)SvIV(ST(3))
;
#line 19228 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glImportMemoryFdEXT", )
  OGLM_AVAIL_CHECK(__glewImportMemoryFdEXT, glImportMemoryFdEXT)
  glImportMemoryFdEXT(memory, size, handleType, fd);
  OGLM_CHECK_ERR("glImportMemoryFdEXT", )
#line 39170 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glImportMemoryWin32HandleEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glImportMemoryWin32HandleEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "memory, size, handleType, handle");
    {
	GLuint	memory = (unsigned int)SvUV(ST(0))
;
	GLuint64	size = (unsigned int)SvUV(ST(1))
;
	GLenum	handleType = (int)SvIV(ST(2))
;
	void *	handle = INT2PTR(void *,SvIV(ST(3)))
;
#line 19241 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glImportMemoryWin32HandleEXT", )
  OGLM_AVAIL_CHECK(__glewImportMemoryWin32HandleEXT, glImportMemoryWin32HandleEXT)
  glImportMemoryWin32HandleEXT(memory, size, handleType, handle);
  OGLM_CHECK_ERR("glImportMemoryWin32HandleEXT", )
#line 39197 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glImportMemoryWin32NameEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glImportMemoryWin32NameEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "memory, size, handleType, name");
    {
	GLuint	memory = (unsigned int)SvUV(ST(0))
;
	GLuint64	size = (unsigned int)SvUV(ST(1))
;
	GLenum	handleType = (int)SvIV(ST(2))
;
	const void *	name = INT2PTR(const void *,SvIV(ST(3)))
;
#line 19254 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glImportMemoryWin32NameEXT", )
  OGLM_AVAIL_CHECK(__glewImportMemoryWin32NameEXT, glImportMemoryWin32NameEXT)
  glImportMemoryWin32NameEXT(memory, size, handleType, name);
  OGLM_CHECK_ERR("glImportMemoryWin32NameEXT", )
#line 39224 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glImportSemaphoreFdEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glImportSemaphoreFdEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "semaphore, handleType, fd");
    {
	GLuint	semaphore = (unsigned int)SvUV(ST(0))
;
	GLenum	handleType = (int)SvIV(ST(1))
;
	GLint	fd = (int)SvIV(ST(2))
;
#line 19266 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glImportSemaphoreFdEXT", )
  OGLM_AVAIL_CHECK(__glewImportSemaphoreFdEXT, glImportSemaphoreFdEXT)
  glImportSemaphoreFdEXT(semaphore, handleType, fd);
  OGLM_CHECK_ERR("glImportSemaphoreFdEXT", )
#line 39249 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glImportSemaphoreWin32HandleEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glImportSemaphoreWin32HandleEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "semaphore, handleType, handle");
    {
	GLuint	semaphore = (unsigned int)SvUV(ST(0))
;
	GLenum	handleType = (int)SvIV(ST(1))
;
	void *	handle = INT2PTR(void *,SvIV(ST(2)))
;
#line 19278 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glImportSemaphoreWin32HandleEXT", )
  OGLM_AVAIL_CHECK(__glewImportSemaphoreWin32HandleEXT, glImportSemaphoreWin32HandleEXT)
  glImportSemaphoreWin32HandleEXT(semaphore, handleType, handle);
  OGLM_CHECK_ERR("glImportSemaphoreWin32HandleEXT", )
#line 39274 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glImportSemaphoreWin32NameEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glImportSemaphoreWin32NameEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "semaphore, handleType, name");
    {
	GLuint	semaphore = (unsigned int)SvUV(ST(0))
;
	GLenum	handleType = (int)SvIV(ST(1))
;
	const void *	name = INT2PTR(const void *,SvIV(ST(2)))
;
#line 19290 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glImportSemaphoreWin32NameEXT", )
  OGLM_AVAIL_CHECK(__glewImportSemaphoreWin32NameEXT, glImportSemaphoreWin32NameEXT)
  glImportSemaphoreWin32NameEXT(semaphore, handleType, name);
  OGLM_CHECK_ERR("glImportSemaphoreWin32NameEXT", )
#line 39299 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glImportSyncEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glImportSyncEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "external_sync_type, external_sync, flags");
    {
	GLenum	external_sync_type = (int)SvIV(ST(0))
;
	GLintptr	external_sync = (unsigned int)SvUV(ST(1))
;
	GLbitfield	flags = (int)SvIV(ST(2))
;
	GLsync	RETVAL;
	dXSTARG;
#line 19302 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glImportSyncEXT", )
  OGLM_AVAIL_CHECK(__glewImportSyncEXT, glImportSyncEXT)
  RETVAL = glImportSyncEXT(external_sync_type, external_sync, flags);
  OGLM_CHECK_ERR("glImportSyncEXT", )
#line 39326 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIndexFormatNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexFormatNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, stride");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
#line 19315 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexFormatNV", )
  OGLM_AVAIL_CHECK(__glewIndexFormatNV, glIndexFormatNV)
  glIndexFormatNV(type, stride);
  OGLM_CHECK_ERR("glIndexFormatNV", )
#line 39351 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexFuncEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexFuncEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "func, ref");
    {
	GLenum	func = (int)SvIV(ST(0))
;
	GLfloat	ref = (float)SvNV(ST(1))
;
#line 19326 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexFuncEXT", )
  OGLM_AVAIL_CHECK(__glewIndexFuncEXT, glIndexFuncEXT)
  glIndexFuncEXT(func, ref);
  OGLM_CHECK_ERR("glIndexFuncEXT", )
#line 39374 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexMask); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexMask)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLuint	mask = (unsigned int)SvUV(ST(0))
;
#line 19336 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexMask", )
  glIndexMask(mask);
  OGLM_CHECK_ERR("glIndexMask", )
#line 39394 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexMaterialEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexMaterialEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, mode");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 19346 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexMaterialEXT", )
  OGLM_AVAIL_CHECK(__glewIndexMaterialEXT, glIndexMaterialEXT)
  glIndexMaterialEXT(face, mode);
  OGLM_CHECK_ERR("glIndexMaterialEXT", )
#line 39417 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexPointer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexPointer_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "type, stride, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(2)))
;
#line 19358 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexPointer", )
  glIndexPointer(type, stride, pointer);
  OGLM_CHECK_ERR("glIndexPointer", )
#line 39441 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexPointerEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexPointerEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "type, stride, count, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(3)))
;
#line 19370 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexPointerEXT", )
  OGLM_AVAIL_CHECK(__glewIndexPointerEXT, glIndexPointerEXT)
  glIndexPointerEXT(type, stride, count, pointer);
  OGLM_CHECK_ERR("glIndexPointerEXT", )
#line 39468 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexPointerListIBM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexPointerListIBM_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "type, stride, pointer, ptrstride");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLint	stride = (int)SvIV(ST(1))
;
	const void**	pointer = INT2PTR(const void **,SvIV(ST(2)))
;
	GLint	ptrstride = (int)SvIV(ST(3))
;
#line 19383 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexPointerListIBM", )
  OGLM_AVAIL_CHECK(__glewIndexPointerListIBM, glIndexPointerListIBM)
  glIndexPointerListIBM(type, stride, pointer, ptrstride);
  OGLM_CHECK_ERR("glIndexPointerListIBM", )
#line 39495 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexd); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexd)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "c");
    {
	GLdouble	c = (double)SvNV(ST(0))
;
#line 19393 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexd", )
  glIndexd(c);
  OGLM_CHECK_ERR("glIndexd", )
#line 39515 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexdv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexdv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "c");
    {
	const GLdouble *	c = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 19402 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexdv", )
  glIndexdv(c);
  OGLM_CHECK_ERR("glIndexdv", )
#line 39535 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexdv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexdv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 19410 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexdv", )
  GLdouble *c = OGLM_GET_VARARGS(c,0,GLdouble,NV,1);
  glIndexdv((const GLdouble *)c);
  OGLM_CHECK_ERR("glIndexdv", free(c);)
  free(c);
#line 39555 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexf)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "c");
    {
	GLfloat	c = (float)SvNV(ST(0))
;
#line 19421 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexf", )
  glIndexf(c);
  OGLM_CHECK_ERR("glIndexf", )
#line 39575 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexfv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "c");
    {
	const GLfloat *	c = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 19430 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexfv", )
  glIndexfv(c);
  OGLM_CHECK_ERR("glIndexfv", )
#line 39595 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexfv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 19438 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexfv", )
  GLfloat *c = OGLM_GET_VARARGS(c,0,GLfloat,NV,1);
  glIndexfv((const GLfloat *)c);
  OGLM_CHECK_ERR("glIndexfv", free(c);)
  free(c);
#line 39615 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexi); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexi)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "c");
    {
	GLint	c = (int)SvIV(ST(0))
;
#line 19449 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexi", )
  glIndexi(c);
  OGLM_CHECK_ERR("glIndexi", )
#line 39635 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexiv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "c");
    {
	const GLint *	c = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 19458 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexiv", )
  glIndexiv(c);
  OGLM_CHECK_ERR("glIndexiv", )
#line 39655 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexiv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 19466 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexiv", )
  GLint *c = OGLM_GET_VARARGS(c,0,GLint,IV,1);
  glIndexiv((const GLint *)c);
  OGLM_CHECK_ERR("glIndexiv", free(c);)
  free(c);
#line 39675 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexs); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexs)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "c");
    {
	GLshort	c = (short)SvIV(ST(0))
;
#line 19477 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexs", )
  glIndexs(c);
  OGLM_CHECK_ERR("glIndexs", )
#line 39695 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexsv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexsv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "c");
    {
	const GLshort *	c = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 19486 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexsv", )
  glIndexsv(c);
  OGLM_CHECK_ERR("glIndexsv", )
#line 39715 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexsv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexsv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 19494 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexsv", )
  GLshort *c = OGLM_GET_VARARGS(c,0,GLshort,IV,1);
  glIndexsv((const GLshort *)c);
  OGLM_CHECK_ERR("glIndexsv", free(c);)
  free(c);
#line 39735 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexub); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexub)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "c");
    {
	GLubyte	c = (unsigned int)SvUV(ST(0))
;
#line 19505 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexub", )
  glIndexub(c);
  OGLM_CHECK_ERR("glIndexub", )
#line 39755 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexubv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexubv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "c");
    {
	const GLubyte *        c = (const GLubyte *)SvPV_nolen(ST(0))
;
#line 19514 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexubv", )
  glIndexubv(c);
  OGLM_CHECK_ERR("glIndexubv", )
#line 39775 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIndexubv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIndexubv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 19522 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIndexubv", )
  GLubyte *c = OGLM_GET_VARARGS(c,0,GLubyte,UV,1);
  glIndexubv((const GLubyte *)c);
  OGLM_CHECK_ERR("glIndexubv", free(c);)
  free(c);
#line 39795 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInitNames); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInitNames)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 19532 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInitNames", )
  glInitNames();
  OGLM_CHECK_ERR("glInitNames", )
#line 39813 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInsertComponentEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInsertComponentEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "res, src, num");
    {
	GLuint	res = (unsigned int)SvUV(ST(0))
;
	GLuint	src = (unsigned int)SvUV(ST(1))
;
	GLuint	num = (unsigned int)SvUV(ST(2))
;
#line 19543 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInsertComponentEXT", )
  OGLM_AVAIL_CHECK(__glewInsertComponentEXT, glInsertComponentEXT)
  glInsertComponentEXT(res, src, num);
  OGLM_CHECK_ERR("glInsertComponentEXT", )
#line 39838 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInsertEventMarkerEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInsertEventMarkerEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "length, marker");
    {
	GLsizei	length = (int)SvIV(ST(0))
;
	const GLchar*	marker = (const GLchar *)SvPV_nolen(ST(1))
;
#line 19554 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInsertEventMarkerEXT", )
  OGLM_AVAIL_CHECK(__glewInsertEventMarkerEXT, glInsertEventMarkerEXT)
  glInsertEventMarkerEXT(length, marker);
  OGLM_CHECK_ERR("glInsertEventMarkerEXT", )
#line 39861 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInterleavedArrays_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInterleavedArrays_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "format, stride, pointer");
    {
	GLenum	format = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(2)))
;
#line 19566 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInterleavedArrays", )
  glInterleavedArrays(format, stride, pointer);
  OGLM_CHECK_ERR("glInterleavedArrays", )
#line 39885 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInterleavedTextureCoordSetsSGIS); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInterleavedTextureCoordSetsSGIS)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "factor");
    {
	GLint	factor = (int)SvIV(ST(0))
;
#line 19575 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInterleavedTextureCoordSetsSGIS", )
  OGLM_AVAIL_CHECK(__glewInterleavedTextureCoordSetsSGIS, glInterleavedTextureCoordSetsSGIS)
  glInterleavedTextureCoordSetsSGIS(factor);
  OGLM_CHECK_ERR("glInterleavedTextureCoordSetsSGIS", )
#line 39906 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInterpolatePathsNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInterpolatePathsNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "resultPath, pathA, pathB, weight");
    {
	GLuint	resultPath = (unsigned int)SvUV(ST(0))
;
	GLuint	pathA = (unsigned int)SvUV(ST(1))
;
	GLuint	pathB = (unsigned int)SvUV(ST(2))
;
	GLfloat	weight = (float)SvNV(ST(3))
;
#line 19588 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInterpolatePathsNV", )
  OGLM_AVAIL_CHECK(__glewInterpolatePathsNV, glInterpolatePathsNV)
  glInterpolatePathsNV(resultPath, pathA, pathB, weight);
  OGLM_CHECK_ERR("glInterpolatePathsNV", )
#line 39933 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateBufferData); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateBufferData)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "buffer");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
#line 19598 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateBufferData", )
  OGLM_AVAIL_CHECK(__glewInvalidateBufferData, glInvalidateBufferData)
  glInvalidateBufferData(buffer);
  OGLM_CHECK_ERR("glInvalidateBufferData", )
#line 39954 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateBufferSubData); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateBufferSubData)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, offset, length");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	length = (unsigned int)SvUV(ST(2))
;
#line 19610 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateBufferSubData", )
  OGLM_AVAIL_CHECK(__glewInvalidateBufferSubData, glInvalidateBufferSubData)
  glInvalidateBufferSubData(buffer, offset, length);
  OGLM_CHECK_ERR("glInvalidateBufferSubData", )
#line 39979 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateFramebuffer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateFramebuffer_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, numAttachments, attachments");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	numAttachments = (int)SvIV(ST(1))
;
	const GLenum*	attachments = INT2PTR(const GLenum *,SvIV(ST(2)))
;
#line 19622 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateFramebuffer", )
  OGLM_AVAIL_CHECK(__glewInvalidateFramebuffer, glInvalidateFramebuffer)
  glInvalidateFramebuffer(target, numAttachments, attachments);
  OGLM_CHECK_ERR("glInvalidateFramebuffer", )
#line 40004 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateFramebuffer_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateFramebuffer_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 19632 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateFramebuffer", )
  OGLM_AVAIL_CHECK(__glewInvalidateFramebuffer, glInvalidateFramebuffer)
  GLsizei numAttachments = items-1;
  GLenum* attachments = OGLM_GET_VARARGS(attachments,1,GLenum,IV,numAttachments);
  glInvalidateFramebuffer((GLenum )target, (GLsizei )numAttachments, (const GLenum* )attachments);
  OGLM_CHECK_ERR("glInvalidateFramebuffer", free(attachments);)
  free(attachments);
#line 40028 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateNamedFramebufferData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateNamedFramebufferData_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "framebuffer, numAttachments, attachments");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLsizei	numAttachments = (int)SvIV(ST(1))
;
	const GLenum*	attachments = INT2PTR(const GLenum *,SvIV(ST(2)))
;
#line 19647 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateNamedFramebufferData", )
  OGLM_AVAIL_CHECK(__glewInvalidateNamedFramebufferData, glInvalidateNamedFramebufferData)
  glInvalidateNamedFramebufferData(framebuffer, numAttachments, attachments);
  OGLM_CHECK_ERR("glInvalidateNamedFramebufferData", )
#line 40053 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateNamedFramebufferData_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateNamedFramebufferData_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "framebuffer, ...");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
#line 19657 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateNamedFramebufferData", )
  OGLM_AVAIL_CHECK(__glewInvalidateNamedFramebufferData, glInvalidateNamedFramebufferData)
  GLsizei numAttachments = items-1;
  GLenum* attachments = OGLM_GET_VARARGS(attachments,1,GLenum,IV,numAttachments);
  glInvalidateNamedFramebufferData((GLuint )framebuffer, (GLsizei )numAttachments, (const GLenum* )attachments);
  OGLM_CHECK_ERR("glInvalidateNamedFramebufferData", free(attachments);)
  free(attachments);
#line 40077 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateNamedFramebufferSubData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateNamedFramebufferSubData_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "framebuffer, numAttachments, attachments, x, y, width, height");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLsizei	numAttachments = (int)SvIV(ST(1))
;
	const GLenum*	attachments = INT2PTR(const GLenum *,SvIV(ST(2)))
;
	GLint	x = (int)SvIV(ST(3))
;
	GLint	y = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
#line 19676 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateNamedFramebufferSubData", )
  OGLM_AVAIL_CHECK(__glewInvalidateNamedFramebufferSubData, glInvalidateNamedFramebufferSubData)
  glInvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height);
  OGLM_CHECK_ERR("glInvalidateNamedFramebufferSubData", )
#line 40110 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateNamedFramebufferSubData_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateNamedFramebufferSubData_p)
{
    dVAR; dXSARGS;
    if (items < 5)
       croak_xs_usage(cv,  "framebuffer, x, y, width, height, ...");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLint	x = (int)SvIV(ST(1))
;
	GLint	y = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 19690 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateNamedFramebufferSubData", )
  OGLM_AVAIL_CHECK(__glewInvalidateNamedFramebufferSubData, glInvalidateNamedFramebufferSubData)
  GLsizei numAttachments = items-5;
  GLenum* attachments = OGLM_GET_VARARGS(attachments,5,GLenum,IV,numAttachments);
  glInvalidateNamedFramebufferSubData((GLuint )framebuffer, (GLsizei )numAttachments, (const GLenum* )attachments, (GLint )x, (GLint )y, (GLsizei )width, (GLsizei )height);
  OGLM_CHECK_ERR("glInvalidateNamedFramebufferSubData", free(attachments);)
  free(attachments);
#line 40142 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateSubFramebuffer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateSubFramebuffer_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, numAttachments, attachments, x, y, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	numAttachments = (int)SvIV(ST(1))
;
	const GLenum*	attachments = INT2PTR(const GLenum *,SvIV(ST(2)))
;
	GLint	x = (int)SvIV(ST(3))
;
	GLint	y = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
#line 19709 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateSubFramebuffer", )
  OGLM_AVAIL_CHECK(__glewInvalidateSubFramebuffer, glInvalidateSubFramebuffer)
  glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height);
  OGLM_CHECK_ERR("glInvalidateSubFramebuffer", )
#line 40175 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateSubFramebuffer_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateSubFramebuffer_p)
{
    dVAR; dXSARGS;
    if (items < 5)
       croak_xs_usage(cv,  "target, x, y, width, height, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	x = (int)SvIV(ST(1))
;
	GLint	y = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 19723 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateSubFramebuffer", )
  OGLM_AVAIL_CHECK(__glewInvalidateSubFramebuffer, glInvalidateSubFramebuffer)
  GLsizei numAttachments = items-5;
  GLenum* attachments = OGLM_GET_VARARGS(attachments,5,GLenum,IV,numAttachments);
  glInvalidateSubFramebuffer((GLenum )target, (GLsizei )numAttachments, (const GLenum* )attachments, (GLint )x, (GLint )y, (GLsizei )width, (GLsizei )height);
  OGLM_CHECK_ERR("glInvalidateSubFramebuffer", free(attachments);)
  free(attachments);
#line 40207 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateTexImage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateTexImage)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "texture, level");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
#line 19737 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateTexImage", )
  OGLM_AVAIL_CHECK(__glewInvalidateTexImage, glInvalidateTexImage)
  glInvalidateTexImage(texture, level);
  OGLM_CHECK_ERR("glInvalidateTexImage", )
#line 40230 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glInvalidateTexSubImage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glInvalidateTexSubImage)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, level, xoffset, yoffset, zoffset, width, height, depth");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
#line 19754 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glInvalidateTexSubImage", )
  OGLM_AVAIL_CHECK(__glewInvalidateTexSubImage, glInvalidateTexSubImage)
  glInvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth);
  OGLM_CHECK_ERR("glInvalidateTexSubImage", )
#line 40265 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glIsAsyncMarkerSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsAsyncMarkerSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "marker");
    {
	GLuint	marker = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19764 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsAsyncMarkerSGIX", )
  OGLM_AVAIL_CHECK(__glewIsAsyncMarkerSGIX, glIsAsyncMarkerSGIX)
  RETVAL = glIsAsyncMarkerSGIX(marker);
  OGLM_CHECK_ERR("glIsAsyncMarkerSGIX", )
#line 40288 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsBuffer)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "buffer");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19778 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsBuffer", )
  OGLM_AVAIL_CHECK(__glewIsBuffer, glIsBuffer)
  RETVAL = glIsBuffer(buffer);
  OGLM_CHECK_ERR("glIsBuffer", )
#line 40314 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsBufferResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsBufferResidentNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19790 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsBufferResidentNV", )
  OGLM_AVAIL_CHECK(__glewIsBufferResidentNV, glIsBufferResidentNV)
  RETVAL = glIsBufferResidentNV(target);
  OGLM_CHECK_ERR("glIsBufferResidentNV", )
#line 40339 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsCommandListNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsCommandListNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "list");
    {
	GLuint	list = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19802 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsCommandListNV", )
  OGLM_AVAIL_CHECK(__glewIsCommandListNV, glIsCommandListNV)
  RETVAL = glIsCommandListNV(list);
  OGLM_CHECK_ERR("glIsCommandListNV", )
#line 40364 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsEnabled); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsEnabled)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "cap");
    {
	GLenum	cap = (int)SvIV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19814 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsEnabled", )
  RETVAL = glIsEnabled(cap);
  OGLM_CHECK_ERR("glIsEnabled", )
#line 40388 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsEnabledi); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsEnabledi)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19830 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsEnabledi", )
  OGLM_AVAIL_CHECK(__glewIsEnabledi, glIsEnabledi)
  RETVAL = glIsEnabledi(target, index);
  OGLM_CHECK_ERR("glIsEnabledi", )
#line 40416 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsEnablediOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsEnablediOES)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, index");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19843 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsEnablediOES", )
  OGLM_AVAIL_CHECK(__glewIsEnablediOES, glIsEnablediOES)
  RETVAL = glIsEnablediOES(target, index);
  OGLM_CHECK_ERR("glIsEnablediOES", )
#line 40443 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsFenceAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsFenceAPPLE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "fence");
    {
	GLuint	fence = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19855 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsFenceAPPLE", )
  OGLM_AVAIL_CHECK(__glewIsFenceAPPLE, glIsFenceAPPLE)
  RETVAL = glIsFenceAPPLE(fence);
  OGLM_CHECK_ERR("glIsFenceAPPLE", )
#line 40468 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsFenceNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsFenceNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "fence");
    {
	GLuint	fence = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19867 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsFenceNV", )
  OGLM_AVAIL_CHECK(__glewIsFenceNV, glIsFenceNV)
  RETVAL = glIsFenceNV(fence);
  OGLM_CHECK_ERR("glIsFenceNV", )
#line 40493 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsFramebuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsFramebuffer)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "framebuffer");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19881 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsFramebuffer", )
  OGLM_AVAIL_CHECK(__glewIsFramebuffer, glIsFramebuffer)
  RETVAL = glIsFramebuffer(framebuffer);
  OGLM_CHECK_ERR("glIsFramebuffer", )
#line 40519 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsFramebufferOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsFramebufferOES)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "framebuffer");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19893 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsFramebufferOES", )
  OGLM_AVAIL_CHECK(__glewIsFramebufferOES, glIsFramebufferOES)
  RETVAL = glIsFramebufferOES(framebuffer);
  OGLM_CHECK_ERR("glIsFramebufferOES", )
#line 40544 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsImageHandleResidentARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsImageHandleResidentARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "handle");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19905 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsImageHandleResidentARB", )
  OGLM_AVAIL_CHECK(__glewIsImageHandleResidentARB, glIsImageHandleResidentARB)
  RETVAL = glIsImageHandleResidentARB(handle);
  OGLM_CHECK_ERR("glIsImageHandleResidentARB", )
#line 40569 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsImageHandleResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsImageHandleResidentNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "handle");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19917 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsImageHandleResidentNV", )
  OGLM_AVAIL_CHECK(__glewIsImageHandleResidentNV, glIsImageHandleResidentNV)
  RETVAL = glIsImageHandleResidentNV(handle);
  OGLM_CHECK_ERR("glIsImageHandleResidentNV", )
#line 40594 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsList); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsList)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "list");
    {
	GLuint	list = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19929 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsList", )
  RETVAL = glIsList(list);
  OGLM_CHECK_ERR("glIsList", )
#line 40618 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsMPEGPredictorSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsMPEGPredictorSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "predictor");
    {
	GLuint	predictor = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19940 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsMPEGPredictorSGIX", )
  OGLM_AVAIL_CHECK(__glewIsMPEGPredictorSGIX, glIsMPEGPredictorSGIX)
  RETVAL = glIsMPEGPredictorSGIX(predictor);
  OGLM_CHECK_ERR("glIsMPEGPredictorSGIX", )
#line 40643 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsMemoryObjectEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsMemoryObjectEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "memoryObject");
    {
	GLuint	memoryObject = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19952 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsMemoryObjectEXT", )
  OGLM_AVAIL_CHECK(__glewIsMemoryObjectEXT, glIsMemoryObjectEXT)
  RETVAL = glIsMemoryObjectEXT(memoryObject);
  OGLM_CHECK_ERR("glIsMemoryObjectEXT", )
#line 40668 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsNameAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsNameAMD)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "identifier, name");
    {
	GLenum	identifier = (int)SvIV(ST(0))
;
	GLuint	name = (unsigned int)SvUV(ST(1))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19965 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsNameAMD", )
  OGLM_AVAIL_CHECK(__glewIsNameAMD, glIsNameAMD)
  RETVAL = glIsNameAMD(identifier, name);
  OGLM_CHECK_ERR("glIsNameAMD", )
#line 40695 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsNamedBufferResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsNamedBufferResidentNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "buffer");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19977 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsNamedBufferResidentNV", )
  OGLM_AVAIL_CHECK(__glewIsNamedBufferResidentNV, glIsNamedBufferResidentNV)
  RETVAL = glIsNamedBufferResidentNV(buffer);
  OGLM_CHECK_ERR("glIsNamedBufferResidentNV", )
#line 40720 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsNamedStringARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsNamedStringARB)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "namelen, name");
    {
	GLint	namelen = (int)SvIV(ST(0))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(1))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 19990 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsNamedStringARB", )
  OGLM_AVAIL_CHECK(__glewIsNamedStringARB, glIsNamedStringARB)
  RETVAL = glIsNamedStringARB(namelen, name);
  OGLM_CHECK_ERR("glIsNamedStringARB", )
#line 40747 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsObjectBufferATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsObjectBufferATI)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "buffer");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20002 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsObjectBufferATI", )
  OGLM_AVAIL_CHECK(__glewIsObjectBufferATI, glIsObjectBufferATI)
  RETVAL = glIsObjectBufferATI(buffer);
  OGLM_CHECK_ERR("glIsObjectBufferATI", )
#line 40772 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsOcclusionQueryNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsOcclusionQueryNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20014 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsOcclusionQueryNV", )
  OGLM_AVAIL_CHECK(__glewIsOcclusionQueryNV, glIsOcclusionQueryNV)
  RETVAL = glIsOcclusionQueryNV(id);
  OGLM_CHECK_ERR("glIsOcclusionQueryNV", )
#line 40797 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsPathNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsPathNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "path");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20026 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsPathNV", )
  OGLM_AVAIL_CHECK(__glewIsPathNV, glIsPathNV)
  RETVAL = glIsPathNV(path);
  OGLM_CHECK_ERR("glIsPathNV", )
#line 40822 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsPointInFillPathNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsPointInFillPathNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "path, mask, x, y");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLuint	mask = (unsigned int)SvUV(ST(1))
;
	GLfloat	x = (float)SvNV(ST(2))
;
	GLfloat	y = (float)SvNV(ST(3))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20041 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsPointInFillPathNV", )
  OGLM_AVAIL_CHECK(__glewIsPointInFillPathNV, glIsPointInFillPathNV)
  RETVAL = glIsPointInFillPathNV(path, mask, x, y);
  OGLM_CHECK_ERR("glIsPointInFillPathNV", )
#line 40853 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsPointInStrokePathNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsPointInStrokePathNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "path, x, y");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20055 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsPointInStrokePathNV", )
  OGLM_AVAIL_CHECK(__glewIsPointInStrokePathNV, glIsPointInStrokePathNV)
  RETVAL = glIsPointInStrokePathNV(path, x, y);
  OGLM_CHECK_ERR("glIsPointInStrokePathNV", )
#line 40882 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsProgram); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsProgram)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "program");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20067 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsProgram", )
  OGLM_AVAIL_CHECK(__glewIsProgram, glIsProgram)
  RETVAL = glIsProgram(program);
  OGLM_CHECK_ERR("glIsProgram", )
#line 40907 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsProgramARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsProgramARB)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "program");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20081 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsProgramARB", )
  OGLM_AVAIL_CHECK(__glewIsProgramARB, glIsProgramARB)
  RETVAL = glIsProgramARB(program);
  OGLM_CHECK_ERR("glIsProgramARB", )
#line 40933 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsProgramPipeline); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsProgramPipeline)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pipeline");
    {
	GLuint	pipeline = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20093 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsProgramPipeline", )
  OGLM_AVAIL_CHECK(__glewIsProgramPipeline, glIsProgramPipeline)
  RETVAL = glIsProgramPipeline(pipeline);
  OGLM_CHECK_ERR("glIsProgramPipeline", )
#line 40958 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsQuery); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsQuery)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20107 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsQuery", )
  OGLM_AVAIL_CHECK(__glewIsQuery, glIsQuery)
  RETVAL = glIsQuery(id);
  OGLM_CHECK_ERR("glIsQuery", )
#line 40984 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsQueryANGLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsQueryANGLE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20119 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsQueryANGLE", )
  OGLM_AVAIL_CHECK(__glewIsQueryANGLE, glIsQueryANGLE)
  RETVAL = glIsQueryANGLE(id);
  OGLM_CHECK_ERR("glIsQueryANGLE", )
#line 41009 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsQueryEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsQueryEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20131 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsQueryEXT", )
  OGLM_AVAIL_CHECK(__glewIsQueryEXT, glIsQueryEXT)
  RETVAL = glIsQueryEXT(id);
  OGLM_CHECK_ERR("glIsQueryEXT", )
#line 41034 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsRenderbuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsRenderbuffer)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "renderbuffer");
    {
	GLuint	renderbuffer = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20145 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsRenderbuffer", )
  OGLM_AVAIL_CHECK(__glewIsRenderbuffer, glIsRenderbuffer)
  RETVAL = glIsRenderbuffer(renderbuffer);
  OGLM_CHECK_ERR("glIsRenderbuffer", )
#line 41060 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsRenderbufferOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsRenderbufferOES)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "renderbuffer");
    {
	GLuint	renderbuffer = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20157 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsRenderbufferOES", )
  OGLM_AVAIL_CHECK(__glewIsRenderbufferOES, glIsRenderbufferOES)
  RETVAL = glIsRenderbufferOES(renderbuffer);
  OGLM_CHECK_ERR("glIsRenderbufferOES", )
#line 41085 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsSampler); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsSampler)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "sampler");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20169 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsSampler", )
  OGLM_AVAIL_CHECK(__glewIsSampler, glIsSampler)
  RETVAL = glIsSampler(sampler);
  OGLM_CHECK_ERR("glIsSampler", )
#line 41110 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsSemaphoreEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsSemaphoreEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "semaphore");
    {
	GLuint	semaphore = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20181 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsSemaphoreEXT", )
  OGLM_AVAIL_CHECK(__glewIsSemaphoreEXT, glIsSemaphoreEXT)
  RETVAL = glIsSemaphoreEXT(semaphore);
  OGLM_CHECK_ERR("glIsSemaphoreEXT", )
#line 41135 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsShader); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsShader)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "shader");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20193 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsShader", )
  OGLM_AVAIL_CHECK(__glewIsShader, glIsShader)
  RETVAL = glIsShader(shader);
  OGLM_CHECK_ERR("glIsShader", )
#line 41160 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsStateNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsStateNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "state");
    {
	GLuint	state = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20205 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsStateNV", )
  OGLM_AVAIL_CHECK(__glewIsStateNV, glIsStateNV)
  RETVAL = glIsStateNV(state);
  OGLM_CHECK_ERR("glIsStateNV", )
#line 41185 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsSupportedREGAL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsSupportedREGAL)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "ext");
    {
	const GLchar*	ext = (const GLchar *)SvPV_nolen(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20217 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsSupportedREGAL", )
  OGLM_AVAIL_CHECK(__glewIsSupportedREGAL, glIsSupportedREGAL)
  RETVAL = glIsSupportedREGAL(ext);
  OGLM_CHECK_ERR("glIsSupportedREGAL", )
#line 41210 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsSync); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsSync)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "myGLsync");
    {
	GLsync	myGLsync = INT2PTR(GLsync,SvIV(ST(0)))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20231 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsSync", )
  OGLM_AVAIL_CHECK(__glewIsSync, glIsSync)
  RETVAL = glIsSync(myGLsync);
  OGLM_CHECK_ERR("glIsSync", )
#line 41236 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsTexture); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsTexture)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "texture");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20243 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsTexture", )
  RETVAL = glIsTexture(texture);
  OGLM_CHECK_ERR("glIsTexture", )
#line 41260 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsTextureEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsTextureEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "texture");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20254 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsTextureEXT", )
  OGLM_AVAIL_CHECK(__glewIsTextureEXT, glIsTextureEXT)
  RETVAL = glIsTextureEXT(texture);
  OGLM_CHECK_ERR("glIsTextureEXT", )
#line 41285 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsTextureHandleResidentARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsTextureHandleResidentARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "handle");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20266 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsTextureHandleResidentARB", )
  OGLM_AVAIL_CHECK(__glewIsTextureHandleResidentARB, glIsTextureHandleResidentARB)
  RETVAL = glIsTextureHandleResidentARB(handle);
  OGLM_CHECK_ERR("glIsTextureHandleResidentARB", )
#line 41310 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsTextureHandleResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsTextureHandleResidentNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "handle");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20278 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsTextureHandleResidentNV", )
  OGLM_AVAIL_CHECK(__glewIsTextureHandleResidentNV, glIsTextureHandleResidentNV)
  RETVAL = glIsTextureHandleResidentNV(handle);
  OGLM_CHECK_ERR("glIsTextureHandleResidentNV", )
#line 41335 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsTransformFeedback); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsTransformFeedback)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "id");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20292 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsTransformFeedback", )
  OGLM_AVAIL_CHECK(__glewIsTransformFeedback, glIsTransformFeedback)
  RETVAL = glIsTransformFeedback(id);
  OGLM_CHECK_ERR("glIsTransformFeedback", )
#line 41361 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsVariantEnabledEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsVariantEnabledEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, cap");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	cap = (int)SvIV(ST(1))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20305 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsVariantEnabledEXT", )
  OGLM_AVAIL_CHECK(__glewIsVariantEnabledEXT, glIsVariantEnabledEXT)
  RETVAL = glIsVariantEnabledEXT(id, cap);
  OGLM_CHECK_ERR("glIsVariantEnabledEXT", )
#line 41388 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsVertexArray); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsVertexArray)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "array");
    {
	GLuint	array = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20319 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsVertexArray", )
  OGLM_AVAIL_CHECK(__glewIsVertexArray, glIsVertexArray)
  RETVAL = glIsVertexArray(array);
  OGLM_CHECK_ERR("glIsVertexArray", )
#line 41414 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsVertexArrayOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsVertexArrayOES)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "array");
    {
	GLuint	array = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20331 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsVertexArrayOES", )
  OGLM_AVAIL_CHECK(__glewIsVertexArrayOES, glIsVertexArrayOES)
  RETVAL = glIsVertexArrayOES(array);
  OGLM_CHECK_ERR("glIsVertexArrayOES", )
#line 41439 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsVertexArraySGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsVertexArraySGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "array");
    {
	GLuint	array = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20343 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsVertexArraySGIX", )
  OGLM_AVAIL_CHECK(__glewIsVertexArraySGIX, glIsVertexArraySGIX)
  RETVAL = glIsVertexArraySGIX(array);
  OGLM_CHECK_ERR("glIsVertexArraySGIX", )
#line 41464 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glIsVertexAttribEnabledAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glIsVertexAttribEnabledAPPLE)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, pname");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 20356 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glIsVertexAttribEnabledAPPLE", )
  OGLM_AVAIL_CHECK(__glewIsVertexAttribEnabledAPPLE, glIsVertexAttribEnabledAPPLE)
  RETVAL = glIsVertexAttribEnabledAPPLE(index, pname);
  OGLM_CHECK_ERR("glIsVertexAttribEnabledAPPLE", )
#line 41491 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glLGPUCopyImageSubDataNVX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLGPUCopyImageSubDataNVX)
{
    dVAR; dXSARGS;
    if (items != 17)
       croak_xs_usage(cv,  "sourceGpu, destinationGpuMask, srcName, srcTarget, srcLevel, srcX, srxY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth");
    {
	GLuint	sourceGpu = (unsigned int)SvUV(ST(0))
;
	GLbitfield	destinationGpuMask = (int)SvIV(ST(1))
;
	GLuint	srcName = (unsigned int)SvUV(ST(2))
;
	GLenum	srcTarget = (int)SvIV(ST(3))
;
	GLint	srcLevel = (int)SvIV(ST(4))
;
	GLint	srcX = (int)SvIV(ST(5))
;
	GLint	srxY = (int)SvIV(ST(6))
;
	GLint	srcZ = (int)SvIV(ST(7))
;
	GLuint	dstName = (unsigned int)SvUV(ST(8))
;
	GLenum	dstTarget = (int)SvIV(ST(9))
;
	GLint	dstLevel = (int)SvIV(ST(10))
;
	GLint	dstX = (int)SvIV(ST(11))
;
	GLint	dstY = (int)SvIV(ST(12))
;
	GLint	dstZ = (int)SvIV(ST(13))
;
	GLsizei	width = (int)SvIV(ST(14))
;
	GLsizei	height = (int)SvIV(ST(15))
;
	GLsizei	depth = (int)SvIV(ST(16))
;
#line 20384 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLGPUCopyImageSubDataNVX", )
  OGLM_AVAIL_CHECK(__glewLGPUCopyImageSubDataNVX, glLGPUCopyImageSubDataNVX)
  glLGPUCopyImageSubDataNVX(sourceGpu, destinationGpuMask, srcName, srcTarget, srcLevel, srcX, srxY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth);
  OGLM_CHECK_ERR("glLGPUCopyImageSubDataNVX", )
#line 41546 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLGPUInterlockNVX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLGPUInterlockNVX)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 20393 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLGPUInterlockNVX", )
  OGLM_AVAIL_CHECK(__glewLGPUInterlockNVX, glLGPUInterlockNVX)
  glLGPUInterlockNVX();
  OGLM_CHECK_ERR("glLGPUInterlockNVX", )
#line 41565 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLGPUNamedBufferSubDataNVX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLGPUNamedBufferSubDataNVX_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "gpuMask, buffer, offset, size, data");
    {
	GLbitfield	gpuMask = (int)SvIV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLintptr	offset = (unsigned int)SvUV(ST(2))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(3))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(4)))
;
#line 20407 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLGPUNamedBufferSubDataNVX", )
  OGLM_AVAIL_CHECK(__glewLGPUNamedBufferSubDataNVX, glLGPUNamedBufferSubDataNVX)
  glLGPUNamedBufferSubDataNVX(gpuMask, buffer, offset, size, data);
  OGLM_CHECK_ERR("glLGPUNamedBufferSubDataNVX", )
#line 41594 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLabelObjectEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLabelObjectEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "type, object, length, label");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	object = (unsigned int)SvUV(ST(1))
;
	GLsizei	length = (int)SvIV(ST(2))
;
	const GLchar*	label = (const GLchar *)SvPV_nolen(ST(3))
;
#line 20420 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLabelObjectEXT", )
  OGLM_AVAIL_CHECK(__glewLabelObjectEXT, glLabelObjectEXT)
  glLabelObjectEXT(type, object, length, label);
  OGLM_CHECK_ERR("glLabelObjectEXT", )
#line 41621 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightEnviEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightEnviEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 20431 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightEnviEXT", )
  OGLM_AVAIL_CHECK(__glewLightEnviEXT, glLightEnviEXT)
  glLightEnviEXT(pname, param);
  OGLM_CHECK_ERR("glLightEnviEXT", )
#line 41644 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightModelf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightModelf)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 20442 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightModelf", )
  glLightModelf(pname, param);
  OGLM_CHECK_ERR("glLightModelf", )
#line 41666 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightModelfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightModelfv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLfloat *	params = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 20452 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightModelfv", )
  glLightModelfv(pname, params);
  OGLM_CHECK_ERR("glLightModelfv", )
#line 41688 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightModelfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightModelfv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "pname, ...");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 20461 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightModelfv", )
  OGLM_SIZE_ENUM(LightModelParameter,pname,1)
  GLfloat *params = OGLM_GET_VARARGS(params,1,GLfloat,NV,pname_count);
  glLightModelfv((GLenum )pname, (const GLfloat *)params);
  OGLM_CHECK_ERR("glLightModelfv", free(params);)
  free(params);
#line 41711 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightModeli); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightModeli)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 20474 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightModeli", )
  glLightModeli(pname, param);
  OGLM_CHECK_ERR("glLightModeli", )
#line 41733 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightModeliv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightModeliv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 20484 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightModeliv", )
  glLightModeliv(pname, params);
  OGLM_CHECK_ERR("glLightModeliv", )
#line 41755 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightModeliv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightModeliv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "pname, ...");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 20493 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightModeliv", )
  OGLM_SIZE_ENUM(LightModelParameter,pname,1)
  GLint *params = OGLM_GET_VARARGS(params,1,GLint,IV,pname_count);
  glLightModeliv((GLenum )pname, (const GLint *)params);
  OGLM_CHECK_ERR("glLightModeliv", free(params);)
  free(params);
#line 41778 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightModelx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightModelx)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfixed	param = (int)SvIV(ST(1))
;
#line 20506 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightModelx", )
  OGLM_AVAIL_CHECK(__glewLightModelx, glLightModelx)
  glLightModelx(pname, param);
  OGLM_CHECK_ERR("glLightModelx", )
#line 41801 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightModelxv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightModelxv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLfixed*	param = INT2PTR(const GLfixed *,SvIV(ST(1)))
;
#line 20517 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightModelxv", )
  OGLM_AVAIL_CHECK(__glewLightModelxv, glLightModelxv)
  glLightModelxv(pname, param);
  OGLM_CHECK_ERR("glLightModelxv", )
#line 41824 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightModelxv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightModelxv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "pname, ...");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 20527 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightModelxv", )
  OGLM_AVAIL_CHECK(__glewLightModelxv, glLightModelxv)
  OGLM_SIZE_ENUM(LightModelParameter,pname,1)
  GLfixed* param = OGLM_GET_VARARGS(param,1,GLfixed,IV,pname_count);
  glLightModelxv((GLenum )pname, (const GLfixed* )param);
  OGLM_CHECK_ERR("glLightModelxv", free(param);)
  free(param);
#line 41848 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightf)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, param");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	param = (float)SvNV(ST(2))
;
#line 20542 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightf", )
  glLightf(light, pname, param);
  OGLM_CHECK_ERR("glLightf", )
#line 41872 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat *	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 20553 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightfv", )
  glLightfv(light, pname, params);
  OGLM_CHECK_ERR("glLightfv", )
#line 41896 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightfv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "light, pname, ...");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 20563 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightfv", )
  OGLM_SIZE_ENUM(LightParameter,pname,1)
  GLfloat *params = OGLM_GET_VARARGS(params,2,GLfloat,NV,pname_count);
  glLightfv((GLenum )light, (GLenum )pname, (const GLfloat *)params);
  OGLM_CHECK_ERR("glLightfv", free(params);)
  free(params);
#line 41921 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLighti); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLighti)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, param");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 20577 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLighti", )
  glLighti(light, pname, param);
  OGLM_CHECK_ERR("glLighti", )
#line 41945 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 20588 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightiv", )
  glLightiv(light, pname, params);
  OGLM_CHECK_ERR("glLightiv", )
#line 41969 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightiv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "light, pname, ...");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 20598 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightiv", )
  OGLM_SIZE_ENUM(LightParameter,pname,1)
  GLint *params = OGLM_GET_VARARGS(params,2,GLint,IV,pname_count);
  glLightiv((GLenum )light, (GLenum )pname, (const GLint *)params);
  OGLM_CHECK_ERR("glLightiv", free(params);)
  free(params);
#line 41994 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightx)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, param");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfixed	param = (int)SvIV(ST(2))
;
#line 20612 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightx", )
  OGLM_AVAIL_CHECK(__glewLightx, glLightx)
  glLightx(light, pname, param);
  OGLM_CHECK_ERR("glLightx", )
#line 42019 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightxv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightxv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfixed*	params = INT2PTR(const GLfixed *,SvIV(ST(2)))
;
#line 20624 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightxv", )
  OGLM_AVAIL_CHECK(__glewLightxv, glLightxv)
  glLightxv(light, pname, params);
  OGLM_CHECK_ERR("glLightxv", )
#line 42044 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLightxv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLightxv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "light, pname, ...");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 20635 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLightxv", )
  OGLM_AVAIL_CHECK(__glewLightxv, glLightxv)
  OGLM_SIZE_ENUM(LightParameter,pname,1)
  GLfixed* params = OGLM_GET_VARARGS(params,2,GLfixed,IV,pname_count);
  glLightxv((GLenum )light, (GLenum )pname, (const GLfixed* )params);
  OGLM_CHECK_ERR("glLightxv", free(params);)
  free(params);
#line 42070 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLineStipple); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLineStipple)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "factor, pattern");
    {
	GLint	factor = (int)SvIV(ST(0))
;
	GLushort	pattern = (unsigned short)SvUV(ST(1))
;
#line 20649 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLineStipple", )
  glLineStipple(factor, pattern);
  OGLM_CHECK_ERR("glLineStipple", )
#line 42092 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLineWidth); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLineWidth)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "width");
    {
	GLfloat	width = (float)SvNV(ST(0))
;
#line 20658 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLineWidth", )
  glLineWidth(width);
  OGLM_CHECK_ERR("glLineWidth", )
#line 42112 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLineWidthx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLineWidthx)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "width");
    {
	GLfixed	width = (int)SvIV(ST(0))
;
#line 20667 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLineWidthx", )
  OGLM_AVAIL_CHECK(__glewLineWidthx, glLineWidthx)
  glLineWidthx(width);
  OGLM_CHECK_ERR("glLineWidthx", )
#line 42133 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLinkProgram); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLinkProgram)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "program");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
#line 20677 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLinkProgram", )
  OGLM_AVAIL_CHECK(__glewLinkProgram, glLinkProgram)
  glLinkProgram(program);
  OGLM_CHECK_ERR("glLinkProgram", )
#line 42154 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLinkProgramARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLinkProgramARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "programObj");
    {
	GLhandleARB	programObj = (unsigned int)SvUV(ST(0))
;
#line 20687 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLinkProgramARB", )
  OGLM_AVAIL_CHECK(__glewLinkProgramARB, glLinkProgramARB)
  glLinkProgramARB(programObj);
  OGLM_CHECK_ERR("glLinkProgramARB", )
#line 42175 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glListBase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glListBase)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "base");
    {
	GLuint	base = (unsigned int)SvUV(ST(0))
;
#line 20697 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glListBase", )
  glListBase(base);
  OGLM_CHECK_ERR("glListBase", )
#line 42195 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glListDrawCommandsStatesClientNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glListDrawCommandsStatesClientNV_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "list, segment, indirects, sizes, states, fbos, count");
    {
	GLuint	list = (unsigned int)SvUV(ST(0))
;
	GLuint	segment = (unsigned int)SvUV(ST(1))
;
	const void**	indirects = INT2PTR(const void **,SvIV(ST(2)))
;
	const GLsizei*	sizes = INT2PTR(const GLsizei *,SvIV(ST(3)))
;
	const GLuint*	states = INT2PTR(const GLuint *,SvIV(ST(4)))
;
	const GLuint*	fbos = INT2PTR(const GLuint *,SvIV(ST(5)))
;
	GLuint	count = (unsigned int)SvUV(ST(6))
;
#line 20712 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glListDrawCommandsStatesClientNV", )
  OGLM_AVAIL_CHECK(__glewListDrawCommandsStatesClientNV, glListDrawCommandsStatesClientNV)
  glListDrawCommandsStatesClientNV(list, segment, indirects, sizes, states, fbos, count);
  OGLM_CHECK_ERR("glListDrawCommandsStatesClientNV", )
#line 42228 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadIdentity); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadIdentity)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 20721 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadIdentity", )
  glLoadIdentity();
  OGLM_CHECK_ERR("glLoadIdentity", )
#line 42246 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadIdentityDeformationMapSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadIdentityDeformationMapSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLbitfield	mask = (int)SvIV(ST(0))
;
#line 20730 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadIdentityDeformationMapSGIX", )
  OGLM_AVAIL_CHECK(__glewLoadIdentityDeformationMapSGIX, glLoadIdentityDeformationMapSGIX)
  glLoadIdentityDeformationMapSGIX(mask);
  OGLM_CHECK_ERR("glLoadIdentityDeformationMapSGIX", )
#line 42267 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixd_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixd_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	const GLdouble *	m = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 20740 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadMatrixd", )
  glLoadMatrixd(m);
  OGLM_CHECK_ERR("glLoadMatrixd", )
#line 42287 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixd_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixd_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 20748 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadMatrixd", )
  GLdouble *m = OGLM_GET_VARARGS(m,0,GLdouble,NV,16);
  glLoadMatrixd((const GLdouble *)m);
  OGLM_CHECK_ERR("glLoadMatrixd", free(m);)
  free(m);
#line 42307 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixf_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixf_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	const GLfloat *	m = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 20759 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadMatrixf", )
  glLoadMatrixf(m);
  OGLM_CHECK_ERR("glLoadMatrixf", )
#line 42327 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixf_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixf_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 20767 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadMatrixf", )
  GLfloat *m = OGLM_GET_VARARGS(m,0,GLfloat,NV,16);
  glLoadMatrixf((const GLfloat *)m);
  OGLM_CHECK_ERR("glLoadMatrixf", free(m);)
  free(m);
#line 42347 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixx_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixx_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	const GLfixed*	m = INT2PTR(const GLfixed *,SvIV(ST(0)))
;
#line 20778 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadMatrixx", )
  OGLM_AVAIL_CHECK(__glewLoadMatrixx, glLoadMatrixx)
  glLoadMatrixx(m);
  OGLM_CHECK_ERR("glLoadMatrixx", )
#line 42368 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixx_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadMatrixx_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 20787 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadMatrixx", )
  OGLM_AVAIL_CHECK(__glewLoadMatrixx, glLoadMatrixx)
  GLfixed* m = OGLM_GET_VARARGS(m,0,GLfixed,IV,16);
  glLoadMatrixx((const GLfixed* )m);
  OGLM_CHECK_ERR("glLoadMatrixx", free(m);)
  free(m);
#line 42389 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	GLuint	name = (unsigned int)SvUV(ST(0))
;
#line 20799 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadName", )
  glLoadName(name);
  OGLM_CHECK_ERR("glLoadName", )
#line 42409 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadPaletteFromModelViewMatrixOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadPaletteFromModelViewMatrixOES)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 20807 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadPaletteFromModelViewMatrixOES", )
  OGLM_AVAIL_CHECK(__glewLoadPaletteFromModelViewMatrixOES, glLoadPaletteFromModelViewMatrixOES)
  glLoadPaletteFromModelViewMatrixOES();
  OGLM_CHECK_ERR("glLoadPaletteFromModelViewMatrixOES", )
#line 42428 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadProgramNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadProgramNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, id, len, program");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
	GLsizei	len = (int)SvIV(ST(2))
;
	const GLubyte*        program = (const GLubyte *)SvPV_nolen(ST(3))
;
#line 20820 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadProgramNV", )
  OGLM_AVAIL_CHECK(__glewLoadProgramNV, glLoadProgramNV)
  glLoadProgramNV(target, id, len, program);
  OGLM_CHECK_ERR("glLoadProgramNV", )
#line 42455 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadTransposeMatrixd_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadTransposeMatrixd_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	const GLdouble *	m = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 20832 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadTransposeMatrixd", )
  OGLM_AVAIL_CHECK(__glewLoadTransposeMatrixd, glLoadTransposeMatrixd)
  glLoadTransposeMatrixd(m);
  OGLM_CHECK_ERR("glLoadTransposeMatrixd", )
#line 42477 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadTransposeMatrixd_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadTransposeMatrixd_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 20843 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadTransposeMatrixd", )
  OGLM_AVAIL_CHECK(__glewLoadTransposeMatrixd, glLoadTransposeMatrixd)
  GLdouble * m = OGLM_GET_VARARGS(m,0,GLdouble,NV,16);
  glLoadTransposeMatrixd((const GLdouble * )m);
  OGLM_CHECK_ERR("glLoadTransposeMatrixd", free(m);)
  free(m);
#line 42499 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadTransposeMatrixf_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadTransposeMatrixf_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	const GLfloat *	m = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 20857 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadTransposeMatrixf", )
  OGLM_AVAIL_CHECK(__glewLoadTransposeMatrixf, glLoadTransposeMatrixf)
  glLoadTransposeMatrixf(m);
  OGLM_CHECK_ERR("glLoadTransposeMatrixf", )
#line 42521 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLoadTransposeMatrixf_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLoadTransposeMatrixf_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 20868 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLoadTransposeMatrixf", )
  OGLM_AVAIL_CHECK(__glewLoadTransposeMatrixf, glLoadTransposeMatrixf)
  GLfloat * m = OGLM_GET_VARARGS(m,0,GLfloat,NV,16);
  glLoadTransposeMatrixf((const GLfloat * )m);
  OGLM_CHECK_ERR("glLoadTransposeMatrixf", free(m);)
  free(m);
#line 42543 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLockArraysEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLockArraysEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "first, count");
    {
	GLint	first = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 20881 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLockArraysEXT", )
  OGLM_AVAIL_CHECK(__glewLockArraysEXT, glLockArraysEXT)
  glLockArraysEXT(first, count);
  OGLM_CHECK_ERR("glLockArraysEXT", )
#line 42566 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLogMessageCallbackREGAL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLogMessageCallbackREGAL)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "callback");
    {
	GLLOGPROCREGAL	callback = INT2PTR(GLLOGPROCREGAL,SvIV(ST(0)))
;
#line 20891 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLogMessageCallbackREGAL", )
  OGLM_AVAIL_CHECK(__glewLogMessageCallbackREGAL, glLogMessageCallbackREGAL)
  glLogMessageCallbackREGAL(callback);
  OGLM_CHECK_ERR("glLogMessageCallbackREGAL", )
#line 42587 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glLogicOp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glLogicOp)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "opcode");
    {
	GLenum	opcode = (int)SvIV(ST(0))
;
#line 20901 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glLogicOp", )
  glLogicOp(opcode);
  OGLM_CHECK_ERR("glLogicOp", )
#line 42607 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMPEGPredictorSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMPEGPredictorSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	void *	pixels = INT2PTR(void *,SvIV(ST(3)))
;
#line 20913 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMPEGPredictorSGIX", )
  OGLM_AVAIL_CHECK(__glewMPEGPredictorSGIX, glMPEGPredictorSGIX)
  glMPEGPredictorSGIX(target, format, type, pixels);
  OGLM_CHECK_ERR("glMPEGPredictorSGIX", )
#line 42634 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMPEGQuantTableubv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMPEGQuantTableubv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, values");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLubyte*	values = INT2PTR(GLubyte *,SvIV(ST(1)))
;
#line 20924 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMPEGQuantTableubv", )
  OGLM_AVAIL_CHECK(__glewMPEGQuantTableubv, glMPEGQuantTableubv)
  glMPEGQuantTableubv(target, values);
  OGLM_CHECK_ERR("glMPEGQuantTableubv", )
#line 42657 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeBufferNonResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeBufferNonResidentNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 20934 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeBufferNonResidentNV", )
  OGLM_AVAIL_CHECK(__glewMakeBufferNonResidentNV, glMakeBufferNonResidentNV)
  glMakeBufferNonResidentNV(target);
  OGLM_CHECK_ERR("glMakeBufferNonResidentNV", )
#line 42678 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeBufferResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeBufferResidentNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, access");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	access = (int)SvIV(ST(1))
;
#line 20945 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeBufferResidentNV", )
  OGLM_AVAIL_CHECK(__glewMakeBufferResidentNV, glMakeBufferResidentNV)
  glMakeBufferResidentNV(target, access);
  OGLM_CHECK_ERR("glMakeBufferResidentNV", )
#line 42701 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeImageHandleNonResidentARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeImageHandleNonResidentARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "handle");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
#line 20955 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeImageHandleNonResidentARB", )
  OGLM_AVAIL_CHECK(__glewMakeImageHandleNonResidentARB, glMakeImageHandleNonResidentARB)
  glMakeImageHandleNonResidentARB(handle);
  OGLM_CHECK_ERR("glMakeImageHandleNonResidentARB", )
#line 42722 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeImageHandleNonResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeImageHandleNonResidentNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "handle");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
#line 20965 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeImageHandleNonResidentNV", )
  OGLM_AVAIL_CHECK(__glewMakeImageHandleNonResidentNV, glMakeImageHandleNonResidentNV)
  glMakeImageHandleNonResidentNV(handle);
  OGLM_CHECK_ERR("glMakeImageHandleNonResidentNV", )
#line 42743 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeImageHandleResidentARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeImageHandleResidentARB)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "handle, access");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
	GLenum	access = (int)SvIV(ST(1))
;
#line 20976 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeImageHandleResidentARB", )
  OGLM_AVAIL_CHECK(__glewMakeImageHandleResidentARB, glMakeImageHandleResidentARB)
  glMakeImageHandleResidentARB(handle, access);
  OGLM_CHECK_ERR("glMakeImageHandleResidentARB", )
#line 42766 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeImageHandleResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeImageHandleResidentNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "handle, access");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
	GLenum	access = (int)SvIV(ST(1))
;
#line 20987 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeImageHandleResidentNV", )
  OGLM_AVAIL_CHECK(__glewMakeImageHandleResidentNV, glMakeImageHandleResidentNV)
  glMakeImageHandleResidentNV(handle, access);
  OGLM_CHECK_ERR("glMakeImageHandleResidentNV", )
#line 42789 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeNamedBufferNonResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeNamedBufferNonResidentNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "buffer");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
#line 20997 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeNamedBufferNonResidentNV", )
  OGLM_AVAIL_CHECK(__glewMakeNamedBufferNonResidentNV, glMakeNamedBufferNonResidentNV)
  glMakeNamedBufferNonResidentNV(buffer);
  OGLM_CHECK_ERR("glMakeNamedBufferNonResidentNV", )
#line 42810 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeNamedBufferResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeNamedBufferResidentNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "buffer, access");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	access = (int)SvIV(ST(1))
;
#line 21008 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeNamedBufferResidentNV", )
  OGLM_AVAIL_CHECK(__glewMakeNamedBufferResidentNV, glMakeNamedBufferResidentNV)
  glMakeNamedBufferResidentNV(buffer, access);
  OGLM_CHECK_ERR("glMakeNamedBufferResidentNV", )
#line 42833 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeTextureHandleNonResidentARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeTextureHandleNonResidentARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "handle");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
#line 21018 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeTextureHandleNonResidentARB", )
  OGLM_AVAIL_CHECK(__glewMakeTextureHandleNonResidentARB, glMakeTextureHandleNonResidentARB)
  glMakeTextureHandleNonResidentARB(handle);
  OGLM_CHECK_ERR("glMakeTextureHandleNonResidentARB", )
#line 42854 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeTextureHandleNonResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeTextureHandleNonResidentNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "handle");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
#line 21028 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeTextureHandleNonResidentNV", )
  OGLM_AVAIL_CHECK(__glewMakeTextureHandleNonResidentNV, glMakeTextureHandleNonResidentNV)
  glMakeTextureHandleNonResidentNV(handle);
  OGLM_CHECK_ERR("glMakeTextureHandleNonResidentNV", )
#line 42875 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeTextureHandleResidentARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeTextureHandleResidentARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "handle");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
#line 21038 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeTextureHandleResidentARB", )
  OGLM_AVAIL_CHECK(__glewMakeTextureHandleResidentARB, glMakeTextureHandleResidentARB)
  glMakeTextureHandleResidentARB(handle);
  OGLM_CHECK_ERR("glMakeTextureHandleResidentARB", )
#line 42896 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMakeTextureHandleResidentNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMakeTextureHandleResidentNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "handle");
    {
	GLuint64	handle = (unsigned int)SvUV(ST(0))
;
#line 21048 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMakeTextureHandleResidentNV", )
  OGLM_AVAIL_CHECK(__glewMakeTextureHandleResidentNV, glMakeTextureHandleResidentNV)
  glMakeTextureHandleResidentNV(handle);
  OGLM_CHECK_ERR("glMakeTextureHandleResidentNV", )
#line 42917 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMap1d_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMap1d_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, u1, u2, stride, order, points");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLdouble	u1 = (double)SvNV(ST(1))
;
	GLdouble	u2 = (double)SvNV(ST(2))
;
	GLint	stride = (int)SvIV(ST(3))
;
	GLint	order = (int)SvIV(ST(4))
;
	const GLdouble *	points = INT2PTR(const GLdouble *,SvIV(ST(5)))
;
#line 21063 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMap1d", )
  glMap1d(target, u1, u2, stride, order, points);
  OGLM_CHECK_ERR("glMap1d", )
#line 42947 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMap1f_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMap1f_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, u1, u2, stride, order, points");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLfloat	u1 = (float)SvNV(ST(1))
;
	GLfloat	u2 = (float)SvNV(ST(2))
;
	GLint	stride = (int)SvIV(ST(3))
;
	GLint	order = (int)SvIV(ST(4))
;
	const GLfloat *	points = INT2PTR(const GLfloat *,SvIV(ST(5)))
;
#line 21077 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMap1f", )
  glMap1f(target, u1, u2, stride, order, points);
  OGLM_CHECK_ERR("glMap1f", )
#line 42977 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMap2d_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMap2d_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLdouble	u1 = (double)SvNV(ST(1))
;
	GLdouble	u2 = (double)SvNV(ST(2))
;
	GLint	ustride = (int)SvIV(ST(3))
;
	GLint	uorder = (int)SvIV(ST(4))
;
	GLdouble	v1 = (double)SvNV(ST(5))
;
	GLdouble	v2 = (double)SvNV(ST(6))
;
	GLint	vstride = (int)SvIV(ST(7))
;
	GLint	vorder = (int)SvIV(ST(8))
;
	const GLdouble *	points = INT2PTR(const GLdouble *,SvIV(ST(9)))
;
#line 21095 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMap2d", )
  glMap2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);
  OGLM_CHECK_ERR("glMap2d", )
#line 43015 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMap2f_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMap2f_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLfloat	u1 = (float)SvNV(ST(1))
;
	GLfloat	u2 = (float)SvNV(ST(2))
;
	GLint	ustride = (int)SvIV(ST(3))
;
	GLint	uorder = (int)SvIV(ST(4))
;
	GLfloat	v1 = (float)SvNV(ST(5))
;
	GLfloat	v2 = (float)SvNV(ST(6))
;
	GLint	vstride = (int)SvIV(ST(7))
;
	GLint	vorder = (int)SvIV(ST(8))
;
	const GLfloat *	points = INT2PTR(const GLfloat *,SvIV(ST(9)))
;
#line 21113 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMap2f", )
  glMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);
  OGLM_CHECK_ERR("glMap2f", )
#line 43053 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMapBuffer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapBuffer_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, access");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	access = (int)SvIV(ST(1))
;
	void *	RETVAL;
	dXSTARG;
#line 21125 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapBuffer", )
  OGLM_AVAIL_CHECK(__glewMapBuffer, glMapBuffer)
  RETVAL = glMapBuffer(target, access);
  OGLM_CHECK_ERR("glMapBuffer", )
#line 43079 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glMapBufferOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapBufferOES_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, access");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	access = (int)SvIV(ST(1))
;
	void *	RETVAL;
	dXSTARG;
#line 21138 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapBufferOES", )
  OGLM_AVAIL_CHECK(__glewMapBufferOES, glMapBufferOES)
  RETVAL = glMapBufferOES(target, access);
  OGLM_CHECK_ERR("glMapBufferOES", )
#line 43106 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glMapBufferRange_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapBufferRange_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, offset, length, access");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	length = (unsigned int)SvUV(ST(2))
;
	GLbitfield	access = (int)SvIV(ST(3))
;
	void *	RETVAL;
	dXSTARG;
#line 21155 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapBufferRange", )
  OGLM_AVAIL_CHECK(__glewMapBufferRange, glMapBufferRange)
  RETVAL = glMapBufferRange(target, offset, length, access);
  OGLM_CHECK_ERR("glMapBufferRange", )
#line 43138 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glMapControlPointsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapControlPointsNV_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "target, index, type, ustride, vstride, uorder, vorder, packed, points");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	ustride = (int)SvIV(ST(3))
;
	GLsizei	vstride = (int)SvIV(ST(4))
;
	GLint	uorder = (int)SvIV(ST(5))
;
	GLint	vorder = (int)SvIV(ST(6))
;
	GLboolean	packed = (int)SvIV(ST(7))
;
	const void *	points = INT2PTR(const void *,SvIV(ST(8)))
;
#line 21175 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapControlPointsNV", )
  OGLM_AVAIL_CHECK(__glewMapControlPointsNV, glMapControlPointsNV)
  glMapControlPointsNV(target, index, type, ustride, vstride, uorder, vorder, packed, points);
  OGLM_CHECK_ERR("glMapControlPointsNV", )
#line 43177 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMapGrid1d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapGrid1d)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "un, u1, u2");
    {
	GLint	un = (int)SvIV(ST(0))
;
	GLdouble	u1 = (double)SvNV(ST(1))
;
	GLdouble	u2 = (double)SvNV(ST(2))
;
#line 21187 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapGrid1d", )
  glMapGrid1d(un, u1, u2);
  OGLM_CHECK_ERR("glMapGrid1d", )
#line 43201 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMapGrid1f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapGrid1f)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "un, u1, u2");
    {
	GLint	un = (int)SvIV(ST(0))
;
	GLfloat	u1 = (float)SvNV(ST(1))
;
	GLfloat	u2 = (float)SvNV(ST(2))
;
#line 21198 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapGrid1f", )
  glMapGrid1f(un, u1, u2);
  OGLM_CHECK_ERR("glMapGrid1f", )
#line 43225 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMapGrid2d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapGrid2d)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "un, u1, u2, vn, v1, v2");
    {
	GLint	un = (int)SvIV(ST(0))
;
	GLdouble	u1 = (double)SvNV(ST(1))
;
	GLdouble	u2 = (double)SvNV(ST(2))
;
	GLint	vn = (int)SvIV(ST(3))
;
	GLdouble	v1 = (double)SvNV(ST(4))
;
	GLdouble	v2 = (double)SvNV(ST(5))
;
#line 21212 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapGrid2d", )
  glMapGrid2d(un, u1, u2, vn, v1, v2);
  OGLM_CHECK_ERR("glMapGrid2d", )
#line 43255 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMapGrid2f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapGrid2f)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "un, u1, u2, vn, v1, v2");
    {
	GLint	un = (int)SvIV(ST(0))
;
	GLfloat	u1 = (float)SvNV(ST(1))
;
	GLfloat	u2 = (float)SvNV(ST(2))
;
	GLint	vn = (int)SvIV(ST(3))
;
	GLfloat	v1 = (float)SvNV(ST(4))
;
	GLfloat	v2 = (float)SvNV(ST(5))
;
#line 21226 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapGrid2f", )
  glMapGrid2f(un, u1, u2, vn, v1, v2);
  OGLM_CHECK_ERR("glMapGrid2f", )
#line 43285 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMapNamedBuffer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapNamedBuffer_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "buffer, access");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	access = (int)SvIV(ST(1))
;
	void *	RETVAL;
	dXSTARG;
#line 21236 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapNamedBuffer", )
  OGLM_AVAIL_CHECK(__glewMapNamedBuffer, glMapNamedBuffer)
  RETVAL = glMapNamedBuffer(buffer, access);
  OGLM_CHECK_ERR("glMapNamedBuffer", )
#line 43310 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glMapNamedBufferEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapNamedBufferEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "buffer, access");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLenum	access = (int)SvIV(ST(1))
;
	void *	RETVAL;
	dXSTARG;
#line 21249 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapNamedBufferEXT", )
  OGLM_AVAIL_CHECK(__glewMapNamedBufferEXT, glMapNamedBufferEXT)
  RETVAL = glMapNamedBufferEXT(buffer, access);
  OGLM_CHECK_ERR("glMapNamedBufferEXT", )
#line 43337 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glMapNamedBufferRange_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapNamedBufferRange_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "buffer, offset, length, access");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	length = (unsigned int)SvUV(ST(2))
;
	GLbitfield	access = (int)SvIV(ST(3))
;
	void *	RETVAL;
	dXSTARG;
#line 21264 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapNamedBufferRange", )
  OGLM_AVAIL_CHECK(__glewMapNamedBufferRange, glMapNamedBufferRange)
  RETVAL = glMapNamedBufferRange(buffer, offset, length, access);
  OGLM_CHECK_ERR("glMapNamedBufferRange", )
#line 43368 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glMapNamedBufferRangeEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapNamedBufferRangeEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "buffer, offset, length, access");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	length = (unsigned int)SvUV(ST(2))
;
	GLbitfield	access = (int)SvIV(ST(3))
;
	void *	RETVAL;
	dXSTARG;
#line 21279 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapNamedBufferRangeEXT", )
  OGLM_AVAIL_CHECK(__glewMapNamedBufferRangeEXT, glMapNamedBufferRangeEXT)
  RETVAL = glMapNamedBufferRangeEXT(buffer, offset, length, access);
  OGLM_CHECK_ERR("glMapNamedBufferRangeEXT", )
#line 43399 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glMapObjectBufferATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapObjectBufferATI_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "buffer");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	void *	RETVAL;
	dXSTARG;
#line 21291 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapObjectBufferATI", )
  OGLM_AVAIL_CHECK(__glewMapObjectBufferATI, glMapObjectBufferATI)
  RETVAL = glMapObjectBufferATI(buffer);
  OGLM_CHECK_ERR("glMapObjectBufferATI", )
#line 43424 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glMapParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 21305 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewMapParameterfvNV, glMapParameterfvNV)
  glMapParameterfvNV(target, pname, params);
  OGLM_CHECK_ERR("glMapParameterfvNV", )
#line 43451 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMapParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 21317 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapParameterivNV", )
  OGLM_AVAIL_CHECK(__glewMapParameterivNV, glMapParameterivNV)
  glMapParameterivNV(target, pname, params);
  OGLM_CHECK_ERR("glMapParameterivNV", )
#line 43476 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMapTexture2DINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapTexture2DINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texture, level, access, stride, layout");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLbitfield	access = (int)SvIV(ST(2))
;
	GLint*	stride = INT2PTR(GLint *,SvIV(ST(3)))
;
	GLenum *	layout = INT2PTR(GLenum *,SvIV(ST(4)))
;
	void *	RETVAL;
	dXSTARG;
#line 21331 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapTexture2DINTEL", )
  OGLM_AVAIL_CHECK(__glewMapTexture2DINTEL, glMapTexture2DINTEL)
  RETVAL = glMapTexture2DINTEL(texture, level, access, stride, layout);
  OGLM_CHECK_ERR("glMapTexture2DINTEL", )
#line 43507 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glMapTexture2DINTEL_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapTexture2DINTEL_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, level, access");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLbitfield	access = (int)SvIV(ST(2))
;
	void *	RETVAL;
	dXSTARG;
#line 21345 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapTexture2DINTEL", )
  OGLM_AVAIL_CHECK(__glewMapTexture2DINTEL, glMapTexture2DINTEL)
  GLenum layout[1];
  GLint stride[1];
  RETVAL = glMapTexture2DINTEL(texture, level, access, stride, layout);
  OGLM_CHECK_ERR("glMapTexture2DINTEL", )
  EXTEND(sp, 3);
  mPUSHs(newSViv(PTR2IV(RETVAL)));
  mPUSHs(newSViv(stride[0]));
  mPUSHs(newSViv(layout[0]));
#line 43544 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glMapVertexAttrib1dAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapVertexAttrib1dAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "index, size, u1, u2, stride, order, points");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint	size = (unsigned int)SvUV(ST(1))
;
	GLdouble	u1 = (double)SvNV(ST(2))
;
	GLdouble	u2 = (double)SvNV(ST(3))
;
	GLint	stride = (int)SvIV(ST(4))
;
	GLint	order = (int)SvIV(ST(5))
;
	const GLdouble*	points = INT2PTR(const GLdouble *,SvIV(ST(6)))
;
#line 21367 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapVertexAttrib1dAPPLE", )
  OGLM_AVAIL_CHECK(__glewMapVertexAttrib1dAPPLE, glMapVertexAttrib1dAPPLE)
  glMapVertexAttrib1dAPPLE(index, size, u1, u2, stride, order, points);
  OGLM_CHECK_ERR("glMapVertexAttrib1dAPPLE", )
#line 43578 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMapVertexAttrib1fAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapVertexAttrib1fAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "index, size, u1, u2, stride, order, points");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint	size = (unsigned int)SvUV(ST(1))
;
	GLfloat	u1 = (float)SvNV(ST(2))
;
	GLfloat	u2 = (float)SvNV(ST(3))
;
	GLint	stride = (int)SvIV(ST(4))
;
	GLint	order = (int)SvIV(ST(5))
;
	const GLfloat*	points = INT2PTR(const GLfloat *,SvIV(ST(6)))
;
#line 21383 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapVertexAttrib1fAPPLE", )
  OGLM_AVAIL_CHECK(__glewMapVertexAttrib1fAPPLE, glMapVertexAttrib1fAPPLE)
  glMapVertexAttrib1fAPPLE(index, size, u1, u2, stride, order, points);
  OGLM_CHECK_ERR("glMapVertexAttrib1fAPPLE", )
#line 43611 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMapVertexAttrib2dAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapVertexAttrib2dAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint	size = (unsigned int)SvUV(ST(1))
;
	GLdouble	u1 = (double)SvNV(ST(2))
;
	GLdouble	u2 = (double)SvNV(ST(3))
;
	GLint	ustride = (int)SvIV(ST(4))
;
	GLint	uorder = (int)SvIV(ST(5))
;
	GLdouble	v1 = (double)SvNV(ST(6))
;
	GLdouble	v2 = (double)SvNV(ST(7))
;
	GLint	vstride = (int)SvIV(ST(8))
;
	GLint	vorder = (int)SvIV(ST(9))
;
	const GLdouble*	points = INT2PTR(const GLdouble *,SvIV(ST(10)))
;
#line 21403 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapVertexAttrib2dAPPLE", )
  OGLM_AVAIL_CHECK(__glewMapVertexAttrib2dAPPLE, glMapVertexAttrib2dAPPLE)
  glMapVertexAttrib2dAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);
  OGLM_CHECK_ERR("glMapVertexAttrib2dAPPLE", )
#line 43652 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMapVertexAttrib2fAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMapVertexAttrib2fAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint	size = (unsigned int)SvUV(ST(1))
;
	GLfloat	u1 = (float)SvNV(ST(2))
;
	GLfloat	u2 = (float)SvNV(ST(3))
;
	GLint	ustride = (int)SvIV(ST(4))
;
	GLint	uorder = (int)SvIV(ST(5))
;
	GLfloat	v1 = (float)SvNV(ST(6))
;
	GLfloat	v2 = (float)SvNV(ST(7))
;
	GLint	vstride = (int)SvIV(ST(8))
;
	GLint	vorder = (int)SvIV(ST(9))
;
	const GLfloat*	points = INT2PTR(const GLfloat *,SvIV(ST(10)))
;
#line 21423 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMapVertexAttrib2fAPPLE", )
  OGLM_AVAIL_CHECK(__glewMapVertexAttrib2fAPPLE, glMapVertexAttrib2fAPPLE)
  glMapVertexAttrib2fAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);
  OGLM_CHECK_ERR("glMapVertexAttrib2fAPPLE", )
#line 43693 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMaterialf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMaterialf)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, param");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	param = (float)SvNV(ST(2))
;
#line 21435 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMaterialf", )
  glMaterialf(face, pname, param);
  OGLM_CHECK_ERR("glMaterialf", )
#line 43717 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMaterialfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMaterialfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat *	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 21446 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMaterialfv", )
  glMaterialfv(face, pname, params);
  OGLM_CHECK_ERR("glMaterialfv", )
#line 43741 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMaterialfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMaterialfv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "face, pname, ...");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 21456 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMaterialfv", )
  OGLM_SIZE_ENUM(MaterialParameter,pname,1)
  GLfloat *params = OGLM_GET_VARARGS(params,2,GLfloat,NV,pname_count);
  glMaterialfv((GLenum )face, (GLenum )pname, (const GLfloat *)params);
  OGLM_CHECK_ERR("glMaterialfv", free(params);)
  free(params);
#line 43766 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMateriali); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMateriali)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, param");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 21470 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMateriali", )
  glMateriali(face, pname, param);
  OGLM_CHECK_ERR("glMateriali", )
#line 43790 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMaterialiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMaterialiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 21481 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMaterialiv", )
  glMaterialiv(face, pname, params);
  OGLM_CHECK_ERR("glMaterialiv", )
#line 43814 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMaterialiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMaterialiv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "face, pname, ...");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 21491 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMaterialiv", )
  OGLM_SIZE_ENUM(MaterialParameter,pname,1)
  GLint *params = OGLM_GET_VARARGS(params,2,GLint,IV,pname_count);
  glMaterialiv((GLenum )face, (GLenum )pname, (const GLint *)params);
  OGLM_CHECK_ERR("glMaterialiv", free(params);)
  free(params);
#line 43839 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMaterialx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMaterialx)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, param");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfixed	param = (int)SvIV(ST(2))
;
#line 21505 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMaterialx", )
  OGLM_AVAIL_CHECK(__glewMaterialx, glMaterialx)
  glMaterialx(face, pname, param);
  OGLM_CHECK_ERR("glMaterialx", )
#line 43864 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMaterialxv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMaterialxv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, param");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfixed*	param = INT2PTR(const GLfixed *,SvIV(ST(2)))
;
#line 21517 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMaterialxv", )
  OGLM_AVAIL_CHECK(__glewMaterialxv, glMaterialxv)
  glMaterialxv(face, pname, param);
  OGLM_CHECK_ERR("glMaterialxv", )
#line 43889 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMaterialxv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMaterialxv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "face, pname, ...");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 21528 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMaterialxv", )
  OGLM_AVAIL_CHECK(__glewMaterialxv, glMaterialxv)
  OGLM_SIZE_ENUM(MaterialParameter,pname,1)
  GLfixed* param = OGLM_GET_VARARGS(param,2,GLfixed,IV,pname_count);
  glMaterialxv((GLenum )face, (GLenum )pname, (const GLfixed* )param);
  OGLM_CHECK_ERR("glMaterialxv", free(param);)
  free(param);
#line 43915 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixFrustumEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixFrustumEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "mode, left, right, bottom, top, zNear, zFar");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLdouble	left = (double)SvNV(ST(1))
;
	GLdouble	right = (double)SvNV(ST(2))
;
	GLdouble	bottom = (double)SvNV(ST(3))
;
	GLdouble	top = (double)SvNV(ST(4))
;
	GLdouble	zNear = (double)SvNV(ST(5))
;
	GLdouble	zFar = (double)SvNV(ST(6))
;
#line 21547 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixFrustumEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixFrustumEXT, glMatrixFrustumEXT)
  glMatrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar);
  OGLM_CHECK_ERR("glMatrixFrustumEXT", )
#line 43948 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexPointerARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexPointerARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "size, type, stride, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(3)))
;
#line 21560 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixIndexPointerARB", )
  OGLM_AVAIL_CHECK(__glewMatrixIndexPointerARB, glMatrixIndexPointerARB)
  glMatrixIndexPointerARB(size, type, stride, pointer);
  OGLM_CHECK_ERR("glMatrixIndexPointerARB", )
#line 43975 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexPointerOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexPointerOES_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "size, type, stride, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(3)))
;
#line 21573 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixIndexPointerOES", )
  OGLM_AVAIL_CHECK(__glewMatrixIndexPointerOES, glMatrixIndexPointerOES)
  glMatrixIndexPointerOES(size, type, stride, pointer);
  OGLM_CHECK_ERR("glMatrixIndexPointerOES", )
#line 44002 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexubvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexubvARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, indices");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLubyte *	indices = INT2PTR(GLubyte *,SvIV(ST(1)))
;
#line 21584 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixIndexubvARB", )
  OGLM_AVAIL_CHECK(__glewMatrixIndexubvARB, glMatrixIndexubvARB)
  glMatrixIndexubvARB(size, indices);
  OGLM_CHECK_ERR("glMatrixIndexubvARB", )
#line 44025 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexubvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexubvARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	size = (int)SvIV(ST(0))
;
#line 21594 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixIndexubvARB", )
  OGLM_AVAIL_CHECK(__glewMatrixIndexubvARB, glMatrixIndexubvARB)
  GLubyte *indices = OGLM_ALLOC(size,GLubyte,indices);
  glMatrixIndexubvARB(size, indices);
  OGLM_CHECK_ERR("glMatrixIndexubvARB", free(indices);)
  OGLM_OUT_FINISH(indices,size,newSVuv)
  free(indices);
#line 44051 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexuivARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexuivARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, indices");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLuint *	indices = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 21608 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixIndexuivARB", )
  OGLM_AVAIL_CHECK(__glewMatrixIndexuivARB, glMatrixIndexuivARB)
  glMatrixIndexuivARB(size, indices);
  OGLM_CHECK_ERR("glMatrixIndexuivARB", )
#line 44075 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexuivARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexuivARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	size = (int)SvIV(ST(0))
;
#line 21618 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixIndexuivARB", )
  OGLM_AVAIL_CHECK(__glewMatrixIndexuivARB, glMatrixIndexuivARB)
  GLuint *indices = OGLM_ALLOC(size,GLuint,indices);
  glMatrixIndexuivARB(size, indices);
  OGLM_CHECK_ERR("glMatrixIndexuivARB", free(indices);)
  OGLM_OUT_FINISH(indices,size,newSVuv)
  free(indices);
#line 44101 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexusvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexusvARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, indices");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLushort *	indices = INT2PTR(GLushort *,SvIV(ST(1)))
;
#line 21632 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixIndexusvARB", )
  OGLM_AVAIL_CHECK(__glewMatrixIndexusvARB, glMatrixIndexusvARB)
  glMatrixIndexusvARB(size, indices);
  OGLM_CHECK_ERR("glMatrixIndexusvARB", )
#line 44125 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexusvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixIndexusvARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	size = (int)SvIV(ST(0))
;
#line 21642 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixIndexusvARB", )
  OGLM_AVAIL_CHECK(__glewMatrixIndexusvARB, glMatrixIndexusvARB)
  GLushort *indices = OGLM_ALLOC(size,GLushort,indices);
  glMatrixIndexusvARB(size, indices);
  OGLM_CHECK_ERR("glMatrixIndexusvARB", free(indices);)
  OGLM_OUT_FINISH(indices,size,newSVuv)
  free(indices);
#line 44151 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoad3x2fNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoad3x2fNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "matrixMode, m");
    {
	GLenum	matrixMode = (int)SvIV(ST(0))
;
	const GLfloat*	m = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 21656 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoad3x2fNV", )
  OGLM_AVAIL_CHECK(__glewMatrixLoad3x2fNV, glMatrixLoad3x2fNV)
  glMatrixLoad3x2fNV(matrixMode, m);
  OGLM_CHECK_ERR("glMatrixLoad3x2fNV", )
#line 44175 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoad3x3fNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoad3x3fNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "matrixMode, m");
    {
	GLenum	matrixMode = (int)SvIV(ST(0))
;
	const GLfloat*	m = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 21667 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoad3x3fNV", )
  OGLM_AVAIL_CHECK(__glewMatrixLoad3x3fNV, glMatrixLoad3x3fNV)
  glMatrixLoad3x3fNV(matrixMode, m);
  OGLM_CHECK_ERR("glMatrixLoad3x3fNV", )
#line 44198 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadIdentityEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadIdentityEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21677 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoadIdentityEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixLoadIdentityEXT, glMatrixLoadIdentityEXT)
  glMatrixLoadIdentityEXT(mode);
  OGLM_CHECK_ERR("glMatrixLoadIdentityEXT", )
#line 44219 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadTranspose3x3fNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadTranspose3x3fNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "matrixMode, m");
    {
	GLenum	matrixMode = (int)SvIV(ST(0))
;
	const GLfloat*	m = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 21688 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoadTranspose3x3fNV", )
  OGLM_AVAIL_CHECK(__glewMatrixLoadTranspose3x3fNV, glMatrixLoadTranspose3x3fNV)
  glMatrixLoadTranspose3x3fNV(matrixMode, m);
  OGLM_CHECK_ERR("glMatrixLoadTranspose3x3fNV", )
#line 44242 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadTransposedEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadTransposedEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "mode, m");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLdouble*	m = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 21699 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoadTransposedEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixLoadTransposedEXT, glMatrixLoadTransposedEXT)
  glMatrixLoadTransposedEXT(mode, m);
  OGLM_CHECK_ERR("glMatrixLoadTransposedEXT", )
#line 44265 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadTransposedEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadTransposedEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "mode, ...");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21709 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoadTransposedEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixLoadTransposedEXT, glMatrixLoadTransposedEXT)
  GLdouble* m = OGLM_GET_VARARGS(m,1,GLdouble,NV,16);
  glMatrixLoadTransposedEXT((GLenum )mode, (const GLdouble* )m);
  OGLM_CHECK_ERR("glMatrixLoadTransposedEXT", free(m);)
  free(m);
#line 44288 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadTransposefEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadTransposefEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "mode, m");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLfloat*	m = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 21722 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoadTransposefEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixLoadTransposefEXT, glMatrixLoadTransposefEXT)
  glMatrixLoadTransposefEXT(mode, m);
  OGLM_CHECK_ERR("glMatrixLoadTransposefEXT", )
#line 44311 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadTransposefEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadTransposefEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "mode, ...");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21732 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoadTransposefEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixLoadTransposefEXT, glMatrixLoadTransposefEXT)
  GLfloat* m = OGLM_GET_VARARGS(m,1,GLfloat,NV,16);
  glMatrixLoadTransposefEXT((GLenum )mode, (const GLfloat* )m);
  OGLM_CHECK_ERR("glMatrixLoadTransposefEXT", free(m);)
  free(m);
#line 44334 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoaddEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoaddEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "mode, m");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLdouble*	m = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 21745 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoaddEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixLoaddEXT, glMatrixLoaddEXT)
  glMatrixLoaddEXT(mode, m);
  OGLM_CHECK_ERR("glMatrixLoaddEXT", )
#line 44357 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoaddEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoaddEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "mode, ...");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21755 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoaddEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixLoaddEXT, glMatrixLoaddEXT)
  GLdouble* m = OGLM_GET_VARARGS(m,1,GLdouble,NV,16);
  glMatrixLoaddEXT((GLenum )mode, (const GLdouble* )m);
  OGLM_CHECK_ERR("glMatrixLoaddEXT", free(m);)
  free(m);
#line 44380 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadfEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadfEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "mode, m");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLfloat*	m = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 21768 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoadfEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixLoadfEXT, glMatrixLoadfEXT)
  glMatrixLoadfEXT(mode, m);
  OGLM_CHECK_ERR("glMatrixLoadfEXT", )
#line 44403 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadfEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixLoadfEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "mode, ...");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21778 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixLoadfEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixLoadfEXT, glMatrixLoadfEXT)
  GLfloat* m = OGLM_GET_VARARGS(m,1,GLfloat,NV,16);
  glMatrixLoadfEXT((GLenum )mode, (const GLfloat* )m);
  OGLM_CHECK_ERR("glMatrixLoadfEXT", free(m);)
  free(m);
#line 44426 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMode)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21790 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMode", )
  glMatrixMode(mode);
  OGLM_CHECK_ERR("glMatrixMode", )
#line 44446 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMult3x2fNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMult3x2fNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "matrixMode, m");
    {
	GLenum	matrixMode = (int)SvIV(ST(0))
;
	const GLfloat*	m = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 21800 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMult3x2fNV", )
  OGLM_AVAIL_CHECK(__glewMatrixMult3x2fNV, glMatrixMult3x2fNV)
  glMatrixMult3x2fNV(matrixMode, m);
  OGLM_CHECK_ERR("glMatrixMult3x2fNV", )
#line 44469 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMult3x3fNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMult3x3fNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "matrixMode, m");
    {
	GLenum	matrixMode = (int)SvIV(ST(0))
;
	const GLfloat*	m = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 21811 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMult3x3fNV", )
  OGLM_AVAIL_CHECK(__glewMatrixMult3x3fNV, glMatrixMult3x3fNV)
  glMatrixMult3x3fNV(matrixMode, m);
  OGLM_CHECK_ERR("glMatrixMult3x3fNV", )
#line 44492 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMultTranspose3x3fNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMultTranspose3x3fNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "matrixMode, m");
    {
	GLenum	matrixMode = (int)SvIV(ST(0))
;
	const GLfloat*	m = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 21822 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMultTranspose3x3fNV", )
  OGLM_AVAIL_CHECK(__glewMatrixMultTranspose3x3fNV, glMatrixMultTranspose3x3fNV)
  glMatrixMultTranspose3x3fNV(matrixMode, m);
  OGLM_CHECK_ERR("glMatrixMultTranspose3x3fNV", )
#line 44515 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMultTransposedEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMultTransposedEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "mode, m");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLdouble*	m = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 21833 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMultTransposedEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixMultTransposedEXT, glMatrixMultTransposedEXT)
  glMatrixMultTransposedEXT(mode, m);
  OGLM_CHECK_ERR("glMatrixMultTransposedEXT", )
#line 44538 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMultTransposedEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMultTransposedEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "mode, ...");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21843 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMultTransposedEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixMultTransposedEXT, glMatrixMultTransposedEXT)
  GLdouble* m = OGLM_GET_VARARGS(m,1,GLdouble,NV,16);
  glMatrixMultTransposedEXT((GLenum )mode, (const GLdouble* )m);
  OGLM_CHECK_ERR("glMatrixMultTransposedEXT", free(m);)
  free(m);
#line 44561 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMultTransposefEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMultTransposefEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "mode, m");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLfloat*	m = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 21856 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMultTransposefEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixMultTransposefEXT, glMatrixMultTransposefEXT)
  glMatrixMultTransposefEXT(mode, m);
  OGLM_CHECK_ERR("glMatrixMultTransposefEXT", )
#line 44584 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMultTransposefEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMultTransposefEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "mode, ...");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21866 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMultTransposefEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixMultTransposefEXT, glMatrixMultTransposefEXT)
  GLfloat* m = OGLM_GET_VARARGS(m,1,GLfloat,NV,16);
  glMatrixMultTransposefEXT((GLenum )mode, (const GLfloat* )m);
  OGLM_CHECK_ERR("glMatrixMultTransposefEXT", free(m);)
  free(m);
#line 44607 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMultdEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMultdEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "mode, m");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLdouble*	m = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 21879 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMultdEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixMultdEXT, glMatrixMultdEXT)
  glMatrixMultdEXT(mode, m);
  OGLM_CHECK_ERR("glMatrixMultdEXT", )
#line 44630 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMultdEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMultdEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "mode, ...");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21889 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMultdEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixMultdEXT, glMatrixMultdEXT)
  GLdouble* m = OGLM_GET_VARARGS(m,1,GLdouble,NV,16);
  glMatrixMultdEXT((GLenum )mode, (const GLdouble* )m);
  OGLM_CHECK_ERR("glMatrixMultdEXT", free(m);)
  free(m);
#line 44653 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMultfEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMultfEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "mode, m");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLfloat*	m = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 21902 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMultfEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixMultfEXT, glMatrixMultfEXT)
  glMatrixMultfEXT(mode, m);
  OGLM_CHECK_ERR("glMatrixMultfEXT", )
#line 44676 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixMultfEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixMultfEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "mode, ...");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21912 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixMultfEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixMultfEXT, glMatrixMultfEXT)
  GLfloat* m = OGLM_GET_VARARGS(m,1,GLfloat,NV,16);
  glMatrixMultfEXT((GLenum )mode, (const GLfloat* )m);
  OGLM_CHECK_ERR("glMatrixMultfEXT", free(m);)
  free(m);
#line 44699 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixOrthoEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixOrthoEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "mode, left, right, bottom, top, zNear, zFar");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLdouble	left = (double)SvNV(ST(1))
;
	GLdouble	right = (double)SvNV(ST(2))
;
	GLdouble	bottom = (double)SvNV(ST(3))
;
	GLdouble	top = (double)SvNV(ST(4))
;
	GLdouble	zNear = (double)SvNV(ST(5))
;
	GLdouble	zFar = (double)SvNV(ST(6))
;
#line 21930 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixOrthoEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixOrthoEXT, glMatrixOrthoEXT)
  glMatrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar);
  OGLM_CHECK_ERR("glMatrixOrthoEXT", )
#line 44732 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixPopEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixPopEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21940 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixPopEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixPopEXT, glMatrixPopEXT)
  glMatrixPopEXT(mode);
  OGLM_CHECK_ERR("glMatrixPopEXT", )
#line 44753 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixPushEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixPushEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 21950 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixPushEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixPushEXT, glMatrixPushEXT)
  glMatrixPushEXT(mode);
  OGLM_CHECK_ERR("glMatrixPushEXT", )
#line 44774 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixRotatedEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixRotatedEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "mode, angle, x, y, z");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLdouble	angle = (double)SvNV(ST(1))
;
	GLdouble	x = (double)SvNV(ST(2))
;
	GLdouble	y = (double)SvNV(ST(3))
;
	GLdouble	z = (double)SvNV(ST(4))
;
#line 21964 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixRotatedEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixRotatedEXT, glMatrixRotatedEXT)
  glMatrixRotatedEXT(mode, angle, x, y, z);
  OGLM_CHECK_ERR("glMatrixRotatedEXT", )
#line 44803 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixRotatefEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixRotatefEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "mode, angle, x, y, z");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLfloat	angle = (float)SvNV(ST(1))
;
	GLfloat	x = (float)SvNV(ST(2))
;
	GLfloat	y = (float)SvNV(ST(3))
;
	GLfloat	z = (float)SvNV(ST(4))
;
#line 21978 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixRotatefEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixRotatefEXT, glMatrixRotatefEXT)
  glMatrixRotatefEXT(mode, angle, x, y, z);
  OGLM_CHECK_ERR("glMatrixRotatefEXT", )
#line 44832 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixScaledEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixScaledEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "mode, x, y, z");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
	GLdouble	z = (double)SvNV(ST(3))
;
#line 21991 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixScaledEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixScaledEXT, glMatrixScaledEXT)
  glMatrixScaledEXT(mode, x, y, z);
  OGLM_CHECK_ERR("glMatrixScaledEXT", )
#line 44859 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixScalefEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixScalefEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "mode, x, y, z");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
	GLfloat	z = (float)SvNV(ST(3))
;
#line 22004 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixScalefEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixScalefEXT, glMatrixScalefEXT)
  glMatrixScalefEXT(mode, x, y, z);
  OGLM_CHECK_ERR("glMatrixScalefEXT", )
#line 44886 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixTranslatedEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixTranslatedEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "mode, x, y, z");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
	GLdouble	z = (double)SvNV(ST(3))
;
#line 22017 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixTranslatedEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixTranslatedEXT, glMatrixTranslatedEXT)
  glMatrixTranslatedEXT(mode, x, y, z);
  OGLM_CHECK_ERR("glMatrixTranslatedEXT", )
#line 44913 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMatrixTranslatefEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMatrixTranslatefEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "mode, x, y, z");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
	GLfloat	z = (float)SvNV(ST(3))
;
#line 22030 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMatrixTranslatefEXT", )
  OGLM_AVAIL_CHECK(__glewMatrixTranslatefEXT, glMatrixTranslatefEXT)
  glMatrixTranslatefEXT(mode, x, y, z);
  OGLM_CHECK_ERR("glMatrixTranslatefEXT", )
#line 44940 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMaxActiveShaderCoresARM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMaxActiveShaderCoresARM)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "count");
    {
	GLuint	count = (unsigned int)SvUV(ST(0))
;
#line 22040 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMaxActiveShaderCoresARM", )
  OGLM_AVAIL_CHECK(__glewMaxActiveShaderCoresARM, glMaxActiveShaderCoresARM)
  glMaxActiveShaderCoresARM(count);
  OGLM_CHECK_ERR("glMaxActiveShaderCoresARM", )
#line 44961 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMaxShaderCompilerThreadsKHR); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMaxShaderCompilerThreadsKHR)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "count");
    {
	GLuint	count = (unsigned int)SvUV(ST(0))
;
#line 22052 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMaxShaderCompilerThreadsKHR", )
  OGLM_AVAIL_CHECK(__glewMaxShaderCompilerThreadsKHR, glMaxShaderCompilerThreadsKHR)
  glMaxShaderCompilerThreadsKHR(count);
  OGLM_CHECK_ERR("glMaxShaderCompilerThreadsKHR", )
#line 44983 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMemoryBarrier); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMemoryBarrier)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "barriers");
    {
	GLbitfield	barriers = (int)SvIV(ST(0))
;
#line 22064 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMemoryBarrier", )
  OGLM_AVAIL_CHECK(__glewMemoryBarrier, glMemoryBarrier)
  glMemoryBarrier(barriers);
  OGLM_CHECK_ERR("glMemoryBarrier", )
#line 45005 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMemoryBarrierByRegion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMemoryBarrierByRegion)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "barriers");
    {
	GLbitfield	barriers = (int)SvIV(ST(0))
;
#line 22074 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMemoryBarrierByRegion", )
  OGLM_AVAIL_CHECK(__glewMemoryBarrierByRegion, glMemoryBarrierByRegion)
  glMemoryBarrierByRegion(barriers);
  OGLM_CHECK_ERR("glMemoryBarrierByRegion", )
#line 45026 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMemoryObjectParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMemoryObjectParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "memoryObject, pname, params");
    {
	GLuint	memoryObject = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 22086 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMemoryObjectParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewMemoryObjectParameterivEXT, glMemoryObjectParameterivEXT)
  glMemoryObjectParameterivEXT(memoryObject, pname, params);
  OGLM_CHECK_ERR("glMemoryObjectParameterivEXT", )
#line 45051 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMeshBreadthSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMeshBreadthSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "breadth");
    {
	GLint	breadth = (int)SvIV(ST(0))
;
#line 22096 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMeshBreadthSGIX", )
  OGLM_AVAIL_CHECK(__glewMeshBreadthSGIX, glMeshBreadthSGIX)
  glMeshBreadthSGIX(breadth);
  OGLM_CHECK_ERR("glMeshBreadthSGIX", )
#line 45072 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMeshStrideSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMeshStrideSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "stride");
    {
	GLint	stride = (int)SvIV(ST(0))
;
#line 22106 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMeshStrideSGIX", )
  OGLM_AVAIL_CHECK(__glewMeshStrideSGIX, glMeshStrideSGIX)
  glMeshStrideSGIX(stride);
  OGLM_CHECK_ERR("glMeshStrideSGIX", )
#line 45093 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMinSampleShading); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMinSampleShading)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "value");
    {
	GLclampf	value = (float)SvNV(ST(0))
;
#line 22118 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMinSampleShading", )
  OGLM_AVAIL_CHECK(__glewMinSampleShading, glMinSampleShading)
  glMinSampleShading(value);
  OGLM_CHECK_ERR("glMinSampleShading", )
#line 45115 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMinSampleShadingOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMinSampleShadingOES)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "value");
    {
	GLfloat	value = (float)SvNV(ST(0))
;
#line 22128 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMinSampleShadingOES", )
  OGLM_AVAIL_CHECK(__glewMinSampleShadingOES, glMinSampleShadingOES)
  glMinSampleShadingOES(value);
  OGLM_CHECK_ERR("glMinSampleShadingOES", )
#line 45136 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMinmax); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMinmax)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, internalformat, sink");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLboolean	sink = (int)SvIV(ST(2))
;
#line 22142 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMinmax", )
  OGLM_AVAIL_CHECK(__glewMinmax, glMinmax)
  glMinmax(target, internalformat, sink);
  OGLM_CHECK_ERR("glMinmax", )
#line 45162 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultMatrixd_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultMatrixd_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	const GLdouble *	m = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 22152 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultMatrixd", )
  glMultMatrixd(m);
  OGLM_CHECK_ERR("glMultMatrixd", )
#line 45182 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultMatrixd_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultMatrixd_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 22160 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultMatrixd", )
  GLdouble *m = OGLM_GET_VARARGS(m,0,GLdouble,NV,16);
  glMultMatrixd((const GLdouble *)m);
  OGLM_CHECK_ERR("glMultMatrixd", free(m);)
  free(m);
#line 45202 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultMatrixf_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultMatrixf_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	const GLfloat *	m = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 22171 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultMatrixf", )
  glMultMatrixf(m);
  OGLM_CHECK_ERR("glMultMatrixf", )
#line 45222 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultMatrixf_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultMatrixf_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 22179 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultMatrixf", )
  GLfloat *m = OGLM_GET_VARARGS(m,0,GLfloat,NV,16);
  glMultMatrixf((const GLfloat *)m);
  OGLM_CHECK_ERR("glMultMatrixf", free(m);)
  free(m);
#line 45242 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultMatrixx_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultMatrixx_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	const GLfixed*	m = INT2PTR(const GLfixed *,SvIV(ST(0)))
;
#line 22190 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultMatrixx", )
  OGLM_AVAIL_CHECK(__glewMultMatrixx, glMultMatrixx)
  glMultMatrixx(m);
  OGLM_CHECK_ERR("glMultMatrixx", )
#line 45263 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultMatrixx_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultMatrixx_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 22199 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultMatrixx", )
  OGLM_AVAIL_CHECK(__glewMultMatrixx, glMultMatrixx)
  GLfixed* m = OGLM_GET_VARARGS(m,0,GLfixed,IV,16);
  glMultMatrixx((const GLfixed* )m);
  OGLM_CHECK_ERR("glMultMatrixx", free(m);)
  free(m);
#line 45284 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultTransposeMatrixd_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultTransposeMatrixd_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	const GLdouble *	m = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 22213 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultTransposeMatrixd", )
  OGLM_AVAIL_CHECK(__glewMultTransposeMatrixd, glMultTransposeMatrixd)
  glMultTransposeMatrixd(m);
  OGLM_CHECK_ERR("glMultTransposeMatrixd", )
#line 45306 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultTransposeMatrixd_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultTransposeMatrixd_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 22224 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultTransposeMatrixd", )
  OGLM_AVAIL_CHECK(__glewMultTransposeMatrixd, glMultTransposeMatrixd)
  GLdouble * m = OGLM_GET_VARARGS(m,0,GLdouble,NV,16);
  glMultTransposeMatrixd((const GLdouble * )m);
  OGLM_CHECK_ERR("glMultTransposeMatrixd", free(m);)
  free(m);
#line 45328 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultTransposeMatrixf_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultTransposeMatrixf_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	const GLfloat *	m = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 22238 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultTransposeMatrixf", )
  OGLM_AVAIL_CHECK(__glewMultTransposeMatrixf, glMultTransposeMatrixf)
  glMultTransposeMatrixf(m);
  OGLM_CHECK_ERR("glMultTransposeMatrixf", )
#line 45350 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultTransposeMatrixf_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultTransposeMatrixf_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 22249 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultTransposeMatrixf", )
  OGLM_AVAIL_CHECK(__glewMultTransposeMatrixf, glMultTransposeMatrixf)
  GLfloat * m = OGLM_GET_VARARGS(m,0,GLfloat,NV,16);
  glMultTransposeMatrixf((const GLfloat * )m);
  OGLM_CHECK_ERR("glMultTransposeMatrixf", free(m);)
  free(m);
#line 45372 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArrays_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArrays_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "mode, first, count, drawcount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLint *	first = INT2PTR(const GLint *,SvIV(ST(1)))
;
	const GLsizei *	count = INT2PTR(const GLsizei *,SvIV(ST(2)))
;
	GLsizei	drawcount = (int)SvIV(ST(3))
;
#line 22266 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawArrays", )
  OGLM_AVAIL_CHECK(__glewMultiDrawArrays, glMultiDrawArrays)
  glMultiDrawArrays(mode, first, count, drawcount);
  OGLM_CHECK_ERR("glMultiDrawArrays", )
#line 45400 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArrays_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArrays_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "mode, firstSV, countSV");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	SV *	firstSV = ST(1)
;
	SV *	countSV = ST(2)
;
#line 22280 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawArrays", )
  OGLM_AVAIL_CHECK(__glewMultiDrawArrays, glMultiDrawArrays)
  GLsizei drawcount = OGLM_LEN_ARRAY(drawcount, first);
  GLsizei *count = OGLM_GET_ARRAY(count, GLsizei, IV, drawcount);
  GLint *first = OGLM_GET_ARRAY(first, GLint, IV, drawcount);
  glMultiDrawArrays((GLenum )mode, (const GLint *)first, (const GLsizei *)count, (GLsizei )drawcount);
  OGLM_CHECK_ERR("glMultiDrawArrays", free(count);free(first);)
  free(count);free(first);
#line 45430 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArraysIndirect_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArraysIndirect_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "mode, indirect, drawcount, stride");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const void *	indirect = INT2PTR(const void *,SvIV(ST(1)))
;
	GLsizei	drawcount = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
#line 22300 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawArraysIndirect", )
  OGLM_AVAIL_CHECK(__glewMultiDrawArraysIndirect, glMultiDrawArraysIndirect)
  glMultiDrawArraysIndirect(mode, indirect, drawcount, stride);
  OGLM_CHECK_ERR("glMultiDrawArraysIndirect", )
#line 45458 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArraysIndirectBindlessCountNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArraysIndirectBindlessCountNV_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const void *	indirect = INT2PTR(const void *,SvIV(ST(1)))
;
	GLintptr	drawCount = (unsigned int)SvUV(ST(2))
;
	GLsizei	maxDrawCount = (int)SvIV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
	GLint	vertexBufferCount = (int)SvIV(ST(5))
;
#line 22315 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawArraysIndirectBindlessCountNV", )
  OGLM_AVAIL_CHECK(__glewMultiDrawArraysIndirectBindlessCountNV, glMultiDrawArraysIndirectBindlessCountNV)
  glMultiDrawArraysIndirectBindlessCountNV(mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount);
  OGLM_CHECK_ERR("glMultiDrawArraysIndirectBindlessCountNV", )
#line 45489 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArraysIndirectBindlessNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArraysIndirectBindlessNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "mode, indirect, drawCount, stride, vertexBufferCount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const void *	indirect = INT2PTR(const void *,SvIV(ST(1)))
;
	GLsizei	drawCount = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
	GLint	vertexBufferCount = (int)SvIV(ST(4))
;
#line 22329 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawArraysIndirectBindlessNV", )
  OGLM_AVAIL_CHECK(__glewMultiDrawArraysIndirectBindlessNV, glMultiDrawArraysIndirectBindlessNV)
  glMultiDrawArraysIndirectBindlessNV(mode, indirect, drawCount, stride, vertexBufferCount);
  OGLM_CHECK_ERR("glMultiDrawArraysIndirectBindlessNV", )
#line 45518 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArraysIndirectCount_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawArraysIndirectCount_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "mode, indirect, drawcount, maxdrawcount, stride");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLvoid *	indirect = INT2PTR(const GLvoid *,SvIV(ST(1)))
;
	GLintptr	drawcount = (unsigned int)SvUV(ST(2))
;
	GLsizei	maxdrawcount = (int)SvIV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
#line 22345 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawArraysIndirectCount", )
  OGLM_AVAIL_CHECK(__glewMultiDrawArraysIndirectCount, glMultiDrawArraysIndirectCount)
  glMultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride);
  OGLM_CHECK_ERR("glMultiDrawArraysIndirectCount", )
#line 45548 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementArrayAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementArrayAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "mode, first, count, primcount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLint*	first = INT2PTR(const GLint *,SvIV(ST(1)))
;
	const GLsizei *	count = INT2PTR(const GLsizei *,SvIV(ST(2)))
;
	GLsizei	primcount = (int)SvIV(ST(3))
;
#line 22358 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawElementArrayAPPLE", )
  OGLM_AVAIL_CHECK(__glewMultiDrawElementArrayAPPLE, glMultiDrawElementArrayAPPLE)
  glMultiDrawElementArrayAPPLE(mode, first, count, primcount);
  OGLM_CHECK_ERR("glMultiDrawElementArrayAPPLE", )
#line 45575 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementArrayAPPLE_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementArrayAPPLE_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "mode, firstSV, countSV");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	SV *	firstSV = ST(1)
;
	SV *	countSV = ST(2)
;
#line 22370 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawElementArrayAPPLE", )
  OGLM_AVAIL_CHECK(__glewMultiDrawElementArrayAPPLE, glMultiDrawElementArrayAPPLE)
  GLsizei primcount = OGLM_LEN_ARRAY(primcount, first);
  GLsizei *count = OGLM_GET_ARRAY(count, GLsizei, IV, primcount);
  GLint* first = OGLM_GET_ARRAY(first, GLint, IV, primcount);
  glMultiDrawElementArrayAPPLE((GLenum )mode, (const GLint* )first, (const GLsizei *)count, (GLsizei )primcount);
  OGLM_CHECK_ERR("glMultiDrawElementArrayAPPLE", free(count);free(first);)
  free(count);free(first);
#line 45604 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElements_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElements_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "mode, count, type, indices, drawcount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLsizei *	count = INT2PTR(const GLsizei *,SvIV(ST(1)))
;
	GLenum	type = (int)SvIV(ST(2))
;
	const void *const*	indices = INT2PTR(const void * const *,SvIV(ST(3)))
;
	GLsizei	drawcount = (int)SvIV(ST(4))
;
#line 22390 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawElements", )
  OGLM_AVAIL_CHECK(__glewMultiDrawElements, glMultiDrawElements)
  glMultiDrawElements(mode, count, type, indices, drawcount);
  OGLM_CHECK_ERR("glMultiDrawElements", )
#line 45634 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementsBaseVertex_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementsBaseVertex_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "mode, count, type, indices, drawcount, basevertex");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	const GLsizei*	count = INT2PTR(const GLsizei *,SvIV(ST(1)))
;
	GLenum	type = (int)SvIV(ST(2))
;
	const void*const *	indices = INT2PTR(const void * const *,SvIV(ST(3)))
;
	GLsizei	drawcount = (int)SvIV(ST(4))
;
	const GLint *	basevertex = INT2PTR(const GLint *,SvIV(ST(5)))
;
#line 22407 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawElementsBaseVertex", )
  OGLM_AVAIL_CHECK(__glewMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex)
  glMultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
  OGLM_CHECK_ERR("glMultiDrawElementsBaseVertex", )
#line 45666 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementsIndirect_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementsIndirect_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "mode, type, indirect, drawcount, stride");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const void *	indirect = INT2PTR(const void *,SvIV(ST(2)))
;
	GLsizei	drawcount = (int)SvIV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
#line 22424 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawElementsIndirect", )
  OGLM_AVAIL_CHECK(__glewMultiDrawElementsIndirect, glMultiDrawElementsIndirect)
  glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride);
  OGLM_CHECK_ERR("glMultiDrawElementsIndirect", )
#line 45696 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementsIndirectBindlessCountNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementsIndirectBindlessCountNV_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const void *	indirect = INT2PTR(const void *,SvIV(ST(2)))
;
	GLintptr	drawCount = (unsigned int)SvUV(ST(3))
;
	GLsizei	maxDrawCount = (int)SvIV(ST(4))
;
	GLsizei	stride = (int)SvIV(ST(5))
;
	GLint	vertexBufferCount = (int)SvIV(ST(6))
;
#line 22440 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawElementsIndirectBindlessCountNV", )
  OGLM_AVAIL_CHECK(__glewMultiDrawElementsIndirectBindlessCountNV, glMultiDrawElementsIndirectBindlessCountNV)
  glMultiDrawElementsIndirectBindlessCountNV(mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount);
  OGLM_CHECK_ERR("glMultiDrawElementsIndirectBindlessCountNV", )
#line 45729 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementsIndirectBindlessNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementsIndirectBindlessNV_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "mode, type, indirect, drawCount, stride, vertexBufferCount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const void *	indirect = INT2PTR(const void *,SvIV(ST(2)))
;
	GLsizei	drawCount = (int)SvIV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
	GLint	vertexBufferCount = (int)SvIV(ST(5))
;
#line 22455 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawElementsIndirectBindlessNV", )
  OGLM_AVAIL_CHECK(__glewMultiDrawElementsIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV)
  glMultiDrawElementsIndirectBindlessNV(mode, type, indirect, drawCount, stride, vertexBufferCount);
  OGLM_CHECK_ERR("glMultiDrawElementsIndirectBindlessNV", )
#line 45760 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementsIndirectCount_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawElementsIndirectCount_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "mode, type, indirect, drawcount, maxdrawcount, stride");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const GLvoid *	indirect = INT2PTR(const GLvoid *,SvIV(ST(2)))
;
	GLintptr	drawcount = (unsigned int)SvUV(ST(3))
;
	GLsizei	maxdrawcount = (int)SvIV(ST(4))
;
	GLsizei	stride = (int)SvIV(ST(5))
;
#line 22472 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawElementsIndirectCount", )
  OGLM_AVAIL_CHECK(__glewMultiDrawElementsIndirectCount, glMultiDrawElementsIndirectCount)
  glMultiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount, stride);
  OGLM_CHECK_ERR("glMultiDrawElementsIndirectCount", )
#line 45792 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectCountEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectCountEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "indirect, drawcount, maxdrawcount, stride");
    {
	GLintptr	indirect = (unsigned int)SvUV(ST(0))
;
	GLintptr	drawcount = (unsigned int)SvUV(ST(1))
;
	GLsizei	maxdrawcount = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
#line 22485 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawMeshTasksIndirectCountEXT", )
  OGLM_AVAIL_CHECK(__glewMultiDrawMeshTasksIndirectCountEXT, glMultiDrawMeshTasksIndirectCountEXT)
  glMultiDrawMeshTasksIndirectCountEXT(indirect, drawcount, maxdrawcount, stride);
  OGLM_CHECK_ERR("glMultiDrawMeshTasksIndirectCountEXT", )
#line 45819 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectCountNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectCountNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "indirect, drawcount, maxdrawcount, stride");
    {
	GLintptr	indirect = (unsigned int)SvUV(ST(0))
;
	GLintptr	drawcount = (unsigned int)SvUV(ST(1))
;
	GLsizei	maxdrawcount = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
#line 22498 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawMeshTasksIndirectCountNV", )
  OGLM_AVAIL_CHECK(__glewMultiDrawMeshTasksIndirectCountNV, glMultiDrawMeshTasksIndirectCountNV)
  glMultiDrawMeshTasksIndirectCountNV(indirect, drawcount, maxdrawcount, stride);
  OGLM_CHECK_ERR("glMultiDrawMeshTasksIndirectCountNV", )
#line 45846 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "indirect, drawcount, stride");
    {
	GLintptr	indirect = (unsigned int)SvUV(ST(0))
;
	GLsizei	drawcount = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
#line 22510 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawMeshTasksIndirectEXT", )
  OGLM_AVAIL_CHECK(__glewMultiDrawMeshTasksIndirectEXT, glMultiDrawMeshTasksIndirectEXT)
  glMultiDrawMeshTasksIndirectEXT(indirect, drawcount, stride);
  OGLM_CHECK_ERR("glMultiDrawMeshTasksIndirectEXT", )
#line 45871 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "indirect, drawcount, stride");
    {
	GLintptr	indirect = (unsigned int)SvUV(ST(0))
;
	GLsizei	drawcount = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
#line 22522 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawMeshTasksIndirectNV", )
  OGLM_AVAIL_CHECK(__glewMultiDrawMeshTasksIndirectNV, glMultiDrawMeshTasksIndirectNV)
  glMultiDrawMeshTasksIndirectNV(indirect, drawcount, stride);
  OGLM_CHECK_ERR("glMultiDrawMeshTasksIndirectNV", )
#line 45896 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawRangeElementArrayAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawRangeElementArrayAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "mode, start, end, first, count, primcount");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLuint	start = (unsigned int)SvUV(ST(1))
;
	GLuint	end = (unsigned int)SvUV(ST(2))
;
	const GLint*	first = INT2PTR(const GLint *,SvIV(ST(3)))
;
	const GLsizei *	count = INT2PTR(const GLsizei *,SvIV(ST(4)))
;
	GLsizei	primcount = (int)SvIV(ST(5))
;
#line 22537 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawRangeElementArrayAPPLE", )
  OGLM_AVAIL_CHECK(__glewMultiDrawRangeElementArrayAPPLE, glMultiDrawRangeElementArrayAPPLE)
  glMultiDrawRangeElementArrayAPPLE(mode, start, end, first, count, primcount);
  OGLM_CHECK_ERR("glMultiDrawRangeElementArrayAPPLE", )
#line 45927 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiDrawRangeElementArrayAPPLE_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiDrawRangeElementArrayAPPLE_p)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "mode, start, end, firstSV, countSV");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLuint	start = (unsigned int)SvUV(ST(1))
;
	GLuint	end = (unsigned int)SvUV(ST(2))
;
	SV *	firstSV = ST(3)
;
	SV *	countSV = ST(4)
;
#line 22551 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiDrawRangeElementArrayAPPLE", )
  OGLM_AVAIL_CHECK(__glewMultiDrawRangeElementArrayAPPLE, glMultiDrawRangeElementArrayAPPLE)
  GLsizei primcount = OGLM_LEN_ARRAY(primcount, first);
  GLsizei *count = OGLM_GET_ARRAY(count, GLsizei, IV, primcount);
  GLint* first = OGLM_GET_ARRAY(first, GLint, IV, primcount);
  glMultiDrawRangeElementArrayAPPLE((GLenum )mode, (GLuint )start, (GLuint )end, (const GLint* )first, (const GLsizei *)count, (GLsizei )primcount);
  OGLM_CHECK_ERR("glMultiDrawRangeElementArrayAPPLE", free(count);free(first);)
  free(count);free(first);
#line 45960 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiModeDrawArraysIBM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiModeDrawArraysIBM_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "mode, first, count, primcount, modestride");
    {
	const GLenum*	mode = INT2PTR(const GLenum *,SvIV(ST(0)))
;
	const GLint *	first = INT2PTR(const GLint *,SvIV(ST(1)))
;
	const GLsizei *	count = INT2PTR(const GLsizei *,SvIV(ST(2)))
;
	GLsizei	primcount = (int)SvIV(ST(3))
;
	GLint	modestride = (int)SvIV(ST(4))
;
#line 22569 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiModeDrawArraysIBM", )
  OGLM_AVAIL_CHECK(__glewMultiModeDrawArraysIBM, glMultiModeDrawArraysIBM)
  glMultiModeDrawArraysIBM(mode, first, count, primcount, modestride);
  OGLM_CHECK_ERR("glMultiModeDrawArraysIBM", )
#line 45989 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiModeDrawElementsIBM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiModeDrawElementsIBM_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "mode, count, type, indices, primcount, modestride");
    {
	const GLenum*	mode = INT2PTR(const GLenum *,SvIV(ST(0)))
;
	const GLsizei *	count = INT2PTR(const GLsizei *,SvIV(ST(1)))
;
	GLenum	type = (int)SvIV(ST(2))
;
	const void *const *	indices = INT2PTR(const void * const *,SvIV(ST(3)))
;
	GLsizei	primcount = (int)SvIV(ST(4))
;
	GLint	modestride = (int)SvIV(ST(5))
;
#line 22584 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiModeDrawElementsIBM", )
  OGLM_AVAIL_CHECK(__glewMultiModeDrawElementsIBM, glMultiModeDrawElementsIBM)
  glMultiModeDrawElementsIBM(mode, count, type, indices, primcount, modestride);
  OGLM_CHECK_ERR("glMultiModeDrawElementsIBM", )
#line 46020 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexBufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexBufferEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, internalformat, buffer");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLuint	buffer = (unsigned int)SvUV(ST(3))
;
#line 22597 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexBufferEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexBufferEXT, glMultiTexBufferEXT)
  glMultiTexBufferEXT(texunit, target, internalformat, buffer);
  OGLM_CHECK_ERR("glMultiTexBufferEXT", )
#line 46047 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, s");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLdouble	s = (double)SvNV(ST(1))
;
#line 22610 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1d", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1d, glMultiTexCoord1d)
  glMultiTexCoord1d(target, s);
  OGLM_CHECK_ERR("glMultiTexCoord1d", )
#line 46071 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 22623 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1dv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1dv, glMultiTexCoord1dv)
  glMultiTexCoord1dv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord1dv", )
#line 46095 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 22635 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1dv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1dv, glMultiTexCoord1dv)
  GLdouble *v = OGLM_GET_VARARGS(v,1,GLdouble,NV,1);
  glMultiTexCoord1dv((GLenum )target, (const GLdouble *)v);
  OGLM_CHECK_ERR("glMultiTexCoord1dv", free(v);)
  free(v);
#line 46119 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, s");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLfloat	s = (float)SvNV(ST(1))
;
#line 22650 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1f", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1f, glMultiTexCoord1f)
  glMultiTexCoord1f(target, s);
  OGLM_CHECK_ERR("glMultiTexCoord1f", )
#line 46143 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 22663 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1fv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1fv, glMultiTexCoord1fv)
  glMultiTexCoord1fv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord1fv", )
#line 46167 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 22675 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1fv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1fv, glMultiTexCoord1fv)
  GLfloat *v = OGLM_GET_VARARGS(v,1,GLfloat,NV,1);
  glMultiTexCoord1fv((GLenum )target, (const GLfloat *)v);
  OGLM_CHECK_ERR("glMultiTexCoord1fv", free(v);)
  free(v);
#line 46191 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1hNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, s");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLhalf	s = (float)SvNV(ST(1))
;
#line 22688 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1hNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1hNV, glMultiTexCoord1hNV)
  glMultiTexCoord1hNV(target, s);
  OGLM_CHECK_ERR("glMultiTexCoord1hNV", )
#line 46214 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(1)))
;
#line 22699 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1hvNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1hvNV, glMultiTexCoord1hvNV)
  glMultiTexCoord1hvNV(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord1hvNV", )
#line 46237 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 22709 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1hvNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1hvNV, glMultiTexCoord1hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,1);
  glMultiTexCoord1hvNV((GLenum )target, (const GLhalf* )v);
  OGLM_CHECK_ERR("glMultiTexCoord1hvNV", free(v);)
  free(v);
#line 46260 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, s");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	s = (int)SvIV(ST(1))
;
#line 22724 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1i", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1i, glMultiTexCoord1i)
  glMultiTexCoord1i(target, s);
  OGLM_CHECK_ERR("glMultiTexCoord1i", )
#line 46284 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 22737 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1iv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1iv, glMultiTexCoord1iv)
  glMultiTexCoord1iv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord1iv", )
#line 46308 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 22749 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1iv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1iv, glMultiTexCoord1iv)
  GLint *v = OGLM_GET_VARARGS(v,1,GLint,IV,1);
  glMultiTexCoord1iv((GLenum )target, (const GLint *)v);
  OGLM_CHECK_ERR("glMultiTexCoord1iv", free(v);)
  free(v);
#line 46332 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1s)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, s");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLshort	s = (short)SvIV(ST(1))
;
#line 22764 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1s", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1s, glMultiTexCoord1s)
  glMultiTexCoord1s(target, s);
  OGLM_CHECK_ERR("glMultiTexCoord1s", )
#line 46356 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 22777 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1sv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1sv, glMultiTexCoord1sv)
  glMultiTexCoord1sv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord1sv", )
#line 46380 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord1sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 22789 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord1sv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord1sv, glMultiTexCoord1sv)
  GLshort *v = OGLM_GET_VARARGS(v,1,GLshort,IV,1);
  glMultiTexCoord1sv((GLenum )target, (const GLshort *)v);
  OGLM_CHECK_ERR("glMultiTexCoord1sv", free(v);)
  free(v);
#line 46404 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, s, t");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLdouble	s = (double)SvNV(ST(1))
;
	GLdouble	t = (double)SvNV(ST(2))
;
#line 22805 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2d", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2d, glMultiTexCoord2d)
  glMultiTexCoord2d(target, s, t);
  OGLM_CHECK_ERR("glMultiTexCoord2d", )
#line 46430 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 22818 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2dv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2dv, glMultiTexCoord2dv)
  glMultiTexCoord2dv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord2dv", )
#line 46454 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 22830 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2dv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2dv, glMultiTexCoord2dv)
  GLdouble *v = OGLM_GET_VARARGS(v,1,GLdouble,NV,2);
  glMultiTexCoord2dv((GLenum )target, (const GLdouble *)v);
  OGLM_CHECK_ERR("glMultiTexCoord2dv", free(v);)
  free(v);
#line 46478 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, s, t");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLfloat	s = (float)SvNV(ST(1))
;
	GLfloat	t = (float)SvNV(ST(2))
;
#line 22846 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2f", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2f, glMultiTexCoord2f)
  glMultiTexCoord2f(target, s, t);
  OGLM_CHECK_ERR("glMultiTexCoord2f", )
#line 46504 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 22859 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2fv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2fv, glMultiTexCoord2fv)
  glMultiTexCoord2fv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord2fv", )
#line 46528 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 22871 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2fv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2fv, glMultiTexCoord2fv)
  GLfloat *v = OGLM_GET_VARARGS(v,1,GLfloat,NV,2);
  glMultiTexCoord2fv((GLenum )target, (const GLfloat *)v);
  OGLM_CHECK_ERR("glMultiTexCoord2fv", free(v);)
  free(v);
#line 46552 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2hNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, s, t");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLhalf	s = (float)SvNV(ST(1))
;
	GLhalf	t = (float)SvNV(ST(2))
;
#line 22885 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2hNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2hNV, glMultiTexCoord2hNV)
  glMultiTexCoord2hNV(target, s, t);
  OGLM_CHECK_ERR("glMultiTexCoord2hNV", )
#line 46577 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(1)))
;
#line 22896 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2hvNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2hvNV, glMultiTexCoord2hvNV)
  glMultiTexCoord2hvNV(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord2hvNV", )
#line 46600 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 22906 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2hvNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2hvNV, glMultiTexCoord2hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,2);
  glMultiTexCoord2hvNV((GLenum )target, (const GLhalf* )v);
  OGLM_CHECK_ERR("glMultiTexCoord2hvNV", free(v);)
  free(v);
#line 46623 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, s, t");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	s = (int)SvIV(ST(1))
;
	GLint	t = (int)SvIV(ST(2))
;
#line 22922 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2i", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2i, glMultiTexCoord2i)
  glMultiTexCoord2i(target, s, t);
  OGLM_CHECK_ERR("glMultiTexCoord2i", )
#line 46649 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 22935 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2iv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2iv, glMultiTexCoord2iv)
  glMultiTexCoord2iv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord2iv", )
#line 46673 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 22947 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2iv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2iv, glMultiTexCoord2iv)
  GLint *v = OGLM_GET_VARARGS(v,1,GLint,IV,2);
  glMultiTexCoord2iv((GLenum )target, (const GLint *)v);
  OGLM_CHECK_ERR("glMultiTexCoord2iv", free(v);)
  free(v);
#line 46697 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2s)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, s, t");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLshort	s = (short)SvIV(ST(1))
;
	GLshort	t = (short)SvIV(ST(2))
;
#line 22963 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2s", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2s, glMultiTexCoord2s)
  glMultiTexCoord2s(target, s, t);
  OGLM_CHECK_ERR("glMultiTexCoord2s", )
#line 46723 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 22976 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2sv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2sv, glMultiTexCoord2sv)
  glMultiTexCoord2sv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord2sv", )
#line 46747 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord2sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 22988 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord2sv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord2sv, glMultiTexCoord2sv)
  GLshort *v = OGLM_GET_VARARGS(v,1,GLshort,IV,2);
  glMultiTexCoord2sv((GLenum )target, (const GLshort *)v);
  OGLM_CHECK_ERR("glMultiTexCoord2sv", free(v);)
  free(v);
#line 46771 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, s, t, r");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLdouble	s = (double)SvNV(ST(1))
;
	GLdouble	t = (double)SvNV(ST(2))
;
	GLdouble	r = (double)SvNV(ST(3))
;
#line 23005 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3d", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3d, glMultiTexCoord3d)
  glMultiTexCoord3d(target, s, t, r);
  OGLM_CHECK_ERR("glMultiTexCoord3d", )
#line 46799 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 23018 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3dv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3dv, glMultiTexCoord3dv)
  glMultiTexCoord3dv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord3dv", )
#line 46823 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 23030 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3dv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3dv, glMultiTexCoord3dv)
  GLdouble *v = OGLM_GET_VARARGS(v,1,GLdouble,NV,3);
  glMultiTexCoord3dv((GLenum )target, (const GLdouble *)v);
  OGLM_CHECK_ERR("glMultiTexCoord3dv", free(v);)
  free(v);
#line 46847 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, s, t, r");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLfloat	s = (float)SvNV(ST(1))
;
	GLfloat	t = (float)SvNV(ST(2))
;
	GLfloat	r = (float)SvNV(ST(3))
;
#line 23047 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3f", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3f, glMultiTexCoord3f)
  glMultiTexCoord3f(target, s, t, r);
  OGLM_CHECK_ERR("glMultiTexCoord3f", )
#line 46875 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 23060 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3fv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3fv, glMultiTexCoord3fv)
  glMultiTexCoord3fv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord3fv", )
#line 46899 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 23072 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3fv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3fv, glMultiTexCoord3fv)
  GLfloat *v = OGLM_GET_VARARGS(v,1,GLfloat,NV,3);
  glMultiTexCoord3fv((GLenum )target, (const GLfloat *)v);
  OGLM_CHECK_ERR("glMultiTexCoord3fv", free(v);)
  free(v);
#line 46923 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3hNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, s, t, r");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLhalf	s = (float)SvNV(ST(1))
;
	GLhalf	t = (float)SvNV(ST(2))
;
	GLhalf	r = (float)SvNV(ST(3))
;
#line 23087 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3hNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3hNV, glMultiTexCoord3hNV)
  glMultiTexCoord3hNV(target, s, t, r);
  OGLM_CHECK_ERR("glMultiTexCoord3hNV", )
#line 46950 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(1)))
;
#line 23098 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3hvNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3hvNV, glMultiTexCoord3hvNV)
  glMultiTexCoord3hvNV(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord3hvNV", )
#line 46973 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 23108 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3hvNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3hvNV, glMultiTexCoord3hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,3);
  glMultiTexCoord3hvNV((GLenum )target, (const GLhalf* )v);
  OGLM_CHECK_ERR("glMultiTexCoord3hvNV", free(v);)
  free(v);
#line 46996 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, s, t, r");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	s = (int)SvIV(ST(1))
;
	GLint	t = (int)SvIV(ST(2))
;
	GLint	r = (int)SvIV(ST(3))
;
#line 23125 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3i", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3i, glMultiTexCoord3i)
  glMultiTexCoord3i(target, s, t, r);
  OGLM_CHECK_ERR("glMultiTexCoord3i", )
#line 47024 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 23138 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3iv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3iv, glMultiTexCoord3iv)
  glMultiTexCoord3iv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord3iv", )
#line 47048 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 23150 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3iv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3iv, glMultiTexCoord3iv)
  GLint *v = OGLM_GET_VARARGS(v,1,GLint,IV,3);
  glMultiTexCoord3iv((GLenum )target, (const GLint *)v);
  OGLM_CHECK_ERR("glMultiTexCoord3iv", free(v);)
  free(v);
#line 47072 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3s)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, s, t, r");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLshort	s = (short)SvIV(ST(1))
;
	GLshort	t = (short)SvIV(ST(2))
;
	GLshort	r = (short)SvIV(ST(3))
;
#line 23167 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3s", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3s, glMultiTexCoord3s)
  glMultiTexCoord3s(target, s, t, r);
  OGLM_CHECK_ERR("glMultiTexCoord3s", )
#line 47100 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 23180 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3sv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3sv, glMultiTexCoord3sv)
  glMultiTexCoord3sv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord3sv", )
#line 47124 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord3sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 23192 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord3sv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord3sv, glMultiTexCoord3sv)
  GLshort *v = OGLM_GET_VARARGS(v,1,GLshort,IV,3);
  glMultiTexCoord3sv((GLenum )target, (const GLshort *)v);
  OGLM_CHECK_ERR("glMultiTexCoord3sv", free(v);)
  free(v);
#line 47148 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, s, t, r, q");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLdouble	s = (double)SvNV(ST(1))
;
	GLdouble	t = (double)SvNV(ST(2))
;
	GLdouble	r = (double)SvNV(ST(3))
;
	GLdouble	q = (double)SvNV(ST(4))
;
#line 23210 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4d", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4d, glMultiTexCoord4d)
  glMultiTexCoord4d(target, s, t, r, q);
  OGLM_CHECK_ERR("glMultiTexCoord4d", )
#line 47178 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 23223 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4dv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4dv, glMultiTexCoord4dv)
  glMultiTexCoord4dv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord4dv", )
#line 47202 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 23235 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4dv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4dv, glMultiTexCoord4dv)
  GLdouble *v = OGLM_GET_VARARGS(v,1,GLdouble,NV,4);
  glMultiTexCoord4dv((GLenum )target, (const GLdouble *)v);
  OGLM_CHECK_ERR("glMultiTexCoord4dv", free(v);)
  free(v);
#line 47226 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, s, t, r, q");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLfloat	s = (float)SvNV(ST(1))
;
	GLfloat	t = (float)SvNV(ST(2))
;
	GLfloat	r = (float)SvNV(ST(3))
;
	GLfloat	q = (float)SvNV(ST(4))
;
#line 23253 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4f", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4f, glMultiTexCoord4f)
  glMultiTexCoord4f(target, s, t, r, q);
  OGLM_CHECK_ERR("glMultiTexCoord4f", )
#line 47256 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 23266 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4fv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4fv, glMultiTexCoord4fv)
  glMultiTexCoord4fv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord4fv", )
#line 47280 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 23278 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4fv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4fv, glMultiTexCoord4fv)
  GLfloat *v = OGLM_GET_VARARGS(v,1,GLfloat,NV,4);
  glMultiTexCoord4fv((GLenum )target, (const GLfloat *)v);
  OGLM_CHECK_ERR("glMultiTexCoord4fv", free(v);)
  free(v);
#line 47304 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4hNV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, s, t, r, q");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLhalf	s = (float)SvNV(ST(1))
;
	GLhalf	t = (float)SvNV(ST(2))
;
	GLhalf	r = (float)SvNV(ST(3))
;
	GLhalf	q = (float)SvNV(ST(4))
;
#line 23294 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4hNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4hNV, glMultiTexCoord4hNV)
  glMultiTexCoord4hNV(target, s, t, r, q);
  OGLM_CHECK_ERR("glMultiTexCoord4hNV", )
#line 47333 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(1)))
;
#line 23305 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4hvNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4hvNV, glMultiTexCoord4hvNV)
  glMultiTexCoord4hvNV(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord4hvNV", )
#line 47356 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 23315 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4hvNV", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4hvNV, glMultiTexCoord4hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,4);
  glMultiTexCoord4hvNV((GLenum )target, (const GLhalf* )v);
  OGLM_CHECK_ERR("glMultiTexCoord4hvNV", free(v);)
  free(v);
#line 47379 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, s, t, r, q");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	s = (int)SvIV(ST(1))
;
	GLint	t = (int)SvIV(ST(2))
;
	GLint	r = (int)SvIV(ST(3))
;
	GLint	q = (int)SvIV(ST(4))
;
#line 23333 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4i", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4i, glMultiTexCoord4i)
  glMultiTexCoord4i(target, s, t, r, q);
  OGLM_CHECK_ERR("glMultiTexCoord4i", )
#line 47409 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 23346 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4iv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4iv, glMultiTexCoord4iv)
  glMultiTexCoord4iv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord4iv", )
#line 47433 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 23358 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4iv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4iv, glMultiTexCoord4iv)
  GLint *v = OGLM_GET_VARARGS(v,1,GLint,IV,4);
  glMultiTexCoord4iv((GLenum )target, (const GLint *)v);
  OGLM_CHECK_ERR("glMultiTexCoord4iv", free(v);)
  free(v);
#line 47457 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4s)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, s, t, r, q");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLshort	s = (short)SvIV(ST(1))
;
	GLshort	t = (short)SvIV(ST(2))
;
	GLshort	r = (short)SvIV(ST(3))
;
	GLshort	q = (short)SvIV(ST(4))
;
#line 23376 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4s", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4s, glMultiTexCoord4s)
  glMultiTexCoord4s(target, s, t, r, q);
  OGLM_CHECK_ERR("glMultiTexCoord4s", )
#line 47487 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 23389 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4sv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4sv, glMultiTexCoord4sv)
  glMultiTexCoord4sv(target, v);
  OGLM_CHECK_ERR("glMultiTexCoord4sv", )
#line 47511 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "target, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 23401 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4sv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4sv, glMultiTexCoord4sv)
  GLshort *v = OGLM_GET_VARARGS(v,1,GLshort,IV,4);
  glMultiTexCoord4sv((GLenum )target, (const GLshort *)v);
  OGLM_CHECK_ERR("glMultiTexCoord4sv", free(v);)
  free(v);
#line 47535 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4x); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoord4x)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texture, s, t, r, q");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLfixed	s = (int)SvIV(ST(1))
;
	GLfixed	t = (int)SvIV(ST(2))
;
	GLfixed	r = (int)SvIV(ST(3))
;
	GLfixed	q = (int)SvIV(ST(4))
;
#line 23417 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoord4x", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoord4x, glMultiTexCoord4x)
  glMultiTexCoord4x(texture, s, t, r, q);
  OGLM_CHECK_ERR("glMultiTexCoord4x", )
#line 47564 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP1ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP1ui)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, type, coords");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLuint	coords = (unsigned int)SvUV(ST(2))
;
#line 23429 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP1ui", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP1ui, glMultiTexCoordP1ui)
  glMultiTexCoordP1ui(texture, type, coords);
  OGLM_CHECK_ERR("glMultiTexCoordP1ui", )
#line 47589 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP1uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP1uiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, type, coords");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const GLuint*	coords = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 23441 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP1uiv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP1uiv, glMultiTexCoordP1uiv)
  glMultiTexCoordP1uiv(texture, type, coords);
  OGLM_CHECK_ERR("glMultiTexCoordP1uiv", )
#line 47614 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP1uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP1uiv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "texture, type, ...");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
#line 23452 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP1uiv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP1uiv, glMultiTexCoordP1uiv)
  GLuint* coords = OGLM_GET_VARARGS(coords,2,GLuint,UV,1);
  glMultiTexCoordP1uiv((GLenum )texture, (GLenum )type, (const GLuint* )coords);
  OGLM_CHECK_ERR("glMultiTexCoordP1uiv", free(coords);)
  free(coords);
#line 47639 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP2ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP2ui)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, type, coords");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLuint	coords = (unsigned int)SvUV(ST(2))
;
#line 23466 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP2ui", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP2ui, glMultiTexCoordP2ui)
  glMultiTexCoordP2ui(texture, type, coords);
  OGLM_CHECK_ERR("glMultiTexCoordP2ui", )
#line 47664 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP2uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP2uiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, type, coords");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const GLuint*	coords = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 23478 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP2uiv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP2uiv, glMultiTexCoordP2uiv)
  glMultiTexCoordP2uiv(texture, type, coords);
  OGLM_CHECK_ERR("glMultiTexCoordP2uiv", )
#line 47689 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP2uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP2uiv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "texture, type, ...");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
#line 23489 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP2uiv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP2uiv, glMultiTexCoordP2uiv)
  GLuint* coords = OGLM_GET_VARARGS(coords,2,GLuint,UV,1);
  glMultiTexCoordP2uiv((GLenum )texture, (GLenum )type, (const GLuint* )coords);
  OGLM_CHECK_ERR("glMultiTexCoordP2uiv", free(coords);)
  free(coords);
#line 47714 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP3ui)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, type, coords");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLuint	coords = (unsigned int)SvUV(ST(2))
;
#line 23503 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP3ui", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP3ui, glMultiTexCoordP3ui)
  glMultiTexCoordP3ui(texture, type, coords);
  OGLM_CHECK_ERR("glMultiTexCoordP3ui", )
#line 47739 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP3uiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, type, coords");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const GLuint*	coords = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 23515 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP3uiv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP3uiv, glMultiTexCoordP3uiv)
  glMultiTexCoordP3uiv(texture, type, coords);
  OGLM_CHECK_ERR("glMultiTexCoordP3uiv", )
#line 47764 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP3uiv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "texture, type, ...");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
#line 23526 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP3uiv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP3uiv, glMultiTexCoordP3uiv)
  GLuint* coords = OGLM_GET_VARARGS(coords,2,GLuint,UV,1);
  glMultiTexCoordP3uiv((GLenum )texture, (GLenum )type, (const GLuint* )coords);
  OGLM_CHECK_ERR("glMultiTexCoordP3uiv", free(coords);)
  free(coords);
#line 47789 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP4ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP4ui)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, type, coords");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLuint	coords = (unsigned int)SvUV(ST(2))
;
#line 23540 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP4ui", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP4ui, glMultiTexCoordP4ui)
  glMultiTexCoordP4ui(texture, type, coords);
  OGLM_CHECK_ERR("glMultiTexCoordP4ui", )
#line 47814 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP4uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP4uiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, type, coords");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const GLuint*	coords = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 23552 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP4uiv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP4uiv, glMultiTexCoordP4uiv)
  glMultiTexCoordP4uiv(texture, type, coords);
  OGLM_CHECK_ERR("glMultiTexCoordP4uiv", )
#line 47839 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP4uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordP4uiv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "texture, type, ...");
    {
	GLenum	texture = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
#line 23563 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordP4uiv", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordP4uiv, glMultiTexCoordP4uiv)
  GLuint* coords = OGLM_GET_VARARGS(coords,2,GLuint,UV,1);
  glMultiTexCoordP4uiv((GLenum )texture, (GLenum )type, (const GLuint* )coords);
  OGLM_CHECK_ERR("glMultiTexCoordP4uiv", free(coords);)
  free(coords);
#line 47864 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordPointerEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexCoordPointerEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texunit, size, type, stride, pointer");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(4)))
;
#line 23579 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexCoordPointerEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexCoordPointerEXT, glMultiTexCoordPointerEXT)
  glMultiTexCoordPointerEXT(texunit, size, type, stride, pointer);
  OGLM_CHECK_ERR("glMultiTexCoordPointerEXT", )
#line 47893 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnvfEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnvfEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, param");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat	param = (float)SvNV(ST(3))
;
#line 23592 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexEnvfEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexEnvfEXT, glMultiTexEnvfEXT)
  glMultiTexEnvfEXT(texunit, target, pname, param);
  OGLM_CHECK_ERR("glMultiTexEnvfEXT", )
#line 47920 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnvfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnvfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 23605 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexEnvfvEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexEnvfvEXT, glMultiTexEnvfvEXT)
  glMultiTexEnvfvEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glMultiTexEnvfvEXT", )
#line 47947 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnvfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnvfvEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texunit, target, pname, ...");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 23617 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexEnvfvEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexEnvfvEXT, glMultiTexEnvfvEXT)
  OGLM_SIZE_ENUM(TextureEnvParameter,pname,1)
  GLfloat* params = OGLM_GET_VARARGS(params,3,GLfloat,NV,pname_count);
  glMultiTexEnvfvEXT((GLenum )texunit, (GLenum )target, (GLenum )pname, (const GLfloat* )params);
  OGLM_CHECK_ERR("glMultiTexEnvfvEXT", free(params);)
  free(params);
#line 47975 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnviEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnviEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, param");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint	param = (int)SvIV(ST(3))
;
#line 23633 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexEnviEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexEnviEXT, glMultiTexEnviEXT)
  glMultiTexEnviEXT(texunit, target, pname, param);
  OGLM_CHECK_ERR("glMultiTexEnviEXT", )
#line 48002 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnvivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnvivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 23646 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexEnvivEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexEnvivEXT, glMultiTexEnvivEXT)
  glMultiTexEnvivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glMultiTexEnvivEXT", )
#line 48029 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnvivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexEnvivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texunit, target, pname, ...");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 23658 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexEnvivEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexEnvivEXT, glMultiTexEnvivEXT)
  OGLM_SIZE_ENUM(TextureEnvParameter,pname,1)
  GLint* params = OGLM_GET_VARARGS(params,3,GLint,IV,pname_count);
  glMultiTexEnvivEXT((GLenum )texunit, (GLenum )target, (GLenum )pname, (const GLint* )params);
  OGLM_CHECK_ERR("glMultiTexEnvivEXT", free(params);)
  free(params);
#line 48057 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexGendEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexGendEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, coord, pname, param");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLdouble	param = (double)SvNV(ST(3))
;
#line 23674 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexGendEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexGendEXT, glMultiTexGendEXT)
  glMultiTexGendEXT(texunit, coord, pname, param);
  OGLM_CHECK_ERR("glMultiTexGendEXT", )
#line 48084 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexGendvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexGendvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, coord, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLdouble*	params = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 23687 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexGendvEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexGendvEXT, glMultiTexGendvEXT)
  glMultiTexGendvEXT(texunit, coord, pname, params);
  OGLM_CHECK_ERR("glMultiTexGendvEXT", )
#line 48111 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexGendvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexGendvEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texunit, coord, pname, ...");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 23699 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexGendvEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexGendvEXT, glMultiTexGendvEXT)
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLdouble* params = OGLM_GET_VARARGS(params,3,GLdouble,NV,pname_count);
  glMultiTexGendvEXT((GLenum )texunit, (GLenum )coord, (GLenum )pname, (const GLdouble* )params);
  OGLM_CHECK_ERR("glMultiTexGendvEXT", free(params);)
  free(params);
#line 48139 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexGenfEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexGenfEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, coord, pname, param");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat	param = (float)SvNV(ST(3))
;
#line 23715 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexGenfEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexGenfEXT, glMultiTexGenfEXT)
  glMultiTexGenfEXT(texunit, coord, pname, param);
  OGLM_CHECK_ERR("glMultiTexGenfEXT", )
#line 48166 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexGenfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexGenfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, coord, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 23728 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexGenfvEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexGenfvEXT, glMultiTexGenfvEXT)
  glMultiTexGenfvEXT(texunit, coord, pname, params);
  OGLM_CHECK_ERR("glMultiTexGenfvEXT", )
#line 48193 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexGenfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexGenfvEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texunit, coord, pname, ...");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 23740 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexGenfvEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexGenfvEXT, glMultiTexGenfvEXT)
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLfloat* params = OGLM_GET_VARARGS(params,3,GLfloat,NV,pname_count);
  glMultiTexGenfvEXT((GLenum )texunit, (GLenum )coord, (GLenum )pname, (const GLfloat* )params);
  OGLM_CHECK_ERR("glMultiTexGenfvEXT", free(params);)
  free(params);
#line 48221 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexGeniEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexGeniEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, coord, pname, param");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint	param = (int)SvIV(ST(3))
;
#line 23756 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexGeniEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexGeniEXT, glMultiTexGeniEXT)
  glMultiTexGeniEXT(texunit, coord, pname, param);
  OGLM_CHECK_ERR("glMultiTexGeniEXT", )
#line 48248 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexGenivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexGenivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, coord, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 23769 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexGenivEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexGenivEXT, glMultiTexGenivEXT)
  glMultiTexGenivEXT(texunit, coord, pname, params);
  OGLM_CHECK_ERR("glMultiTexGenivEXT", )
#line 48275 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexGenivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexGenivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texunit, coord, pname, ...");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	coord = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 23781 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexGenivEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexGenivEXT, glMultiTexGenivEXT)
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLint* params = OGLM_GET_VARARGS(params,3,GLint,IV,pname_count);
  glMultiTexGenivEXT((GLenum )texunit, (GLenum )coord, (GLenum )pname, (const GLint* )params);
  OGLM_CHECK_ERR("glMultiTexGenivEXT", free(params);)
  free(params);
#line 48303 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexImage1DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexImage1DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texunit, target, level, internalformat, width, border, format, type, pixels");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLint	border = (int)SvIV(ST(5))
;
	GLenum	format = (int)SvIV(ST(6))
;
	GLenum	type = (int)SvIV(ST(7))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(8)))
;
#line 23802 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexImage1DEXT, glMultiTexImage1DEXT)
  glMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels);
  OGLM_CHECK_ERR("glMultiTexImage1DEXT", )
#line 48340 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexImage2DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexImage2DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "texunit, target, level, internalformat, width, height, border, format, type, pixels");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLint	border = (int)SvIV(ST(6))
;
	GLenum	format = (int)SvIV(ST(7))
;
	GLenum	type = (int)SvIV(ST(8))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(9)))
;
#line 23821 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexImage2DEXT, glMultiTexImage2DEXT)
  glMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels);
  OGLM_CHECK_ERR("glMultiTexImage2DEXT", )
#line 48379 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexImage3DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexImage3DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "texunit, target, level, internalformat, width, height, depth, border, format, type, pixels");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLsizei	depth = (int)SvIV(ST(6))
;
	GLint	border = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLenum	type = (int)SvIV(ST(9))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(10)))
;
#line 23841 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexImage3DEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexImage3DEXT, glMultiTexImage3DEXT)
  glMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels);
  OGLM_CHECK_ERR("glMultiTexImage3DEXT", )
#line 48420 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterIivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterIivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 23854 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexParameterIivEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexParameterIivEXT, glMultiTexParameterIivEXT)
  glMultiTexParameterIivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glMultiTexParameterIivEXT", )
#line 48447 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterIivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterIivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texunit, target, pname, ...");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 23866 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexParameterIivEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexParameterIivEXT, glMultiTexParameterIivEXT)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLint* params = OGLM_GET_VARARGS(params,3,GLint,IV,pname_count);
  glMultiTexParameterIivEXT((GLenum )texunit, (GLenum )target, (GLenum )pname, (const GLint* )params);
  OGLM_CHECK_ERR("glMultiTexParameterIivEXT", free(params);)
  free(params);
#line 48475 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterIuivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterIuivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLuint*	params = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 23882 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexParameterIuivEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexParameterIuivEXT, glMultiTexParameterIuivEXT)
  glMultiTexParameterIuivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glMultiTexParameterIuivEXT", )
#line 48502 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterIuivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterIuivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texunit, target, pname, ...");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 23894 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexParameterIuivEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexParameterIuivEXT, glMultiTexParameterIuivEXT)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLuint* params = OGLM_GET_VARARGS(params,3,GLuint,UV,pname_count);
  glMultiTexParameterIuivEXT((GLenum )texunit, (GLenum )target, (GLenum )pname, (const GLuint* )params);
  OGLM_CHECK_ERR("glMultiTexParameterIuivEXT", free(params);)
  free(params);
#line 48530 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterfEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterfEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, param");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat	param = (float)SvNV(ST(3))
;
#line 23910 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexParameterfEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexParameterfEXT, glMultiTexParameterfEXT)
  glMultiTexParameterfEXT(texunit, target, pname, param);
  OGLM_CHECK_ERR("glMultiTexParameterfEXT", )
#line 48557 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 23923 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexParameterfvEXT, glMultiTexParameterfvEXT)
  glMultiTexParameterfvEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glMultiTexParameterfvEXT", )
#line 48584 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texunit, target, pname, ...");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 23935 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexParameterfvEXT, glMultiTexParameterfvEXT)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLfloat* params = OGLM_GET_VARARGS(params,3,GLfloat,NV,pname_count);
  glMultiTexParameterfvEXT((GLenum )texunit, (GLenum )target, (GLenum )pname, (const GLfloat* )params);
  OGLM_CHECK_ERR("glMultiTexParameterfvEXT", free(params);)
  free(params);
#line 48612 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameteriEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameteriEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, param");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint	param = (int)SvIV(ST(3))
;
#line 23951 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexParameteriEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexParameteriEXT, glMultiTexParameteriEXT)
  glMultiTexParameteriEXT(texunit, target, pname, param);
  OGLM_CHECK_ERR("glMultiTexParameteriEXT", )
#line 48639 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texunit, target, pname, params");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 23964 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexParameterivEXT, glMultiTexParameterivEXT)
  glMultiTexParameterivEXT(texunit, target, pname, params);
  OGLM_CHECK_ERR("glMultiTexParameterivEXT", )
#line 48666 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texunit, target, pname, ...");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 23976 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexParameterivEXT, glMultiTexParameterivEXT)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLint* params = OGLM_GET_VARARGS(params,3,GLint,IV,pname_count);
  glMultiTexParameterivEXT((GLenum )texunit, (GLenum )target, (GLenum )pname, (const GLint* )params);
  OGLM_CHECK_ERR("glMultiTexParameterivEXT", free(params);)
  free(params);
#line 48694 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexRenderbufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexRenderbufferEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texunit, target, renderbuffer");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	renderbuffer = (unsigned int)SvUV(ST(2))
;
#line 23991 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexRenderbufferEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexRenderbufferEXT, glMultiTexRenderbufferEXT)
  glMultiTexRenderbufferEXT(texunit, target, renderbuffer);
  OGLM_CHECK_ERR("glMultiTexRenderbufferEXT", )
#line 48719 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexSubImage1DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexSubImage1DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texunit, target, level, xoffset, width, format, type, pixels");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLenum	format = (int)SvIV(ST(5))
;
	GLenum	type = (int)SvIV(ST(6))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(7)))
;
#line 24008 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexSubImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexSubImage1DEXT, glMultiTexSubImage1DEXT)
  glMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels);
  OGLM_CHECK_ERR("glMultiTexSubImage1DEXT", )
#line 48754 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexSubImage2DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexSubImage2DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "texunit, target, level, xoffset, yoffset, width, height, format, type, pixels");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLenum	format = (int)SvIV(ST(7))
;
	GLenum	type = (int)SvIV(ST(8))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(9)))
;
#line 24027 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexSubImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexSubImage2DEXT, glMultiTexSubImage2DEXT)
  glMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels);
  OGLM_CHECK_ERR("glMultiTexSubImage2DEXT", )
#line 48793 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultiTexSubImage3DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultiTexSubImage3DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels");
    {
	GLenum	texunit = (int)SvIV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLint	zoffset = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLsizei	height = (int)SvIV(ST(7))
;
	GLsizei	depth = (int)SvIV(ST(8))
;
	GLenum	format = (int)SvIV(ST(9))
;
	GLenum	type = (int)SvIV(ST(10))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(11)))
;
#line 24048 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultiTexSubImage3DEXT", )
  OGLM_AVAIL_CHECK(__glewMultiTexSubImage3DEXT, glMultiTexSubImage3DEXT)
  glMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
  OGLM_CHECK_ERR("glMultiTexSubImage3DEXT", )
#line 48836 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastBarrierNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastBarrierNV)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 24057 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastBarrierNV", )
  OGLM_AVAIL_CHECK(__glewMulticastBarrierNV, glMulticastBarrierNV)
  glMulticastBarrierNV();
  OGLM_CHECK_ERR("glMulticastBarrierNV", )
#line 48855 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastBlitFramebufferNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastBlitFramebufferNV)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "srcGpu, dstGpu, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter");
    {
	GLuint	srcGpu = (unsigned int)SvUV(ST(0))
;
	GLuint	dstGpu = (unsigned int)SvUV(ST(1))
;
	GLint	srcX0 = (int)SvIV(ST(2))
;
	GLint	srcY0 = (int)SvIV(ST(3))
;
	GLint	srcX1 = (int)SvIV(ST(4))
;
	GLint	srcY1 = (int)SvIV(ST(5))
;
	GLint	dstX0 = (int)SvIV(ST(6))
;
	GLint	dstY0 = (int)SvIV(ST(7))
;
	GLint	dstX1 = (int)SvIV(ST(8))
;
	GLint	dstY1 = (int)SvIV(ST(9))
;
	GLbitfield	mask = (int)SvIV(ST(10))
;
	GLenum	filter = (int)SvIV(ST(11))
;
#line 24078 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastBlitFramebufferNV", )
  OGLM_AVAIL_CHECK(__glewMulticastBlitFramebufferNV, glMulticastBlitFramebufferNV)
  glMulticastBlitFramebufferNV(srcGpu, dstGpu, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
  OGLM_CHECK_ERR("glMulticastBlitFramebufferNV", )
#line 48898 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastBufferSubDataNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastBufferSubDataNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "gpuMask, buffer, offset, size, data");
    {
	GLbitfield	gpuMask = (int)SvIV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLintptr	offset = (unsigned int)SvUV(ST(2))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(3))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(4)))
;
#line 24092 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastBufferSubDataNV", )
  OGLM_AVAIL_CHECK(__glewMulticastBufferSubDataNV, glMulticastBufferSubDataNV)
  glMulticastBufferSubDataNV(gpuMask, buffer, offset, size, data);
  OGLM_CHECK_ERR("glMulticastBufferSubDataNV", )
#line 48927 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastCopyBufferSubDataNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastCopyBufferSubDataNV)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size");
    {
	GLuint	readGpu = (unsigned int)SvUV(ST(0))
;
	GLbitfield	writeGpuMask = (int)SvIV(ST(1))
;
	GLuint	readBuffer = (unsigned int)SvUV(ST(2))
;
	GLuint	writeBuffer = (unsigned int)SvUV(ST(3))
;
	GLintptr	readOffset = (unsigned int)SvUV(ST(4))
;
	GLintptr	writeOffset = (unsigned int)SvUV(ST(5))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(6))
;
#line 24108 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastCopyBufferSubDataNV", )
  OGLM_AVAIL_CHECK(__glewMulticastCopyBufferSubDataNV, glMulticastCopyBufferSubDataNV)
  glMulticastCopyBufferSubDataNV(readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size);
  OGLM_CHECK_ERR("glMulticastCopyBufferSubDataNV", )
#line 48960 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastCopyImageSubDataNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastCopyImageSubDataNV)
{
    dVAR; dXSARGS;
    if (items != 17)
       croak_xs_usage(cv,  "srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth");
    {
	GLuint	srcGpu = (unsigned int)SvUV(ST(0))
;
	GLbitfield	dstGpuMask = (int)SvIV(ST(1))
;
	GLuint	srcName = (unsigned int)SvUV(ST(2))
;
	GLenum	srcTarget = (int)SvIV(ST(3))
;
	GLint	srcLevel = (int)SvIV(ST(4))
;
	GLint	srcX = (int)SvIV(ST(5))
;
	GLint	srcY = (int)SvIV(ST(6))
;
	GLint	srcZ = (int)SvIV(ST(7))
;
	GLuint	dstName = (unsigned int)SvUV(ST(8))
;
	GLenum	dstTarget = (int)SvIV(ST(9))
;
	GLint	dstLevel = (int)SvIV(ST(10))
;
	GLint	dstX = (int)SvIV(ST(11))
;
	GLint	dstY = (int)SvIV(ST(12))
;
	GLint	dstZ = (int)SvIV(ST(13))
;
	GLsizei	srcWidth = (int)SvIV(ST(14))
;
	GLsizei	srcHeight = (int)SvIV(ST(15))
;
	GLsizei	srcDepth = (int)SvIV(ST(16))
;
#line 24134 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastCopyImageSubDataNV", )
  OGLM_AVAIL_CHECK(__glewMulticastCopyImageSubDataNV, glMulticastCopyImageSubDataNV)
  glMulticastCopyImageSubDataNV(srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
  OGLM_CHECK_ERR("glMulticastCopyImageSubDataNV", )
#line 49013 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastFramebufferSampleLocationsfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastFramebufferSampleLocationsfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "gpu, framebuffer, start, count, v");
    {
	GLuint	gpu = (unsigned int)SvUV(ST(0))
;
	GLuint	framebuffer = (unsigned int)SvUV(ST(1))
;
	GLuint	start = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 24148 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastFramebufferSampleLocationsfvNV", )
  OGLM_AVAIL_CHECK(__glewMulticastFramebufferSampleLocationsfvNV, glMulticastFramebufferSampleLocationsfvNV)
  glMulticastFramebufferSampleLocationsfvNV(gpu, framebuffer, start, count, v);
  OGLM_CHECK_ERR("glMulticastFramebufferSampleLocationsfvNV", )
#line 49042 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastGetQueryObjecti64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastGetQueryObjecti64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "gpu, id, pname, params");
    {
	GLuint	gpu = (unsigned int)SvUV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint64*	params = INT2PTR(GLint64 *,SvIV(ST(3)))
;
#line 24161 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastGetQueryObjecti64vNV", )
  OGLM_AVAIL_CHECK(__glewMulticastGetQueryObjecti64vNV, glMulticastGetQueryObjecti64vNV)
  glMulticastGetQueryObjecti64vNV(gpu, id, pname, params);
  OGLM_CHECK_ERR("glMulticastGetQueryObjecti64vNV", )
#line 49069 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastGetQueryObjectivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastGetQueryObjectivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "gpu, id, pname, params");
    {
	GLuint	gpu = (unsigned int)SvUV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(3)))
;
#line 24174 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastGetQueryObjectivNV", )
  OGLM_AVAIL_CHECK(__glewMulticastGetQueryObjectivNV, glMulticastGetQueryObjectivNV)
  glMulticastGetQueryObjectivNV(gpu, id, pname, params);
  OGLM_CHECK_ERR("glMulticastGetQueryObjectivNV", )
#line 49096 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastGetQueryObjectui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastGetQueryObjectui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "gpu, id, pname, params");
    {
	GLuint	gpu = (unsigned int)SvUV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLuint64*	params = INT2PTR(GLuint64 *,SvIV(ST(3)))
;
#line 24187 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastGetQueryObjectui64vNV", )
  OGLM_AVAIL_CHECK(__glewMulticastGetQueryObjectui64vNV, glMulticastGetQueryObjectui64vNV)
  glMulticastGetQueryObjectui64vNV(gpu, id, pname, params);
  OGLM_CHECK_ERR("glMulticastGetQueryObjectui64vNV", )
#line 49123 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastGetQueryObjectuivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastGetQueryObjectuivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "gpu, id, pname, params");
    {
	GLuint	gpu = (unsigned int)SvUV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLuint*	params = INT2PTR(GLuint *,SvIV(ST(3)))
;
#line 24200 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastGetQueryObjectuivNV", )
  OGLM_AVAIL_CHECK(__glewMulticastGetQueryObjectuivNV, glMulticastGetQueryObjectuivNV)
  glMulticastGetQueryObjectuivNV(gpu, id, pname, params);
  OGLM_CHECK_ERR("glMulticastGetQueryObjectuivNV", )
#line 49150 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastScissorArrayvNVX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastScissorArrayvNVX_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "gpu, first, count, v");
    {
	GLuint	gpu = (unsigned int)SvUV(ST(0))
;
	GLuint	first = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint*	v = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 24213 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastScissorArrayvNVX", )
  OGLM_AVAIL_CHECK(__glewMulticastScissorArrayvNVX, glMulticastScissorArrayvNVX)
  glMulticastScissorArrayvNVX(gpu, first, count, v);
  OGLM_CHECK_ERR("glMulticastScissorArrayvNVX", )
#line 49177 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastScissorArrayvNVX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastScissorArrayvNVX_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "gpu, first, ...");
    {
	GLuint	gpu = (unsigned int)SvUV(ST(0))
;
	GLuint	first = (unsigned int)SvUV(ST(1))
;
#line 24224 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastScissorArrayvNVX", )
  OGLM_AVAIL_CHECK(__glewMulticastScissorArrayvNVX, glMulticastScissorArrayvNVX)
  GLsizei count = items-2;
  GLint* v = OGLM_GET_VARARGS(v,2,GLint,IV,count);
  glMulticastScissorArrayvNVX((GLuint )gpu, (GLuint )first, (GLsizei )count, (const GLint* )v);
  OGLM_CHECK_ERR("glMulticastScissorArrayvNVX", free(v);)
  free(v);
#line 49203 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastViewportArrayvNVX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastViewportArrayvNVX_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "gpu, first, count, v");
    {
	GLuint	gpu = (unsigned int)SvUV(ST(0))
;
	GLuint	first = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 24240 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastViewportArrayvNVX", )
  OGLM_AVAIL_CHECK(__glewMulticastViewportArrayvNVX, glMulticastViewportArrayvNVX)
  glMulticastViewportArrayvNVX(gpu, first, count, v);
  OGLM_CHECK_ERR("glMulticastViewportArrayvNVX", )
#line 49230 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastViewportArrayvNVX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastViewportArrayvNVX_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "gpu, first, ...");
    {
	GLuint	gpu = (unsigned int)SvUV(ST(0))
;
	GLuint	first = (unsigned int)SvUV(ST(1))
;
#line 24251 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastViewportArrayvNVX", )
  OGLM_AVAIL_CHECK(__glewMulticastViewportArrayvNVX, glMulticastViewportArrayvNVX)
  GLsizei count = items-2;
  GLfloat* v = OGLM_GET_VARARGS(v,2,GLfloat,NV,count);
  glMulticastViewportArrayvNVX((GLuint )gpu, (GLuint )first, (GLsizei )count, (const GLfloat* )v);
  OGLM_CHECK_ERR("glMulticastViewportArrayvNVX", free(v);)
  free(v);
#line 49256 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastViewportPositionWScaleNVX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastViewportPositionWScaleNVX)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "gpu, index, xcoeff, ycoeff");
    {
	GLuint	gpu = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLfloat	xcoeff = (float)SvNV(ST(2))
;
	GLfloat	ycoeff = (float)SvNV(ST(3))
;
#line 24267 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastViewportPositionWScaleNVX", )
  OGLM_AVAIL_CHECK(__glewMulticastViewportPositionWScaleNVX, glMulticastViewportPositionWScaleNVX)
  glMulticastViewportPositionWScaleNVX(gpu, index, xcoeff, ycoeff);
  OGLM_CHECK_ERR("glMulticastViewportPositionWScaleNVX", )
#line 49283 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMulticastWaitSyncNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMulticastWaitSyncNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "signalGpu, waitGpuMask");
    {
	GLuint	signalGpu = (unsigned int)SvUV(ST(0))
;
	GLbitfield	waitGpuMask = (int)SvIV(ST(1))
;
#line 24278 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMulticastWaitSyncNV", )
  OGLM_AVAIL_CHECK(__glewMulticastWaitSyncNV, glMulticastWaitSyncNV)
  glMulticastWaitSyncNV(signalGpu, waitGpuMask);
  OGLM_CHECK_ERR("glMulticastWaitSyncNV", )
#line 49306 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glMultisampleSubRectPosSGIS); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glMultisampleSubRectPosSGIS)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
#line 24289 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glMultisampleSubRectPosSGIS", )
  OGLM_AVAIL_CHECK(__glewMultisampleSubRectPosSGIS, glMultisampleSubRectPosSGIS)
  glMultisampleSubRectPosSGIS(x, y);
  OGLM_CHECK_ERR("glMultisampleSubRectPosSGIS", )
#line 49329 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedBufferAttachMemoryNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedBufferAttachMemoryNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "buffer, memory, offset");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLuint	memory = (unsigned int)SvUV(ST(1))
;
	GLuint64	offset = (unsigned int)SvUV(ST(2))
;
#line 24301 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedBufferAttachMemoryNV", )
  OGLM_AVAIL_CHECK(__glewNamedBufferAttachMemoryNV, glNamedBufferAttachMemoryNV)
  glNamedBufferAttachMemoryNV(buffer, memory, offset);
  OGLM_CHECK_ERR("glNamedBufferAttachMemoryNV", )
#line 49354 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedBufferData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedBufferData_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "buffer, size, data, usage");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(1))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(2)))
;
	GLenum	usage = (int)SvIV(ST(3))
;
#line 24314 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedBufferData", )
  OGLM_AVAIL_CHECK(__glewNamedBufferData, glNamedBufferData)
  glNamedBufferData(buffer, size, data, usage);
  OGLM_CHECK_ERR("glNamedBufferData", )
#line 49381 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedBufferDataEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedBufferDataEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "buffer, size, data, usage");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(1))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(2)))
;
	GLenum	usage = (int)SvIV(ST(3))
;
#line 24327 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedBufferDataEXT", )
  OGLM_AVAIL_CHECK(__glewNamedBufferDataEXT, glNamedBufferDataEXT)
  glNamedBufferDataEXT(buffer, size, data, usage);
  OGLM_CHECK_ERR("glNamedBufferDataEXT", )
#line 49408 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedBufferPageCommitmentMemNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedBufferPageCommitmentMemNV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "buffer, offset, size, memory, memOffset, commit");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(2))
;
	GLuint	memory = (unsigned int)SvUV(ST(3))
;
	GLuint64	memOffset = (unsigned int)SvUV(ST(4))
;
	GLboolean	commit = (int)SvIV(ST(5))
;
#line 24342 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedBufferPageCommitmentMemNV", )
  OGLM_AVAIL_CHECK(__glewNamedBufferPageCommitmentMemNV, glNamedBufferPageCommitmentMemNV)
  glNamedBufferPageCommitmentMemNV(buffer, offset, size, memory, memOffset, commit);
  OGLM_CHECK_ERR("glNamedBufferPageCommitmentMemNV", )
#line 49439 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedBufferStorage_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedBufferStorage_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "buffer, size, data, flags");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(1))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(2)))
;
	GLbitfield	flags = (int)SvIV(ST(3))
;
#line 24357 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedBufferStorage", )
  OGLM_AVAIL_CHECK(__glewNamedBufferStorage, glNamedBufferStorage)
  glNamedBufferStorage(buffer, size, data, flags);
  OGLM_CHECK_ERR("glNamedBufferStorage", )
#line 49467 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedBufferStorageExternalEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedBufferStorageExternalEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "buffer, offset, size, clientBuffer, flags");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(2))
;
	GLeglClientBufferEXT	clientBuffer = INT2PTR(GLeglClientBufferEXT,SvIV(ST(3)))
;
	GLbitfield	flags = (int)SvIV(ST(4))
;
#line 24371 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedBufferStorageExternalEXT", )
  OGLM_AVAIL_CHECK(__glewNamedBufferStorageExternalEXT, glNamedBufferStorageExternalEXT)
  glNamedBufferStorageExternalEXT(buffer, offset, size, clientBuffer, flags);
  OGLM_CHECK_ERR("glNamedBufferStorageExternalEXT", )
#line 49496 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedBufferStorageMemEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedBufferStorageMemEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "buffer, size, memory, offset");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(1))
;
	GLuint	memory = (unsigned int)SvUV(ST(2))
;
	GLuint64	offset = (unsigned int)SvUV(ST(3))
;
#line 24384 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedBufferStorageMemEXT", )
  OGLM_AVAIL_CHECK(__glewNamedBufferStorageMemEXT, glNamedBufferStorageMemEXT)
  glNamedBufferStorageMemEXT(buffer, size, memory, offset);
  OGLM_CHECK_ERR("glNamedBufferStorageMemEXT", )
#line 49523 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedBufferSubData_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedBufferSubData_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "buffer, offset, size, data");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLintptr	offset = (unsigned int)SvUV(ST(1))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(2))
;
	const void *	data = INT2PTR(const void *,SvIV(ST(3)))
;
#line 24399 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedBufferSubData", )
  OGLM_AVAIL_CHECK(__glewNamedBufferSubData, glNamedBufferSubData)
  glNamedBufferSubData(buffer, offset, size, data);
  OGLM_CHECK_ERR("glNamedBufferSubData", )
#line 49551 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedCopyBufferSubDataEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedCopyBufferSubDataEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "readBuffer, writeBuffer, readOffset, writeOffset, size");
    {
	GLuint	readBuffer = (unsigned int)SvUV(ST(0))
;
	GLuint	writeBuffer = (unsigned int)SvUV(ST(1))
;
	GLintptr	readOffset = (unsigned int)SvUV(ST(2))
;
	GLintptr	writeOffset = (unsigned int)SvUV(ST(3))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(4))
;
#line 24413 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedCopyBufferSubDataEXT", )
  OGLM_AVAIL_CHECK(__glewNamedCopyBufferSubDataEXT, glNamedCopyBufferSubDataEXT)
  glNamedCopyBufferSubDataEXT(readBuffer, writeBuffer, readOffset, writeOffset, size);
  OGLM_CHECK_ERR("glNamedCopyBufferSubDataEXT", )
#line 49580 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferDrawBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferDrawBuffer)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "framebuffer, buf");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	buf = (int)SvIV(ST(1))
;
#line 24424 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferDrawBuffer", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferDrawBuffer, glNamedFramebufferDrawBuffer)
  glNamedFramebufferDrawBuffer(framebuffer, buf);
  OGLM_CHECK_ERR("glNamedFramebufferDrawBuffer", )
#line 49603 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferDrawBuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferDrawBuffers_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "framebuffer, n, bufs");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
	const GLenum*	bufs = INT2PTR(const GLenum *,SvIV(ST(2)))
;
#line 24436 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferDrawBuffers", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferDrawBuffers, glNamedFramebufferDrawBuffers)
  glNamedFramebufferDrawBuffers(framebuffer, n, bufs);
  OGLM_CHECK_ERR("glNamedFramebufferDrawBuffers", )
#line 49628 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferDrawBuffers_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferDrawBuffers_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "framebuffer, ...");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
#line 24446 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferDrawBuffers", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferDrawBuffers, glNamedFramebufferDrawBuffers)
  GLsizei n = items-1;
  GLenum* bufs = OGLM_GET_VARARGS(bufs,1,GLenum,IV,n);
  glNamedFramebufferDrawBuffers((GLuint )framebuffer, (GLsizei )n, (const GLenum* )bufs);
  OGLM_CHECK_ERR("glNamedFramebufferDrawBuffers", free(bufs);)
  free(bufs);
#line 49652 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferParameteri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferParameteri)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "framebuffer, pname, param");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 24461 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferParameteri", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferParameteri, glNamedFramebufferParameteri)
  glNamedFramebufferParameteri(framebuffer, pname, param);
  OGLM_CHECK_ERR("glNamedFramebufferParameteri", )
#line 49677 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferParameteriEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferParameteriEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "framebuffer, pname, param");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 24473 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferParameteriEXT", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferParameteriEXT, glNamedFramebufferParameteriEXT)
  glNamedFramebufferParameteriEXT(framebuffer, pname, param);
  OGLM_CHECK_ERR("glNamedFramebufferParameteriEXT", )
#line 49702 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferReadBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferReadBuffer)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "framebuffer, src");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	src = (int)SvIV(ST(1))
;
#line 24484 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferReadBuffer", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferReadBuffer, glNamedFramebufferReadBuffer)
  glNamedFramebufferReadBuffer(framebuffer, src);
  OGLM_CHECK_ERR("glNamedFramebufferReadBuffer", )
#line 49725 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferRenderbuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferRenderbuffer)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, attachment, renderbuffertarget, renderbuffer");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	renderbuffertarget = (int)SvIV(ST(2))
;
	GLuint	renderbuffer = (unsigned int)SvUV(ST(3))
;
#line 24497 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferRenderbuffer", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferRenderbuffer, glNamedFramebufferRenderbuffer)
  glNamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer);
  OGLM_CHECK_ERR("glNamedFramebufferRenderbuffer", )
#line 49752 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferRenderbufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferRenderbufferEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, attachment, renderbuffertarget, renderbuffer");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	renderbuffertarget = (int)SvIV(ST(2))
;
	GLuint	renderbuffer = (unsigned int)SvUV(ST(3))
;
#line 24510 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferRenderbufferEXT", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferRenderbufferEXT, glNamedFramebufferRenderbufferEXT)
  glNamedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer);
  OGLM_CHECK_ERR("glNamedFramebufferRenderbufferEXT", )
#line 49779 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferSampleLocationsfvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferSampleLocationsfvARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, start, count, v");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLuint	start = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 24523 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferSampleLocationsfvARB", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferSampleLocationsfvARB, glNamedFramebufferSampleLocationsfvARB)
  glNamedFramebufferSampleLocationsfvARB(framebuffer, start, count, v);
  OGLM_CHECK_ERR("glNamedFramebufferSampleLocationsfvARB", )
#line 49806 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferSampleLocationsfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferSampleLocationsfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, start, count, v");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLuint	start = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 24536 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferSampleLocationsfvNV", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferSampleLocationsfvNV, glNamedFramebufferSampleLocationsfvNV)
  glNamedFramebufferSampleLocationsfvNV(framebuffer, start, count, v);
  OGLM_CHECK_ERR("glNamedFramebufferSampleLocationsfvNV", )
#line 49833 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferSamplePositionsfvAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferSamplePositionsfvAMD_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, numsamples, pixelindex, values");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLuint	numsamples = (unsigned int)SvUV(ST(1))
;
	GLuint	pixelindex = (unsigned int)SvUV(ST(2))
;
	const GLfloat*	values = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 24549 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferSamplePositionsfvAMD", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferSamplePositionsfvAMD, glNamedFramebufferSamplePositionsfvAMD)
  glNamedFramebufferSamplePositionsfvAMD(framebuffer, numsamples, pixelindex, values);
  OGLM_CHECK_ERR("glNamedFramebufferSamplePositionsfvAMD", )
#line 49860 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTexture); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTexture)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, attachment, texture, level");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
#line 24562 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferTexture", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferTexture, glNamedFramebufferTexture)
  glNamedFramebufferTexture(framebuffer, attachment, texture, level);
  OGLM_CHECK_ERR("glNamedFramebufferTexture", )
#line 49887 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTexture1DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTexture1DEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "framebuffer, attachment, textarget, texture, level");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	textarget = (int)SvIV(ST(2))
;
	GLuint	texture = (unsigned int)SvUV(ST(3))
;
	GLint	level = (int)SvIV(ST(4))
;
#line 24576 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferTexture1DEXT", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferTexture1DEXT, glNamedFramebufferTexture1DEXT)
  glNamedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level);
  OGLM_CHECK_ERR("glNamedFramebufferTexture1DEXT", )
#line 49916 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTexture2DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTexture2DEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "framebuffer, attachment, textarget, texture, level");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	textarget = (int)SvIV(ST(2))
;
	GLuint	texture = (unsigned int)SvUV(ST(3))
;
	GLint	level = (int)SvIV(ST(4))
;
#line 24590 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferTexture2DEXT", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferTexture2DEXT, glNamedFramebufferTexture2DEXT)
  glNamedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level);
  OGLM_CHECK_ERR("glNamedFramebufferTexture2DEXT", )
#line 49945 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTexture3DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTexture3DEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "framebuffer, attachment, textarget, texture, level, zoffset");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLenum	textarget = (int)SvIV(ST(2))
;
	GLuint	texture = (unsigned int)SvUV(ST(3))
;
	GLint	level = (int)SvIV(ST(4))
;
	GLint	zoffset = (int)SvIV(ST(5))
;
#line 24605 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferTexture3DEXT", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferTexture3DEXT, glNamedFramebufferTexture3DEXT)
  glNamedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset);
  OGLM_CHECK_ERR("glNamedFramebufferTexture3DEXT", )
#line 49976 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTextureEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTextureEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "framebuffer, attachment, texture, level");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
#line 24618 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferTextureEXT", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferTextureEXT, glNamedFramebufferTextureEXT)
  glNamedFramebufferTextureEXT(framebuffer, attachment, texture, level);
  OGLM_CHECK_ERR("glNamedFramebufferTextureEXT", )
#line 50003 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTextureFaceEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTextureFaceEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "framebuffer, attachment, texture, level, face");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
	GLenum	face = (int)SvIV(ST(4))
;
#line 24632 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferTextureFaceEXT", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferTextureFaceEXT, glNamedFramebufferTextureFaceEXT)
  glNamedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face);
  OGLM_CHECK_ERR("glNamedFramebufferTextureFaceEXT", )
#line 50032 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTextureLayer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTextureLayer)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "framebuffer, attachment, texture, level, layer");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
	GLint	layer = (int)SvIV(ST(4))
;
#line 24646 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferTextureLayer", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferTextureLayer, glNamedFramebufferTextureLayer)
  glNamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer);
  OGLM_CHECK_ERR("glNamedFramebufferTextureLayer", )
#line 50061 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTextureLayerEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTextureLayerEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "framebuffer, attachment, texture, level, layer");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
	GLint	layer = (int)SvIV(ST(4))
;
#line 24660 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferTextureLayerEXT", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferTextureLayerEXT, glNamedFramebufferTextureLayerEXT)
  glNamedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer);
  OGLM_CHECK_ERR("glNamedFramebufferTextureLayerEXT", )
#line 50090 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTextureMultiviewOVR); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedFramebufferTextureMultiviewOVR)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "framebuffer, attachment, texture, level, baseViewIndex, numViews");
    {
	GLuint	framebuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	attachment = (int)SvIV(ST(1))
;
	GLuint	texture = (unsigned int)SvUV(ST(2))
;
	GLint	level = (int)SvIV(ST(3))
;
	GLint	baseViewIndex = (int)SvIV(ST(4))
;
	GLsizei	numViews = (int)SvIV(ST(5))
;
#line 24675 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedFramebufferTextureMultiviewOVR", )
  OGLM_AVAIL_CHECK(__glewNamedFramebufferTextureMultiviewOVR, glNamedFramebufferTextureMultiviewOVR)
  glNamedFramebufferTextureMultiviewOVR(framebuffer, attachment, texture, level, baseViewIndex, numViews);
  OGLM_CHECK_ERR("glNamedFramebufferTextureMultiviewOVR", )
#line 50121 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4dEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4dEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "program, target, index, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLdouble	x = (double)SvNV(ST(3))
;
	GLdouble	y = (double)SvNV(ST(4))
;
	GLdouble	z = (double)SvNV(ST(5))
;
	GLdouble	w = (double)SvNV(ST(6))
;
#line 24691 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4dEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameter4dEXT, glNamedProgramLocalParameter4dEXT)
  glNamedProgramLocalParameter4dEXT(program, target, index, x, y, z, w);
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4dEXT", )
#line 50154 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4dvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4dvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, target, index, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	const GLdouble*	params = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 24704 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4dvEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameter4dvEXT, glNamedProgramLocalParameter4dvEXT)
  glNamedProgramLocalParameter4dvEXT(program, target, index, params);
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4dvEXT", )
#line 50181 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4dvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4dvEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, target, index, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
#line 24716 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4dvEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameter4dvEXT, glNamedProgramLocalParameter4dvEXT)
  GLdouble* params = OGLM_GET_VARARGS(params,3,GLdouble,NV,4);
  glNamedProgramLocalParameter4dvEXT((GLuint )program, (GLenum )target, (GLuint )index, (const GLdouble* )params);
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4dvEXT", free(params);)
  free(params);
#line 50208 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4fEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4fEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "program, target, index, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLfloat	x = (float)SvNV(ST(3))
;
	GLfloat	y = (float)SvNV(ST(4))
;
	GLfloat	z = (float)SvNV(ST(5))
;
	GLfloat	w = (float)SvNV(ST(6))
;
#line 24734 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4fEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameter4fEXT, glNamedProgramLocalParameter4fEXT)
  glNamedProgramLocalParameter4fEXT(program, target, index, x, y, z, w);
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4fEXT", )
#line 50241 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4fvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4fvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, target, index, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 24747 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4fvEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameter4fvEXT, glNamedProgramLocalParameter4fvEXT)
  glNamedProgramLocalParameter4fvEXT(program, target, index, params);
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4fvEXT", )
#line 50268 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4fvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameter4fvEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, target, index, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
#line 24759 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4fvEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameter4fvEXT, glNamedProgramLocalParameter4fvEXT)
  GLfloat* params = OGLM_GET_VARARGS(params,3,GLfloat,NV,4);
  glNamedProgramLocalParameter4fvEXT((GLuint )program, (GLenum )target, (GLuint )index, (const GLfloat* )params);
  OGLM_CHECK_ERR("glNamedProgramLocalParameter4fvEXT", free(params);)
  free(params);
#line 50295 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4iEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4iEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "program, target, index, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLint	x = (int)SvIV(ST(3))
;
	GLint	y = (int)SvIV(ST(4))
;
	GLint	z = (int)SvIV(ST(5))
;
	GLint	w = (int)SvIV(ST(6))
;
#line 24777 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4iEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameterI4iEXT, glNamedProgramLocalParameterI4iEXT)
  glNamedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w);
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4iEXT", )
#line 50328 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4ivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4ivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, target, index, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 24790 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4ivEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameterI4ivEXT, glNamedProgramLocalParameterI4ivEXT)
  glNamedProgramLocalParameterI4ivEXT(program, target, index, params);
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4ivEXT", )
#line 50355 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4ivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4ivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, target, index, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
#line 24802 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4ivEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameterI4ivEXT, glNamedProgramLocalParameterI4ivEXT)
  GLint* params = OGLM_GET_VARARGS(params,3,GLint,IV,4);
  glNamedProgramLocalParameterI4ivEXT((GLuint )program, (GLenum )target, (GLuint )index, (const GLint* )params);
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4ivEXT", free(params);)
  free(params);
#line 50382 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4uiEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4uiEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "program, target, index, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLuint	x = (unsigned int)SvUV(ST(3))
;
	GLuint	y = (unsigned int)SvUV(ST(4))
;
	GLuint	z = (unsigned int)SvUV(ST(5))
;
	GLuint	w = (unsigned int)SvUV(ST(6))
;
#line 24820 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4uiEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameterI4uiEXT, glNamedProgramLocalParameterI4uiEXT)
  glNamedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w);
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4uiEXT", )
#line 50415 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4uivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4uivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, target, index, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	const GLuint*	params = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 24833 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4uivEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameterI4uivEXT, glNamedProgramLocalParameterI4uivEXT)
  glNamedProgramLocalParameterI4uivEXT(program, target, index, params);
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4uivEXT", )
#line 50442 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4uivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameterI4uivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, target, index, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
#line 24845 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4uivEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameterI4uivEXT, glNamedProgramLocalParameterI4uivEXT)
  GLuint* params = OGLM_GET_VARARGS(params,3,GLuint,UV,4);
  glNamedProgramLocalParameterI4uivEXT((GLuint )program, (GLenum )target, (GLuint )index, (const GLuint* )params);
  OGLM_CHECK_ERR("glNamedProgramLocalParameterI4uivEXT", free(params);)
  free(params);
#line 50469 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameters4fvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameters4fvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, target, index, count, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 24861 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameters4fvEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameters4fvEXT, glNamedProgramLocalParameters4fvEXT)
  glNamedProgramLocalParameters4fvEXT(program, target, index, count, params);
  OGLM_CHECK_ERR("glNamedProgramLocalParameters4fvEXT", )
#line 50498 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameters4fvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParameters4fvEXT_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, target, index, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
#line 24874 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParameters4fvEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParameters4fvEXT, glNamedProgramLocalParameters4fvEXT)
  GLfloat* params = OGLM_GET_VARARGS(params,4,GLfloat,NV,count*4);
  glNamedProgramLocalParameters4fvEXT((GLuint )program, (GLenum )target, (GLuint )index, (GLsizei )count, (const GLfloat* )params);
  OGLM_CHECK_ERR("glNamedProgramLocalParameters4fvEXT", free(params);)
  free(params);
#line 50527 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParametersI4ivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParametersI4ivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, target, index, count, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(4)))
;
#line 24890 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParametersI4ivEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParametersI4ivEXT, glNamedProgramLocalParametersI4ivEXT)
  glNamedProgramLocalParametersI4ivEXT(program, target, index, count, params);
  OGLM_CHECK_ERR("glNamedProgramLocalParametersI4ivEXT", )
#line 50556 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParametersI4ivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParametersI4ivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, target, index, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
#line 24903 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParametersI4ivEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParametersI4ivEXT, glNamedProgramLocalParametersI4ivEXT)
  GLint* params = OGLM_GET_VARARGS(params,4,GLint,IV,count*4);
  glNamedProgramLocalParametersI4ivEXT((GLuint )program, (GLenum )target, (GLuint )index, (GLsizei )count, (const GLint* )params);
  OGLM_CHECK_ERR("glNamedProgramLocalParametersI4ivEXT", free(params);)
  free(params);
#line 50585 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParametersI4uivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParametersI4uivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, target, index, count, params");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	const GLuint*	params = INT2PTR(const GLuint *,SvIV(ST(4)))
;
#line 24919 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParametersI4uivEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParametersI4uivEXT, glNamedProgramLocalParametersI4uivEXT)
  glNamedProgramLocalParametersI4uivEXT(program, target, index, count, params);
  OGLM_CHECK_ERR("glNamedProgramLocalParametersI4uivEXT", )
#line 50614 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParametersI4uivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramLocalParametersI4uivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, target, index, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
#line 24932 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramLocalParametersI4uivEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramLocalParametersI4uivEXT, glNamedProgramLocalParametersI4uivEXT)
  GLuint* params = OGLM_GET_VARARGS(params,4,GLuint,UV,count*4);
  glNamedProgramLocalParametersI4uivEXT((GLuint )program, (GLenum )target, (GLuint )index, (GLsizei )count, (const GLuint* )params);
  OGLM_CHECK_ERR("glNamedProgramLocalParametersI4uivEXT", free(params);)
  free(params);
#line 50643 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedProgramStringEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedProgramStringEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, target, format, len, string");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	format = (int)SvIV(ST(2))
;
	GLsizei	len = (int)SvIV(ST(3))
;
	const void *	string = INT2PTR(const void *,SvIV(ST(4)))
;
#line 24948 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedProgramStringEXT", )
  OGLM_AVAIL_CHECK(__glewNamedProgramStringEXT, glNamedProgramStringEXT)
  glNamedProgramStringEXT(program, target, format, len, string);
  OGLM_CHECK_ERR("glNamedProgramStringEXT", )
#line 50672 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorage)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "renderbuffer, internalformat, width, height");
    {
	GLuint	renderbuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
#line 24961 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedRenderbufferStorage", )
  OGLM_AVAIL_CHECK(__glewNamedRenderbufferStorage, glNamedRenderbufferStorage)
  glNamedRenderbufferStorage(renderbuffer, internalformat, width, height);
  OGLM_CHECK_ERR("glNamedRenderbufferStorage", )
#line 50699 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorageEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorageEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "renderbuffer, internalformat, width, height");
    {
	GLuint	renderbuffer = (unsigned int)SvUV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
#line 24974 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedRenderbufferStorageEXT", )
  OGLM_AVAIL_CHECK(__glewNamedRenderbufferStorageEXT, glNamedRenderbufferStorageEXT)
  glNamedRenderbufferStorageEXT(renderbuffer, internalformat, width, height);
  OGLM_CHECK_ERR("glNamedRenderbufferStorageEXT", )
#line 50726 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorageMultisample); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorageMultisample)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "renderbuffer, samples, internalformat, width, height");
    {
	GLuint	renderbuffer = (unsigned int)SvUV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 24988 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedRenderbufferStorageMultisample", )
  OGLM_AVAIL_CHECK(__glewNamedRenderbufferStorageMultisample, glNamedRenderbufferStorageMultisample)
  glNamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height);
  OGLM_CHECK_ERR("glNamedRenderbufferStorageMultisample", )
#line 50755 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorageMultisampleAdvancedAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorageMultisampleAdvancedAMD)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "renderbuffer, samples, storageSamples, internalformat, width, height");
    {
	GLuint	renderbuffer = (unsigned int)SvUV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLsizei	storageSamples = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
#line 25003 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedRenderbufferStorageMultisampleAdvancedAMD", )
  OGLM_AVAIL_CHECK(__glewNamedRenderbufferStorageMultisampleAdvancedAMD, glNamedRenderbufferStorageMultisampleAdvancedAMD)
  glNamedRenderbufferStorageMultisampleAdvancedAMD(renderbuffer, samples, storageSamples, internalformat, width, height);
  OGLM_CHECK_ERR("glNamedRenderbufferStorageMultisampleAdvancedAMD", )
#line 50786 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorageMultisampleCoverageEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorageMultisampleCoverageEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "renderbuffer, coverageSamples, colorSamples, internalformat, width, height");
    {
	GLuint	renderbuffer = (unsigned int)SvUV(ST(0))
;
	GLsizei	coverageSamples = (int)SvIV(ST(1))
;
	GLsizei	colorSamples = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
#line 25018 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedRenderbufferStorageMultisampleCoverageEXT", )
  OGLM_AVAIL_CHECK(__glewNamedRenderbufferStorageMultisampleCoverageEXT, glNamedRenderbufferStorageMultisampleCoverageEXT)
  glNamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height);
  OGLM_CHECK_ERR("glNamedRenderbufferStorageMultisampleCoverageEXT", )
#line 50817 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorageMultisampleEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedRenderbufferStorageMultisampleEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "renderbuffer, samples, internalformat, width, height");
    {
	GLuint	renderbuffer = (unsigned int)SvUV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 25032 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedRenderbufferStorageMultisampleEXT", )
  OGLM_AVAIL_CHECK(__glewNamedRenderbufferStorageMultisampleEXT, glNamedRenderbufferStorageMultisampleEXT)
  glNamedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height);
  OGLM_CHECK_ERR("glNamedRenderbufferStorageMultisampleEXT", )
#line 50846 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNamedStringARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNamedStringARB)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "type, namelen, name, stringlen, string");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLint	namelen = (int)SvIV(ST(1))
;
	const GLchar*	name = (const GLchar *)SvPV_nolen(ST(2))
;
	GLint	stringlen = (int)SvIV(ST(3))
;
	const GLchar *	string = (const GLchar *)SvPV_nolen(ST(4))
;
#line 25046 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNamedStringARB", )
  OGLM_AVAIL_CHECK(__glewNamedStringARB, glNamedStringARB)
  glNamedStringARB(type, namelen, name, stringlen, string);
  OGLM_CHECK_ERR("glNamedStringARB", )
#line 50875 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNewBufferRegion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNewBufferRegion)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "region");
    {
	GLenum	region = (int)SvIV(ST(0))
;
	GLuint	RETVAL;
	dXSTARG;
#line 25056 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNewBufferRegion", )
  OGLM_AVAIL_CHECK(__glewNewBufferRegion, glNewBufferRegion)
  RETVAL = glNewBufferRegion(region);
  OGLM_CHECK_ERR("glNewBufferRegion", )
#line 50898 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glNewList); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNewList)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "list, mode");
    {
	GLuint	list = (unsigned int)SvUV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 25069 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNewList", )
  glNewList(list, mode);
  OGLM_CHECK_ERR("glNewList", )
#line 50922 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNewObjectBufferATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNewObjectBufferATI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "size, pointer, usage");
    {
	GLsizei	size = (int)SvIV(ST(0))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(1)))
;
	GLenum	usage = (int)SvIV(ST(2))
;
	GLuint	RETVAL;
	dXSTARG;
#line 25080 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNewObjectBufferATI", )
  OGLM_AVAIL_CHECK(__glewNewObjectBufferATI, glNewObjectBufferATI)
  RETVAL = glNewObjectBufferATI(size, pointer, usage);
  OGLM_CHECK_ERR("glNewObjectBufferATI", )
#line 50949 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHu((UV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glNonlinLightfvSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNonlinLightfvSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "light, pname, terms, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	terms = (int)SvIV(ST(2))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(3)))
;
#line 25095 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNonlinLightfvSGIX", )
  OGLM_AVAIL_CHECK(__glewNonlinLightfvSGIX, glNonlinLightfvSGIX)
  glNonlinLightfvSGIX(light, pname, terms, params);
  OGLM_CHECK_ERR("glNonlinLightfvSGIX", )
#line 50978 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNonlinMaterialfvSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNonlinMaterialfvSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "face, pname, terms, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	terms = (int)SvIV(ST(2))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 25108 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNonlinMaterialfvSGIX", )
  OGLM_AVAIL_CHECK(__glewNonlinMaterialfvSGIX, glNonlinMaterialfvSGIX)
  glNonlinMaterialfvSGIX(face, pname, terms, params);
  OGLM_CHECK_ERR("glNonlinMaterialfvSGIX", )
#line 51005 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3b); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3b)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "nx, ny, nz");
    {
	GLbyte	nx = (int)SvIV(ST(0))
;
	GLbyte	ny = (int)SvIV(ST(1))
;
	GLbyte	nz = (int)SvIV(ST(2))
;
#line 25120 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3b", )
  glNormal3b(nx, ny, nz);
  OGLM_CHECK_ERR("glNormal3b", )
#line 51029 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3bv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3bv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLbyte *	v = INT2PTR(const GLbyte *,SvIV(ST(0)))
;
#line 25129 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3bv", )
  glNormal3bv(v);
  OGLM_CHECK_ERR("glNormal3bv", )
#line 51049 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3bv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3bv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 25137 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3bv", )
  GLbyte *v = OGLM_GET_VARARGS(v,0,GLbyte,IV,3);
  glNormal3bv((const GLbyte *)v);
  OGLM_CHECK_ERR("glNormal3bv", free(v);)
  free(v);
#line 51069 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3d)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "nx, ny, nz");
    {
	GLdouble	nx = (double)SvNV(ST(0))
;
	GLdouble	ny = (double)SvNV(ST(1))
;
	GLdouble	nz = (double)SvNV(ST(2))
;
#line 25150 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3d", )
  glNormal3d(nx, ny, nz);
  OGLM_CHECK_ERR("glNormal3d", )
#line 51093 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 25159 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3dv", )
  glNormal3dv(v);
  OGLM_CHECK_ERR("glNormal3dv", )
#line 51113 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 25167 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,3);
  glNormal3dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glNormal3dv", free(v);)
  free(v);
#line 51133 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3f)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "nx, ny, nz");
    {
	GLfloat	nx = (float)SvNV(ST(0))
;
	GLfloat	ny = (float)SvNV(ST(1))
;
	GLfloat	nz = (float)SvNV(ST(2))
;
#line 25180 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3f", )
  glNormal3f(nx, ny, nz);
  OGLM_CHECK_ERR("glNormal3f", )
#line 51157 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "nx, ny, nz, x, y, z");
    {
	GLfloat	nx = (float)SvNV(ST(0))
;
	GLfloat	ny = (float)SvNV(ST(1))
;
	GLfloat	nz = (float)SvNV(ST(2))
;
	GLfloat	x = (float)SvNV(ST(3))
;
	GLfloat	y = (float)SvNV(ST(4))
;
	GLfloat	z = (float)SvNV(ST(5))
;
#line 25194 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewNormal3fVertex3fSUN, glNormal3fVertex3fSUN)
  glNormal3fVertex3fSUN(nx, ny, nz, x, y, z);
  OGLM_CHECK_ERR("glNormal3fVertex3fSUN", )
#line 51188 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, v");
    {
	const GLfloat*	n = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 25205 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewNormal3fVertex3fvSUN, glNormal3fVertex3fvSUN)
  glNormal3fVertex3fvSUN(n, v);
  OGLM_CHECK_ERR("glNormal3fVertex3fvSUN", )
#line 51211 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "nSV, vSV");
    {
	SV *	nSV = ST(0)
;
	SV *	vSV = ST(1)
;
#line 25216 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewNormal3fVertex3fvSUN, glNormal3fVertex3fvSUN)
  GLfloat* n = OGLM_GET_ARRAY(n, GLfloat, NV, 3);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glNormal3fVertex3fvSUN((const GLfloat* )n, (const GLfloat *)v);
  OGLM_CHECK_ERR("glNormal3fVertex3fvSUN", free(n);free(v);)
  free(n);free(v);
#line 51237 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 25229 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3fv", )
  glNormal3fv(v);
  OGLM_CHECK_ERR("glNormal3fv", )
#line 51257 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 25237 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,3);
  glNormal3fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glNormal3fv", free(v);)
  free(v);
#line 51277 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3hNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "nx, ny, nz");
    {
	GLhalf	nx = (float)SvNV(ST(0))
;
	GLhalf	ny = (float)SvNV(ST(1))
;
	GLhalf	nz = (float)SvNV(ST(2))
;
#line 25250 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3hNV", )
  OGLM_AVAIL_CHECK(__glewNormal3hNV, glNormal3hNV)
  glNormal3hNV(nx, ny, nz);
  OGLM_CHECK_ERR("glNormal3hNV", )
#line 51302 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 25260 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3hvNV", )
  OGLM_AVAIL_CHECK(__glewNormal3hvNV, glNormal3hvNV)
  glNormal3hvNV(v);
  OGLM_CHECK_ERR("glNormal3hvNV", )
#line 51323 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3hvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 25269 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3hvNV", )
  OGLM_AVAIL_CHECK(__glewNormal3hvNV, glNormal3hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,0,GLhalf,NV,3);
  glNormal3hvNV((const GLhalf* )v);
  OGLM_CHECK_ERR("glNormal3hvNV", free(v);)
  free(v);
#line 51344 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3i)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "nx, ny, nz");
    {
	GLint	nx = (int)SvIV(ST(0))
;
	GLint	ny = (int)SvIV(ST(1))
;
	GLint	nz = (int)SvIV(ST(2))
;
#line 25283 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3i", )
  glNormal3i(nx, ny, nz);
  OGLM_CHECK_ERR("glNormal3i", )
#line 51368 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 25292 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3iv", )
  glNormal3iv(v);
  OGLM_CHECK_ERR("glNormal3iv", )
#line 51388 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 25300 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,3);
  glNormal3iv((const GLint *)v);
  OGLM_CHECK_ERR("glNormal3iv", free(v);)
  free(v);
#line 51408 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "nx, ny, nz");
    {
	GLshort	nx = (short)SvIV(ST(0))
;
	GLshort	ny = (short)SvIV(ST(1))
;
	GLshort	nz = (short)SvIV(ST(2))
;
#line 25313 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3s", )
  glNormal3s(nx, ny, nz);
  OGLM_CHECK_ERR("glNormal3s", )
#line 51432 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 25322 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3sv", )
  glNormal3sv(v);
  OGLM_CHECK_ERR("glNormal3sv", )
#line 51452 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 25330 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,3);
  glNormal3sv((const GLshort *)v);
  OGLM_CHECK_ERR("glNormal3sv", free(v);)
  free(v);
#line 51472 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormal3x); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormal3x)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "nx, ny, nz");
    {
	GLfixed	nx = (int)SvIV(ST(0))
;
	GLfixed	ny = (int)SvIV(ST(1))
;
	GLfixed	nz = (int)SvIV(ST(2))
;
#line 25343 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormal3x", )
  OGLM_AVAIL_CHECK(__glewNormal3x, glNormal3x)
  glNormal3x(nx, ny, nz);
  OGLM_CHECK_ERR("glNormal3x", )
#line 51497 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalFormatNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalFormatNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, stride");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
#line 25354 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalFormatNV", )
  OGLM_AVAIL_CHECK(__glewNormalFormatNV, glNormalFormatNV)
  glNormalFormatNV(type, stride);
  OGLM_CHECK_ERR("glNormalFormatNV", )
#line 51520 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalP3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalP3ui)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, coords");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	coords = (unsigned int)SvUV(ST(1))
;
#line 25365 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalP3ui", )
  OGLM_AVAIL_CHECK(__glewNormalP3ui, glNormalP3ui)
  glNormalP3ui(type, coords);
  OGLM_CHECK_ERR("glNormalP3ui", )
#line 51543 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalP3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalP3uiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, coords");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLuint*	coords = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 25376 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalP3uiv", )
  OGLM_AVAIL_CHECK(__glewNormalP3uiv, glNormalP3uiv)
  glNormalP3uiv(type, coords);
  OGLM_CHECK_ERR("glNormalP3uiv", )
#line 51566 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalP3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalP3uiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
#line 25386 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalP3uiv", )
  OGLM_AVAIL_CHECK(__glewNormalP3uiv, glNormalP3uiv)
  GLuint* coords = OGLM_GET_VARARGS(coords,1,GLuint,UV,1);
  glNormalP3uiv((GLenum )type, (const GLuint* )coords);
  OGLM_CHECK_ERR("glNormalP3uiv", free(coords);)
  free(coords);
#line 51589 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalPointer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalPointer_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "type, stride, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(2)))
;
#line 25400 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalPointer", )
  glNormalPointer(type, stride, pointer);
  OGLM_CHECK_ERR("glNormalPointer", )
#line 51613 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalPointerEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalPointerEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "type, stride, count, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(3)))
;
#line 25412 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalPointerEXT", )
  OGLM_AVAIL_CHECK(__glewNormalPointerEXT, glNormalPointerEXT)
  glNormalPointerEXT(type, stride, count, pointer);
  OGLM_CHECK_ERR("glNormalPointerEXT", )
#line 51640 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalPointerListIBM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalPointerListIBM_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "type, stride, pointer, ptrstride");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLint	stride = (int)SvIV(ST(1))
;
	const void**	pointer = INT2PTR(const void **,SvIV(ST(2)))
;
	GLint	ptrstride = (int)SvIV(ST(3))
;
#line 25425 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalPointerListIBM", )
  OGLM_AVAIL_CHECK(__glewNormalPointerListIBM, glNormalPointerListIBM)
  glNormalPointerListIBM(type, stride, pointer, ptrstride);
  OGLM_CHECK_ERR("glNormalPointerListIBM", )
#line 51667 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalPointervINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalPointervINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const void**	pointer = INT2PTR(const void **,SvIV(ST(1)))
;
#line 25436 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalPointervINTEL", )
  OGLM_AVAIL_CHECK(__glewNormalPointervINTEL, glNormalPointervINTEL)
  glNormalPointervINTEL(type, pointer);
  OGLM_CHECK_ERR("glNormalPointervINTEL", )
#line 51690 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3bATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3bATI)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "stream, nx, ny, nz");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLbyte	nx = (int)SvIV(ST(1))
;
	GLbyte	ny = (int)SvIV(ST(2))
;
	GLbyte	nz = (int)SvIV(ST(3))
;
#line 25449 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3bATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3bATI, glNormalStream3bATI)
  glNormalStream3bATI(stream, nx, ny, nz);
  OGLM_CHECK_ERR("glNormalStream3bATI", )
#line 51717 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3bvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3bvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLbyte *	coords = INT2PTR(const GLbyte *,SvIV(ST(1)))
;
#line 25460 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3bvATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3bvATI, glNormalStream3bvATI)
  glNormalStream3bvATI(stream, coords);
  OGLM_CHECK_ERR("glNormalStream3bvATI", )
#line 51740 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3bvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3bvATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 25470 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3bvATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3bvATI, glNormalStream3bvATI)
  GLbyte *coords = OGLM_GET_VARARGS(coords,1,GLbyte,IV,3);
  glNormalStream3bvATI((GLenum )stream, (const GLbyte *)coords);
  OGLM_CHECK_ERR("glNormalStream3bvATI", free(coords);)
  free(coords);
#line 51763 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3dATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3dATI)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "stream, nx, ny, nz");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLdouble	nx = (double)SvNV(ST(1))
;
	GLdouble	ny = (double)SvNV(ST(2))
;
	GLdouble	nz = (double)SvNV(ST(3))
;
#line 25485 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3dATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3dATI, glNormalStream3dATI)
  glNormalStream3dATI(stream, nx, ny, nz);
  OGLM_CHECK_ERR("glNormalStream3dATI", )
#line 51790 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3dvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3dvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLdouble *	coords = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 25496 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3dvATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3dvATI, glNormalStream3dvATI)
  glNormalStream3dvATI(stream, coords);
  OGLM_CHECK_ERR("glNormalStream3dvATI", )
#line 51813 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3dvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3dvATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 25506 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3dvATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3dvATI, glNormalStream3dvATI)
  GLdouble *coords = OGLM_GET_VARARGS(coords,1,GLdouble,NV,3);
  glNormalStream3dvATI((GLenum )stream, (const GLdouble *)coords);
  OGLM_CHECK_ERR("glNormalStream3dvATI", free(coords);)
  free(coords);
#line 51836 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3fATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3fATI)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "stream, nx, ny, nz");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLfloat	nx = (float)SvNV(ST(1))
;
	GLfloat	ny = (float)SvNV(ST(2))
;
	GLfloat	nz = (float)SvNV(ST(3))
;
#line 25521 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3fATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3fATI, glNormalStream3fATI)
  glNormalStream3fATI(stream, nx, ny, nz);
  OGLM_CHECK_ERR("glNormalStream3fATI", )
#line 51863 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3fvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3fvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLfloat *	coords = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 25532 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3fvATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3fvATI, glNormalStream3fvATI)
  glNormalStream3fvATI(stream, coords);
  OGLM_CHECK_ERR("glNormalStream3fvATI", )
#line 51886 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3fvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3fvATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 25542 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3fvATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3fvATI, glNormalStream3fvATI)
  GLfloat *coords = OGLM_GET_VARARGS(coords,1,GLfloat,NV,3);
  glNormalStream3fvATI((GLenum )stream, (const GLfloat *)coords);
  OGLM_CHECK_ERR("glNormalStream3fvATI", free(coords);)
  free(coords);
#line 51909 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3iATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3iATI)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "stream, nx, ny, nz");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLint	nx = (int)SvIV(ST(1))
;
	GLint	ny = (int)SvIV(ST(2))
;
	GLint	nz = (int)SvIV(ST(3))
;
#line 25557 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3iATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3iATI, glNormalStream3iATI)
  glNormalStream3iATI(stream, nx, ny, nz);
  OGLM_CHECK_ERR("glNormalStream3iATI", )
#line 51936 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3ivATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3ivATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLint *	coords = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 25568 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3ivATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3ivATI, glNormalStream3ivATI)
  glNormalStream3ivATI(stream, coords);
  OGLM_CHECK_ERR("glNormalStream3ivATI", )
#line 51959 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3ivATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3ivATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 25578 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3ivATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3ivATI, glNormalStream3ivATI)
  GLint *coords = OGLM_GET_VARARGS(coords,1,GLint,IV,3);
  glNormalStream3ivATI((GLenum )stream, (const GLint *)coords);
  OGLM_CHECK_ERR("glNormalStream3ivATI", free(coords);)
  free(coords);
#line 51982 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3sATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3sATI)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "stream, nx, ny, nz");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLshort	nx = (short)SvIV(ST(1))
;
	GLshort	ny = (short)SvIV(ST(2))
;
	GLshort	nz = (short)SvIV(ST(3))
;
#line 25593 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3sATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3sATI, glNormalStream3sATI)
  glNormalStream3sATI(stream, nx, ny, nz);
  OGLM_CHECK_ERR("glNormalStream3sATI", )
#line 52009 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3svATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3svATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLshort *	coords = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 25604 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3svATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3svATI, glNormalStream3svATI)
  glNormalStream3svATI(stream, coords);
  OGLM_CHECK_ERR("glNormalStream3svATI", )
#line 52032 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glNormalStream3svATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glNormalStream3svATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 25614 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glNormalStream3svATI", )
  OGLM_AVAIL_CHECK(__glewNormalStream3svATI, glNormalStream3svATI)
  GLshort *coords = OGLM_GET_VARARGS(coords,1,GLshort,IV,3);
  glNormalStream3svATI((GLenum )stream, (const GLshort *)coords);
  OGLM_CHECK_ERR("glNormalStream3svATI", free(coords);)
  free(coords);
#line 52055 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glObjectLabel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glObjectLabel)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "identifier, name, length, label");
    {
	GLenum	identifier = (int)SvIV(ST(0))
;
	GLuint	name = (unsigned int)SvUV(ST(1))
;
	GLsizei	length = (int)SvIV(ST(2))
;
	const GLchar*	label = (const GLchar *)SvPV_nolen(ST(3))
;
#line 25631 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glObjectLabel", )
  OGLM_AVAIL_CHECK(__glewObjectLabel, glObjectLabel)
  glObjectLabel(identifier, name, length, label);
  OGLM_CHECK_ERR("glObjectLabel", )
#line 52083 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glObjectPtrLabel_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glObjectPtrLabel_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "ptr, length, label");
    {
	void*	ptr = INT2PTR(void *,SvIV(ST(0)))
;
	GLsizei	length = (int)SvIV(ST(1))
;
	const GLchar*	label = (const GLchar *)SvPV_nolen(ST(2))
;
#line 25645 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glObjectPtrLabel", )
  OGLM_AVAIL_CHECK(__glewObjectPtrLabel, glObjectPtrLabel)
  glObjectPtrLabel(ptr, length, label);
  OGLM_CHECK_ERR("glObjectPtrLabel", )
#line 52109 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glObjectPurgeableAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glObjectPurgeableAPPLE)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "objectType, name, option");
    {
	GLenum	objectType = (int)SvIV(ST(0))
;
	GLuint	name = (unsigned int)SvUV(ST(1))
;
	GLenum	option = (int)SvIV(ST(2))
;
	GLenum	RETVAL;
	dXSTARG;
#line 25657 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glObjectPurgeableAPPLE", )
  OGLM_AVAIL_CHECK(__glewObjectPurgeableAPPLE, glObjectPurgeableAPPLE)
  RETVAL = glObjectPurgeableAPPLE(objectType, name, option);
  OGLM_CHECK_ERR("glObjectPurgeableAPPLE", )
#line 52136 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glObjectUnpurgeableAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glObjectUnpurgeableAPPLE)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "objectType, name, option");
    {
	GLenum	objectType = (int)SvIV(ST(0))
;
	GLuint	name = (unsigned int)SvUV(ST(1))
;
	GLenum	option = (int)SvIV(ST(2))
;
	GLenum	RETVAL;
	dXSTARG;
#line 25671 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glObjectUnpurgeableAPPLE", )
  OGLM_AVAIL_CHECK(__glewObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE)
  RETVAL = glObjectUnpurgeableAPPLE(objectType, name, option);
  OGLM_CHECK_ERR("glObjectUnpurgeableAPPLE", )
#line 52165 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glOrtho); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glOrtho)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "left, right, bottom, top, zNear, zFar");
    {
	GLdouble	left = (double)SvNV(ST(0))
;
	GLdouble	right = (double)SvNV(ST(1))
;
	GLdouble	bottom = (double)SvNV(ST(2))
;
	GLdouble	top = (double)SvNV(ST(3))
;
	GLdouble	zNear = (double)SvNV(ST(4))
;
	GLdouble	zFar = (double)SvNV(ST(5))
;
#line 25688 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glOrtho", )
  glOrtho(left, right, bottom, top, zNear, zFar);
  OGLM_CHECK_ERR("glOrtho", )
#line 52197 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glOrthof); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glOrthof)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "left, right, bottom, top, zNear, zFar");
    {
	GLfloat	left = (float)SvNV(ST(0))
;
	GLfloat	right = (float)SvNV(ST(1))
;
	GLfloat	bottom = (float)SvNV(ST(2))
;
	GLfloat	top = (float)SvNV(ST(3))
;
	GLfloat	zNear = (float)SvNV(ST(4))
;
	GLfloat	zFar = (float)SvNV(ST(5))
;
#line 25702 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glOrthof", )
  OGLM_AVAIL_CHECK(__glewOrthof, glOrthof)
  glOrthof(left, right, bottom, top, zNear, zFar);
  OGLM_CHECK_ERR("glOrthof", )
#line 52228 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glOrthofOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glOrthofOES)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "l, r, b, t, n, f");
    {
	GLfloat	l = (float)SvNV(ST(0))
;
	GLfloat	r = (float)SvNV(ST(1))
;
	GLfloat	b = (float)SvNV(ST(2))
;
	GLfloat	t = (float)SvNV(ST(3))
;
	GLfloat	n = (float)SvNV(ST(4))
;
	GLfloat	f = (float)SvNV(ST(5))
;
#line 25717 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glOrthofOES", )
  OGLM_AVAIL_CHECK(__glewOrthofOES, glOrthofOES)
  glOrthofOES(l, r, b, t, n, f);
  OGLM_CHECK_ERR("glOrthofOES", )
#line 52259 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glOrthox); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glOrthox)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "left, right, bottom, top, zNear, zFar");
    {
	GLfixed	left = (int)SvIV(ST(0))
;
	GLfixed	right = (int)SvIV(ST(1))
;
	GLfixed	bottom = (int)SvIV(ST(2))
;
	GLfixed	top = (int)SvIV(ST(3))
;
	GLfixed	zNear = (int)SvIV(ST(4))
;
	GLfixed	zFar = (int)SvIV(ST(5))
;
#line 25732 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glOrthox", )
  OGLM_AVAIL_CHECK(__glewOrthox, glOrthox)
  glOrthox(left, right, bottom, top, zNear, zFar);
  OGLM_CHECK_ERR("glOrthox", )
#line 52290 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPNTrianglesfATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPNTrianglesfATI)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 25743 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPNTrianglesfATI", )
  OGLM_AVAIL_CHECK(__glewPNTrianglesfATI, glPNTrianglesfATI)
  glPNTrianglesfATI(pname, param);
  OGLM_CHECK_ERR("glPNTrianglesfATI", )
#line 52313 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPNTrianglesiATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPNTrianglesiATI)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 25754 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPNTrianglesiATI", )
  OGLM_AVAIL_CHECK(__glewPNTrianglesiATI, glPNTrianglesiATI)
  glPNTrianglesiATI(pname, param);
  OGLM_CHECK_ERR("glPNTrianglesiATI", )
#line 52336 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPassTexCoordATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPassTexCoordATI)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "dst, coord, swizzle");
    {
	GLuint	dst = (unsigned int)SvUV(ST(0))
;
	GLuint	coord = (unsigned int)SvUV(ST(1))
;
	GLenum	swizzle = (int)SvIV(ST(2))
;
#line 25766 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPassTexCoordATI", )
  OGLM_AVAIL_CHECK(__glewPassTexCoordATI, glPassTexCoordATI)
  glPassTexCoordATI(dst, coord, swizzle);
  OGLM_CHECK_ERR("glPassTexCoordATI", )
#line 52361 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPassThrough); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPassThrough)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "token");
    {
	GLfloat	token = (float)SvNV(ST(0))
;
#line 25776 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPassThrough", )
  glPassThrough(token);
  OGLM_CHECK_ERR("glPassThrough", )
#line 52381 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPatchParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPatchParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, values");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLfloat*	values = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 25786 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPatchParameterfv", )
  OGLM_AVAIL_CHECK(__glewPatchParameterfv, glPatchParameterfv)
  glPatchParameterfv(pname, values);
  OGLM_CHECK_ERR("glPatchParameterfv", )
#line 52404 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPatchParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPatchParameterfv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "pname, ...");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 25796 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPatchParameterfv", )
  OGLM_AVAIL_CHECK(__glewPatchParameterfv, glPatchParameterfv)
  OGLM_SIZE_ENUM(PatchParameterName,pname,1)
  GLfloat* values = OGLM_GET_VARARGS(values,1,GLfloat,NV,pname_count);
  glPatchParameterfv((GLenum )pname, (const GLfloat* )values);
  OGLM_CHECK_ERR("glPatchParameterfv", free(values);)
  free(values);
#line 52428 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPatchParameteri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPatchParameteri)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "pname, value");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	value = (int)SvIV(ST(1))
;
#line 25812 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPatchParameteri", )
  OGLM_AVAIL_CHECK(__glewPatchParameteri, glPatchParameteri)
  glPatchParameteri(pname, value);
  OGLM_CHECK_ERR("glPatchParameteri", )
#line 52452 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathColorGenNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathColorGenNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "color, genMode, colorFormat, coeffs");
    {
	GLenum	color = (int)SvIV(ST(0))
;
	GLenum	genMode = (int)SvIV(ST(1))
;
	GLenum	colorFormat = (int)SvIV(ST(2))
;
	const GLfloat*	coeffs = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 25825 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathColorGenNV", )
  OGLM_AVAIL_CHECK(__glewPathColorGenNV, glPathColorGenNV)
  glPathColorGenNV(color, genMode, colorFormat, coeffs);
  OGLM_CHECK_ERR("glPathColorGenNV", )
#line 52479 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathCommandsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathCommandsNV_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "path, numCommands, commands, numCoords, coordType, coords");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLsizei	numCommands = (int)SvIV(ST(1))
;
	const GLubyte*        commands = (const GLubyte *)SvPV_nolen(ST(2))
;
	GLsizei	numCoords = (int)SvIV(ST(3))
;
	GLenum	coordType = (int)SvIV(ST(4))
;
	const void*	coords = INT2PTR(const void *,SvIV(ST(5)))
;
#line 25840 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathCommandsNV", )
  OGLM_AVAIL_CHECK(__glewPathCommandsNV, glPathCommandsNV)
  glPathCommandsNV(path, numCommands, commands, numCoords, coordType, coords);
  OGLM_CHECK_ERR("glPathCommandsNV", )
#line 52510 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathCoordsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathCoordsNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "path, numCoords, coordType, coords");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLsizei	numCoords = (int)SvIV(ST(1))
;
	GLenum	coordType = (int)SvIV(ST(2))
;
	const void *	coords = INT2PTR(const void *,SvIV(ST(3)))
;
#line 25853 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathCoordsNV", )
  OGLM_AVAIL_CHECK(__glewPathCoordsNV, glPathCoordsNV)
  glPathCoordsNV(path, numCoords, coordType, coords);
  OGLM_CHECK_ERR("glPathCoordsNV", )
#line 52537 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathCoverDepthFuncNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathCoverDepthFuncNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "func");
    {
	GLenum	func = (int)SvIV(ST(0))
;
#line 25863 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathCoverDepthFuncNV", )
  OGLM_AVAIL_CHECK(__glewPathCoverDepthFuncNV, glPathCoverDepthFuncNV)
  glPathCoverDepthFuncNV(func);
  OGLM_CHECK_ERR("glPathCoverDepthFuncNV", )
#line 52558 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathDashArrayNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathDashArrayNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "path, dashCount, dashArray");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLsizei	dashCount = (int)SvIV(ST(1))
;
	const GLfloat*	dashArray = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 25875 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathDashArrayNV", )
  OGLM_AVAIL_CHECK(__glewPathDashArrayNV, glPathDashArrayNV)
  glPathDashArrayNV(path, dashCount, dashArray);
  OGLM_CHECK_ERR("glPathDashArrayNV", )
#line 52583 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathDashArrayNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathDashArrayNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "path, ...");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
#line 25885 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathDashArrayNV", )
  OGLM_AVAIL_CHECK(__glewPathDashArrayNV, glPathDashArrayNV)
  GLsizei dashCount = items-1;
  GLfloat* dashArray = OGLM_GET_VARARGS(dashArray,1,GLfloat,NV,dashCount);
  glPathDashArrayNV((GLuint )path, (GLsizei )dashCount, (const GLfloat* )dashArray);
  OGLM_CHECK_ERR("glPathDashArrayNV", free(dashArray);)
  free(dashArray);
#line 52607 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathFogGenNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathFogGenNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "genMode");
    {
	GLenum	genMode = (int)SvIV(ST(0))
;
#line 25898 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathFogGenNV", )
  OGLM_AVAIL_CHECK(__glewPathFogGenNV, glPathFogGenNV)
  glPathFogGenNV(genMode);
  OGLM_CHECK_ERR("glPathFogGenNV", )
#line 52628 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathGlyphIndexArrayNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathGlyphIndexArrayNV_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale");
    {
	GLuint	firstPathName = (unsigned int)SvUV(ST(0))
;
	GLenum	fontTarget = (int)SvIV(ST(1))
;
	const void *	fontName = INT2PTR(const void *,SvIV(ST(2)))
;
	GLbitfield	fontStyle = (int)SvIV(ST(3))
;
	GLuint	firstGlyphIndex = (unsigned int)SvUV(ST(4))
;
	GLsizei	numGlyphs = (int)SvIV(ST(5))
;
	GLuint	pathParameterTemplate = (unsigned int)SvUV(ST(6))
;
	GLfloat	emScale = (float)SvNV(ST(7))
;
	GLenum	RETVAL;
	dXSTARG;
#line 25915 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathGlyphIndexArrayNV", )
  OGLM_AVAIL_CHECK(__glewPathGlyphIndexArrayNV, glPathGlyphIndexArrayNV)
  RETVAL = glPathGlyphIndexArrayNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale);
  OGLM_CHECK_ERR("glPathGlyphIndexArrayNV", )
#line 52665 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glPathGlyphIndexRangeNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathGlyphIndexRangeNV_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount");
    {
	GLenum	fontTarget = (int)SvIV(ST(0))
;
	const void *	fontName = INT2PTR(const void *,SvIV(ST(1)))
;
	GLbitfield	fontStyle = (int)SvIV(ST(2))
;
	GLuint	pathParameterTemplate = (unsigned int)SvUV(ST(3))
;
	GLfloat	emScale = (float)SvNV(ST(4))
;
	GLuint*	baseAndCount = INT2PTR(GLuint *,SvIV(ST(5)))
;
	GLenum	RETVAL;
	dXSTARG;
#line 25932 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathGlyphIndexRangeNV", )
  OGLM_AVAIL_CHECK(__glewPathGlyphIndexRangeNV, glPathGlyphIndexRangeNV)
  RETVAL = glPathGlyphIndexRangeNV(fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount);
  OGLM_CHECK_ERR("glPathGlyphIndexRangeNV", )
#line 52700 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glPathGlyphIndexRangeNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathGlyphIndexRangeNV_p)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "fontTarget, fontName, fontStyle, pathParameterTemplate, emScale");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLenum	fontTarget = (int)SvIV(ST(0))
;
	const void *	fontName = INT2PTR(const void *,SvIV(ST(1)))
;
	GLbitfield	fontStyle = (int)SvIV(ST(2))
;
	GLuint	pathParameterTemplate = (unsigned int)SvUV(ST(3))
;
	GLfloat	emScale = (float)SvNV(ST(4))
;
	GLenum	RETVAL;
	dXSTARG;
#line 25948 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathGlyphIndexRangeNV", )
  OGLM_AVAIL_CHECK(__glewPathGlyphIndexRangeNV, glPathGlyphIndexRangeNV)
  GLuint* baseAndCount = OGLM_ALLOC(2,GLuint,baseAndCount);
  RETVAL = glPathGlyphIndexRangeNV(fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount);
  OGLM_CHECK_ERR("glPathGlyphIndexRangeNV", free(baseAndCount);)
  EXTEND(sp, 2);
  mPUSHs(newSViv(RETVAL));
  OGLM_PUSH_ARRAY(glPathGlyphIndexRangeNV, newSVuv, baseAndCount, 2)
  free(baseAndCount);
#line 52740 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glPathGlyphRangeNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathGlyphRangeNV_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale");
    {
	GLuint	firstPathName = (unsigned int)SvUV(ST(0))
;
	GLenum	fontTarget = (int)SvIV(ST(1))
;
	const void *	fontName = INT2PTR(const void *,SvIV(ST(2)))
;
	GLbitfield	fontStyle = (int)SvIV(ST(3))
;
	GLuint	firstGlyph = (unsigned int)SvUV(ST(4))
;
	GLsizei	numGlyphs = (int)SvIV(ST(5))
;
	GLenum	handleMissingGlyphs = (int)SvIV(ST(6))
;
	GLuint	pathParameterTemplate = (unsigned int)SvUV(ST(7))
;
	GLfloat	emScale = (float)SvNV(ST(8))
;
#line 25971 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathGlyphRangeNV", )
  OGLM_AVAIL_CHECK(__glewPathGlyphRangeNV, glPathGlyphRangeNV)
  glPathGlyphRangeNV(firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale);
  OGLM_CHECK_ERR("glPathGlyphRangeNV", )
#line 52778 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathGlyphsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathGlyphsNV_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale");
    {
	GLuint	firstPathName = (unsigned int)SvUV(ST(0))
;
	GLenum	fontTarget = (int)SvIV(ST(1))
;
	const void *	fontName = INT2PTR(const void *,SvIV(ST(2)))
;
	GLbitfield	fontStyle = (int)SvIV(ST(3))
;
	GLsizei	numGlyphs = (int)SvIV(ST(4))
;
	GLenum	type = (int)SvIV(ST(5))
;
	const void*	charcodes = INT2PTR(const void *,SvIV(ST(6)))
;
	GLenum	handleMissingGlyphs = (int)SvIV(ST(7))
;
	GLuint	pathParameterTemplate = (unsigned int)SvUV(ST(8))
;
	GLfloat	emScale = (float)SvNV(ST(9))
;
#line 25990 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathGlyphsNV", )
  OGLM_AVAIL_CHECK(__glewPathGlyphsNV, glPathGlyphsNV)
  glPathGlyphsNV(firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale);
  OGLM_CHECK_ERR("glPathGlyphsNV", )
#line 52817 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathMemoryGlyphIndexArrayNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathMemoryGlyphIndexArrayNV_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale");
    {
	GLuint	firstPathName = (unsigned int)SvUV(ST(0))
;
	GLenum	fontTarget = (int)SvIV(ST(1))
;
	GLsizeiptr	fontSize = (unsigned int)SvUV(ST(2))
;
	const void *	fontData = INT2PTR(const void *,SvIV(ST(3)))
;
	GLsizei	faceIndex = (int)SvIV(ST(4))
;
	GLuint	firstGlyphIndex = (unsigned int)SvUV(ST(5))
;
	GLsizei	numGlyphs = (int)SvIV(ST(6))
;
	GLuint	pathParameterTemplate = (unsigned int)SvUV(ST(7))
;
	GLfloat	emScale = (float)SvNV(ST(8))
;
	GLenum	RETVAL;
	dXSTARG;
#line 26008 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathMemoryGlyphIndexArrayNV", )
  OGLM_AVAIL_CHECK(__glewPathMemoryGlyphIndexArrayNV, glPathMemoryGlyphIndexArrayNV)
  RETVAL = glPathMemoryGlyphIndexArrayNV(firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale);
  OGLM_CHECK_ERR("glPathMemoryGlyphIndexArrayNV", )
#line 52856 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glPathParameterfNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathParameterfNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "path, pname, value");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	value = (float)SvNV(ST(2))
;
#line 26022 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathParameterfNV", )
  OGLM_AVAIL_CHECK(__glewPathParameterfNV, glPathParameterfNV)
  glPathParameterfNV(path, pname, value);
  OGLM_CHECK_ERR("glPathParameterfNV", )
#line 52883 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "path, pname, value");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 26034 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewPathParameterfvNV, glPathParameterfvNV)
  glPathParameterfvNV(path, pname, value);
  OGLM_CHECK_ERR("glPathParameterfvNV", )
#line 52908 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathParameteriNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathParameteriNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "path, pname, value");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	value = (int)SvIV(ST(2))
;
#line 26046 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathParameteriNV", )
  OGLM_AVAIL_CHECK(__glewPathParameteriNV, glPathParameteriNV)
  glPathParameteriNV(path, pname, value);
  OGLM_CHECK_ERR("glPathParameteriNV", )
#line 52933 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "path, pname, value");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	value = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 26058 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathParameterivNV", )
  OGLM_AVAIL_CHECK(__glewPathParameterivNV, glPathParameterivNV)
  glPathParameterivNV(path, pname, value);
  OGLM_CHECK_ERR("glPathParameterivNV", )
#line 52958 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathStencilDepthOffsetNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathStencilDepthOffsetNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "factor, units");
    {
	GLfloat	factor = (float)SvNV(ST(0))
;
	GLfloat	units = (float)SvNV(ST(1))
;
#line 26069 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathStencilDepthOffsetNV", )
  OGLM_AVAIL_CHECK(__glewPathStencilDepthOffsetNV, glPathStencilDepthOffsetNV)
  glPathStencilDepthOffsetNV(factor, units);
  OGLM_CHECK_ERR("glPathStencilDepthOffsetNV", )
#line 52981 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathStencilFuncNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathStencilFuncNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "func, ref, mask");
    {
	GLenum	func = (int)SvIV(ST(0))
;
	GLint	ref = (int)SvIV(ST(1))
;
	GLuint	mask = (unsigned int)SvUV(ST(2))
;
#line 26081 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathStencilFuncNV", )
  OGLM_AVAIL_CHECK(__glewPathStencilFuncNV, glPathStencilFuncNV)
  glPathStencilFuncNV(func, ref, mask);
  OGLM_CHECK_ERR("glPathStencilFuncNV", )
#line 53006 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathStringNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathStringNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "path, format, length, pathString");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLsizei	length = (int)SvIV(ST(2))
;
	const void *	pathString = INT2PTR(const void *,SvIV(ST(3)))
;
#line 26094 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathStringNV", )
  OGLM_AVAIL_CHECK(__glewPathStringNV, glPathStringNV)
  glPathStringNV(path, format, length, pathString);
  OGLM_CHECK_ERR("glPathStringNV", )
#line 53033 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathSubCommandsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathSubCommandsNV_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLsizei	commandStart = (int)SvIV(ST(1))
;
	GLsizei	commandsToDelete = (int)SvIV(ST(2))
;
	GLsizei	numCommands = (int)SvIV(ST(3))
;
	const GLubyte*        commands = (const GLubyte *)SvPV_nolen(ST(4))
;
	GLsizei	numCoords = (int)SvIV(ST(5))
;
	GLenum	coordType = (int)SvIV(ST(6))
;
	const void*	coords = INT2PTR(const void *,SvIV(ST(7)))
;
#line 26111 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathSubCommandsNV", )
  OGLM_AVAIL_CHECK(__glewPathSubCommandsNV, glPathSubCommandsNV)
  glPathSubCommandsNV(path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords);
  OGLM_CHECK_ERR("glPathSubCommandsNV", )
#line 53068 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathSubCoordsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathSubCoordsNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "path, coordStart, numCoords, coordType, coords");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLsizei	coordStart = (int)SvIV(ST(1))
;
	GLsizei	numCoords = (int)SvIV(ST(2))
;
	GLenum	coordType = (int)SvIV(ST(3))
;
	const void *	coords = INT2PTR(const void *,SvIV(ST(4)))
;
#line 26125 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathSubCoordsNV", )
  OGLM_AVAIL_CHECK(__glewPathSubCoordsNV, glPathSubCoordsNV)
  glPathSubCoordsNV(path, coordStart, numCoords, coordType, coords);
  OGLM_CHECK_ERR("glPathSubCoordsNV", )
#line 53097 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPathTexGenNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPathTexGenNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texCoordSet, genMode, components, coeffs");
    {
	GLenum	texCoordSet = (int)SvIV(ST(0))
;
	GLenum	genMode = (int)SvIV(ST(1))
;
	GLint	components = (int)SvIV(ST(2))
;
	const GLfloat*	coeffs = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 26138 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPathTexGenNV", )
  OGLM_AVAIL_CHECK(__glewPathTexGenNV, glPathTexGenNV)
  glPathTexGenNV(texCoordSet, genMode, components, coeffs);
  OGLM_CHECK_ERR("glPathTexGenNV", )
#line 53124 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPauseTransformFeedback); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPauseTransformFeedback)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 26149 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPauseTransformFeedback", )
  OGLM_AVAIL_CHECK(__glewPauseTransformFeedback, glPauseTransformFeedback)
  glPauseTransformFeedback();
  OGLM_CHECK_ERR("glPauseTransformFeedback", )
#line 53144 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelDataRangeNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelDataRangeNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, length, pointer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	length = (int)SvIV(ST(1))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(2)))
;
#line 26161 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelDataRangeNV", )
  OGLM_AVAIL_CHECK(__glewPixelDataRangeNV, glPixelDataRangeNV)
  glPixelDataRangeNV(target, length, pointer);
  OGLM_CHECK_ERR("glPixelDataRangeNV", )
#line 53169 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelMapfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelMapfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "map, mapsize, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	mapsize = (int)SvIV(ST(1))
;
	const GLfloat *	values = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 26173 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelMapfv", )
  glPixelMapfv(map, mapsize, values);
  OGLM_CHECK_ERR("glPixelMapfv", )
#line 53193 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelMapfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelMapfv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "map, ...");
    {
	GLenum	map = (int)SvIV(ST(0))
;
#line 26182 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelMapfv", )
  GLsizei mapsize = items-1;
  GLfloat *values = OGLM_GET_VARARGS(values,1,GLfloat,NV,mapsize);
  glPixelMapfv((GLenum )map, (GLsizei )mapsize, (const GLfloat *)values);
  OGLM_CHECK_ERR("glPixelMapfv", free(values);)
  free(values);
#line 53216 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelMapuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelMapuiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "map, mapsize, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	mapsize = (int)SvIV(ST(1))
;
	const GLuint *	values = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 26196 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelMapuiv", )
  glPixelMapuiv(map, mapsize, values);
  OGLM_CHECK_ERR("glPixelMapuiv", )
#line 53240 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelMapuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelMapuiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "map, ...");
    {
	GLenum	map = (int)SvIV(ST(0))
;
#line 26205 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelMapuiv", )
  GLsizei mapsize = items-1;
  GLuint *values = OGLM_GET_VARARGS(values,1,GLuint,UV,mapsize);
  glPixelMapuiv((GLenum )map, (GLsizei )mapsize, (const GLuint *)values);
  OGLM_CHECK_ERR("glPixelMapuiv", free(values);)
  free(values);
#line 53263 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelMapusv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelMapusv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "map, mapsize, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	mapsize = (int)SvIV(ST(1))
;
	const GLushort *	values = INT2PTR(const GLushort *,SvIV(ST(2)))
;
#line 26219 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelMapusv", )
  glPixelMapusv(map, mapsize, values);
  OGLM_CHECK_ERR("glPixelMapusv", )
#line 53287 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelMapusv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelMapusv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "map, ...");
    {
	GLenum	map = (int)SvIV(ST(0))
;
#line 26228 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelMapusv", )
  GLsizei mapsize = items-1;
  GLushort *values = OGLM_GET_VARARGS(values,1,GLushort,UV,mapsize);
  glPixelMapusv((GLenum )map, (GLsizei )mapsize, (const GLushort *)values);
  OGLM_CHECK_ERR("glPixelMapusv", free(values);)
  free(values);
#line 53310 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelStoref); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelStoref)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 26241 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelStoref", )
  glPixelStoref(pname, param);
  OGLM_CHECK_ERR("glPixelStoref", )
#line 53332 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelStorei); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelStorei)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 26251 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelStorei", )
  glPixelStorei(pname, param);
  OGLM_CHECK_ERR("glPixelStorei", )
#line 53354 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTexGenSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTexGenSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 26260 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTexGenSGIX", )
  OGLM_AVAIL_CHECK(__glewPixelTexGenSGIX, glPixelTexGenSGIX)
  glPixelTexGenSGIX(mode);
  OGLM_CHECK_ERR("glPixelTexGenSGIX", )
#line 53375 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransferf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransferf)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 26271 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransferf", )
  glPixelTransferf(pname, param);
  OGLM_CHECK_ERR("glPixelTransferf", )
#line 53397 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransferi); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransferi)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 26281 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransferi", )
  glPixelTransferi(pname, param);
  OGLM_CHECK_ERR("glPixelTransferi", )
#line 53419 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterfEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterfEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat	param = (float)SvNV(ST(2))
;
#line 26292 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransformParameterfEXT", )
  OGLM_AVAIL_CHECK(__glewPixelTransformParameterfEXT, glPixelTransformParameterfEXT)
  glPixelTransformParameterfEXT(target, pname, param);
  OGLM_CHECK_ERR("glPixelTransformParameterfEXT", )
#line 53444 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterfSGI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterfSGI)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	param = (float)SvNV(ST(2))
;
#line 26304 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransformParameterfSGI", )
  OGLM_AVAIL_CHECK(__glewPixelTransformParameterfSGI, glPixelTransformParameterfSGI)
  glPixelTransformParameterfSGI(target, pname, param);
  OGLM_CHECK_ERR("glPixelTransformParameterfSGI", )
#line 53469 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 26316 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransformParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewPixelTransformParameterfvEXT, glPixelTransformParameterfvEXT)
  glPixelTransformParameterfvEXT(target, pname, params);
  OGLM_CHECK_ERR("glPixelTransformParameterfvEXT", )
#line 53494 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 26327 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransformParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewPixelTransformParameterfvEXT, glPixelTransformParameterfvEXT)
  GLfloat* params = OGLM_GET_VARARGS(params,2,GLfloat,NV,1);
  glPixelTransformParameterfvEXT((GLenum )target, (GLenum )pname, (const GLfloat* )params);
  OGLM_CHECK_ERR("glPixelTransformParameterfvEXT", free(params);)
  free(params);
#line 53519 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterfvSGI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterfvSGI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 26341 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransformParameterfvSGI", )
  OGLM_AVAIL_CHECK(__glewPixelTransformParameterfvSGI, glPixelTransformParameterfvSGI)
  glPixelTransformParameterfvSGI(target, pname, params);
  OGLM_CHECK_ERR("glPixelTransformParameterfvSGI", )
#line 53544 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameteriEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameteriEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint	param = (int)SvIV(ST(2))
;
#line 26353 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransformParameteriEXT", )
  OGLM_AVAIL_CHECK(__glewPixelTransformParameteriEXT, glPixelTransformParameteriEXT)
  glPixelTransformParameteriEXT(target, pname, param);
  OGLM_CHECK_ERR("glPixelTransformParameteriEXT", )
#line 53569 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameteriSGI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameteriSGI)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 26365 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransformParameteriSGI", )
  OGLM_AVAIL_CHECK(__glewPixelTransformParameteriSGI, glPixelTransformParameteriSGI)
  glPixelTransformParameteriSGI(target, pname, param);
  OGLM_CHECK_ERR("glPixelTransformParameteriSGI", )
#line 53594 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 26377 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransformParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewPixelTransformParameterivEXT, glPixelTransformParameterivEXT)
  glPixelTransformParameterivEXT(target, pname, params);
  OGLM_CHECK_ERR("glPixelTransformParameterivEXT", )
#line 53619 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 26388 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransformParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewPixelTransformParameterivEXT, glPixelTransformParameterivEXT)
  GLint* params = OGLM_GET_VARARGS(params,2,GLint,IV,1);
  glPixelTransformParameterivEXT((GLenum )target, (GLenum )pname, (const GLint* )params);
  OGLM_CHECK_ERR("glPixelTransformParameterivEXT", free(params);)
  free(params);
#line 53644 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterivSGI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransformParameterivSGI_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 26402 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransformParameterivSGI", )
  OGLM_AVAIL_CHECK(__glewPixelTransformParameterivSGI, glPixelTransformParameterivSGI)
  glPixelTransformParameterivSGI(target, pname, params);
  OGLM_CHECK_ERR("glPixelTransformParameterivSGI", )
#line 53669 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelTransformSGI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelTransformSGI)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 26412 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelTransformSGI", )
  OGLM_AVAIL_CHECK(__glewPixelTransformSGI, glPixelTransformSGI)
  glPixelTransformSGI(target);
  OGLM_CHECK_ERR("glPixelTransformSGI", )
#line 53690 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPixelZoom); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPixelZoom)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "xfactor, yfactor");
    {
	GLfloat	xfactor = (float)SvNV(ST(0))
;
	GLfloat	yfactor = (float)SvNV(ST(1))
;
#line 26423 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPixelZoom", )
  glPixelZoom(xfactor, yfactor);
  OGLM_CHECK_ERR("glPixelZoom", )
#line 53712 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointAlongPathNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointAlongPathNV_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "path, startSegment, numSegments, distance, x, y, tangentX, tangentY");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLsizei	startSegment = (int)SvIV(ST(1))
;
	GLsizei	numSegments = (int)SvIV(ST(2))
;
	GLfloat	distance = (float)SvNV(ST(3))
;
	GLfloat*	x = INT2PTR(GLfloat *,SvIV(ST(4)))
;
	GLfloat *	y = INT2PTR(GLfloat *,SvIV(ST(5)))
;
	GLfloat *	tangentX = INT2PTR(GLfloat *,SvIV(ST(6)))
;
	GLfloat *	tangentY = INT2PTR(GLfloat *,SvIV(ST(7)))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 26439 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointAlongPathNV", )
  OGLM_AVAIL_CHECK(__glewPointAlongPathNV, glPointAlongPathNV)
  RETVAL = glPointAlongPathNV(path, startSegment, numSegments, distance, x, y, tangentX, tangentY);
  OGLM_CHECK_ERR("glPointAlongPathNV", )
#line 53749 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glPointAlongPathNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointAlongPathNV_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "path, startSegment, numSegments, distance");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLsizei	startSegment = (int)SvIV(ST(1))
;
	GLsizei	numSegments = (int)SvIV(ST(2))
;
	GLfloat	distance = (float)SvNV(ST(3))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 26454 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointAlongPathNV", )
  OGLM_AVAIL_CHECK(__glewPointAlongPathNV, glPointAlongPathNV)
  GLfloat tangentX[1];
  GLfloat tangentY[1];
  GLfloat x[1];
  GLfloat y[1];
  RETVAL = glPointAlongPathNV(path, startSegment, numSegments, distance, x, y, tangentX, tangentY);
  OGLM_CHECK_ERR("glPointAlongPathNV", )
  EXTEND(sp, 5);
  mPUSHs(newSViv(RETVAL));
  mPUSHs(newSVnv(x[0]));
  mPUSHs(newSVnv(y[0]));
  mPUSHs(newSVnv(tangentX[0]));
  mPUSHs(newSVnv(tangentY[0]));
#line 53792 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glPointParameterf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointParameterf)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 26479 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointParameterf", )
  OGLM_AVAIL_CHECK(__glewPointParameterf, glPointParameterf)
  glPointParameterf(pname, param);
  OGLM_CHECK_ERR("glPointParameterf", )
#line 53817 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointParameterfv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLfloat *	params = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 26494 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointParameterfv", )
  OGLM_AVAIL_CHECK(__glewPointParameterfv, glPointParameterfv)
  glPointParameterfv(pname, params);
  OGLM_CHECK_ERR("glPointParameterfv", )
#line 53841 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointParameterfv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "pname, ...");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 26508 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointParameterfv", )
  OGLM_AVAIL_CHECK(__glewPointParameterfv, glPointParameterfv)
  OGLM_SIZE_ENUM(PointParameterNameARB,pname,1)
  GLfloat *params = OGLM_GET_VARARGS(params,1,GLfloat,NV,pname_count);
  glPointParameterfv((GLenum )pname, (const GLfloat *)params);
  OGLM_CHECK_ERR("glPointParameterfv", free(params);)
  free(params);
#line 53866 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointParameteri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointParameteri)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 26524 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointParameteri", )
  OGLM_AVAIL_CHECK(__glewPointParameteri, glPointParameteri)
  glPointParameteri(pname, param);
  OGLM_CHECK_ERR("glPointParameteri", )
#line 53890 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointParameteriv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 26537 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointParameteriv", )
  OGLM_AVAIL_CHECK(__glewPointParameteriv, glPointParameteriv)
  glPointParameteriv(pname, params);
  OGLM_CHECK_ERR("glPointParameteriv", )
#line 53914 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointParameteriv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "pname, ...");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 26549 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointParameteriv", )
  OGLM_AVAIL_CHECK(__glewPointParameteriv, glPointParameteriv)
  OGLM_SIZE_ENUM(PointParameterNameARB,pname,1)
  GLint *params = OGLM_GET_VARARGS(params,1,GLint,IV,pname_count);
  glPointParameteriv((GLenum )pname, (const GLint *)params);
  OGLM_CHECK_ERR("glPointParameteriv", free(params);)
  free(params);
#line 53939 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointParameterx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointParameterx)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfixed	param = (int)SvIV(ST(1))
;
#line 26563 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointParameterx", )
  OGLM_AVAIL_CHECK(__glewPointParameterx, glPointParameterx)
  glPointParameterx(pname, param);
  OGLM_CHECK_ERR("glPointParameterx", )
#line 53962 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointParameterxv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointParameterxv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	const GLfixed*	params = INT2PTR(const GLfixed *,SvIV(ST(1)))
;
#line 26574 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointParameterxv", )
  OGLM_AVAIL_CHECK(__glewPointParameterxv, glPointParameterxv)
  glPointParameterxv(pname, params);
  OGLM_CHECK_ERR("glPointParameterxv", )
#line 53985 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointParameterxv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointParameterxv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "pname, ...");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 26584 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointParameterxv", )
  OGLM_AVAIL_CHECK(__glewPointParameterxv, glPointParameterxv)
  OGLM_SIZE_ENUM(PointParameterNameARB,pname,1)
  GLfixed* params = OGLM_GET_VARARGS(params,1,GLfixed,IV,pname_count);
  glPointParameterxv((GLenum )pname, (const GLfixed* )params);
  OGLM_CHECK_ERR("glPointParameterxv", free(params);)
  free(params);
#line 54009 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointSize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointSize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    {
	GLfloat	size = (float)SvNV(ST(0))
;
#line 26597 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointSize", )
  glPointSize(size);
  OGLM_CHECK_ERR("glPointSize", )
#line 54029 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointSizePointerOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointSizePointerOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "type, stride, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(2)))
;
#line 26608 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointSizePointerOES", )
  OGLM_AVAIL_CHECK(__glewPointSizePointerOES, glPointSizePointerOES)
  glPointSizePointerOES(type, stride, pointer);
  OGLM_CHECK_ERR("glPointSizePointerOES", )
#line 54054 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPointSizex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPointSizex)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    {
	GLfixed	size = (int)SvIV(ST(0))
;
#line 26618 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPointSizex", )
  OGLM_AVAIL_CHECK(__glewPointSizex, glPointSizex)
  glPointSizex(size);
  OGLM_CHECK_ERR("glPointSizex", )
#line 54075 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPollAsyncSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPollAsyncSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "markerp");
    {
	GLuint*	markerp = INT2PTR(GLuint *,SvIV(ST(0)))
;
	GLint	RETVAL;
	dXSTARG;
#line 26628 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPollAsyncSGIX", )
  OGLM_AVAIL_CHECK(__glewPollAsyncSGIX, glPollAsyncSGIX)
  RETVAL = glPollAsyncSGIX(markerp);
  OGLM_CHECK_ERR("glPollAsyncSGIX", )
#line 54098 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glPollAsyncSGIX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPollAsyncSGIX_p)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	RETVAL;
	dXSTARG;
#line 26639 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPollAsyncSGIX", )
  OGLM_AVAIL_CHECK(__glewPollAsyncSGIX, glPollAsyncSGIX)
  GLuint markerp[1];
  RETVAL = glPollAsyncSGIX(markerp);
  OGLM_CHECK_ERR("glPollAsyncSGIX", )
  EXTEND(sp, 2);
  mPUSHs(newSViv(RETVAL));
  mPUSHs(newSVuv(markerp[0]));
#line 54127 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glPolygonMode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPolygonMode)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "face, mode");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 26656 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPolygonMode", )
  glPolygonMode(face, mode);
  OGLM_CHECK_ERR("glPolygonMode", )
#line 54151 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPolygonOffset); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPolygonOffset)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "factor, units");
    {
	GLfloat	factor = (float)SvNV(ST(0))
;
	GLfloat	units = (float)SvNV(ST(1))
;
#line 26666 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPolygonOffset", )
  glPolygonOffset(factor, units);
  OGLM_CHECK_ERR("glPolygonOffset", )
#line 54173 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPolygonOffsetClamp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPolygonOffsetClamp)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "factor, units, clamp");
    {
	GLfloat	factor = (float)SvNV(ST(0))
;
	GLfloat	units = (float)SvNV(ST(1))
;
	GLfloat	clamp = (float)SvNV(ST(2))
;
#line 26679 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPolygonOffsetClamp", )
  OGLM_AVAIL_CHECK(__glewPolygonOffsetClamp, glPolygonOffsetClamp)
  glPolygonOffsetClamp(factor, units, clamp);
  OGLM_CHECK_ERR("glPolygonOffsetClamp", )
#line 54199 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPolygonOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPolygonOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "factor, bias");
    {
	GLfloat	factor = (float)SvNV(ST(0))
;
	GLfloat	bias = (float)SvNV(ST(1))
;
#line 26690 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPolygonOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewPolygonOffsetEXT, glPolygonOffsetEXT)
  glPolygonOffsetEXT(factor, bias);
  OGLM_CHECK_ERR("glPolygonOffsetEXT", )
#line 54222 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPolygonOffsetx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPolygonOffsetx)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "factor, units");
    {
	GLfixed	factor = (int)SvIV(ST(0))
;
	GLfixed	units = (int)SvIV(ST(1))
;
#line 26701 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPolygonOffsetx", )
  OGLM_AVAIL_CHECK(__glewPolygonOffsetx, glPolygonOffsetx)
  glPolygonOffsetx(factor, units);
  OGLM_CHECK_ERR("glPolygonOffsetx", )
#line 54245 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPolygonStipple); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPolygonStipple)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	const GLubyte *        mask = (const GLubyte *)SvPV_nolen(ST(0))
;
#line 26711 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPolygonStipple", )
  glPolygonStipple(mask);
  OGLM_CHECK_ERR("glPolygonStipple", )
#line 54265 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPopAttrib); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPopAttrib)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 26719 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPopAttrib", )
  glPopAttrib();
  OGLM_CHECK_ERR("glPopAttrib", )
#line 54283 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPopClientAttrib); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPopClientAttrib)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 26727 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPopClientAttrib", )
  glPopClientAttrib();
  OGLM_CHECK_ERR("glPopClientAttrib", )
#line 54301 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPopDebugGroup); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPopDebugGroup)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 26737 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPopDebugGroup", )
  OGLM_AVAIL_CHECK(__glewPopDebugGroup, glPopDebugGroup)
  glPopDebugGroup();
  OGLM_CHECK_ERR("glPopDebugGroup", )
#line 54321 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPopGroupMarkerEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPopGroupMarkerEXT)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 26746 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPopGroupMarkerEXT", )
  OGLM_AVAIL_CHECK(__glewPopGroupMarkerEXT, glPopGroupMarkerEXT)
  glPopGroupMarkerEXT();
  OGLM_CHECK_ERR("glPopGroupMarkerEXT", )
#line 54340 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPopMatrix); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPopMatrix)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 26755 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPopMatrix", )
  glPopMatrix();
  OGLM_CHECK_ERR("glPopMatrix", )
#line 54358 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPopName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPopName)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 26763 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPopName", )
  glPopName();
  OGLM_CHECK_ERR("glPopName", )
#line 54376 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPresentFrameDualFillNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPresentFrameDualFillNV)
{
    dVAR; dXSARGS;
    if (items != 13)
       croak_xs_usage(cv,  "video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3");
    {
	GLuint	video_slot = (unsigned int)SvUV(ST(0))
;
	GLuint64EXT	minPresentTime = (unsigned int)SvUV(ST(1))
;
	GLuint	beginPresentTimeId = (unsigned int)SvUV(ST(2))
;
	GLuint	presentDurationId = (unsigned int)SvUV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	GLenum	target0 = (int)SvIV(ST(5))
;
	GLuint	fill0 = (unsigned int)SvUV(ST(6))
;
	GLenum	target1 = (int)SvIV(ST(7))
;
	GLuint	fill1 = (unsigned int)SvUV(ST(8))
;
	GLenum	target2 = (int)SvIV(ST(9))
;
	GLuint	fill2 = (unsigned int)SvUV(ST(10))
;
	GLenum	target3 = (int)SvIV(ST(11))
;
	GLuint	fill3 = (unsigned int)SvUV(ST(12))
;
#line 26784 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPresentFrameDualFillNV", )
  OGLM_AVAIL_CHECK(__glewPresentFrameDualFillNV, glPresentFrameDualFillNV)
  glPresentFrameDualFillNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3);
  OGLM_CHECK_ERR("glPresentFrameDualFillNV", )
#line 54421 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPresentFrameKeyedNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPresentFrameKeyedNV)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1");
    {
	GLuint	video_slot = (unsigned int)SvUV(ST(0))
;
	GLuint64EXT	minPresentTime = (unsigned int)SvUV(ST(1))
;
	GLuint	beginPresentTimeId = (unsigned int)SvUV(ST(2))
;
	GLuint	presentDurationId = (unsigned int)SvUV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	GLenum	target0 = (int)SvIV(ST(5))
;
	GLuint	fill0 = (unsigned int)SvUV(ST(6))
;
	GLuint	key0 = (unsigned int)SvUV(ST(7))
;
	GLenum	target1 = (int)SvIV(ST(8))
;
	GLuint	fill1 = (unsigned int)SvUV(ST(9))
;
	GLuint	key1 = (unsigned int)SvUV(ST(10))
;
#line 26804 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPresentFrameKeyedNV", )
  OGLM_AVAIL_CHECK(__glewPresentFrameKeyedNV, glPresentFrameKeyedNV)
  glPresentFrameKeyedNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1);
  OGLM_CHECK_ERR("glPresentFrameKeyedNV", )
#line 54462 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPrimitiveBoundingBoxARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPrimitiveBoundingBoxARB)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 8)
       croak_xs_usage(cv,  "minX, minY, minZ, minW, maxX, maxY, maxZ, maxW");
    {
	GLfloat	minX = (float)SvNV(ST(0))
;
	GLfloat	minY = (float)SvNV(ST(1))
;
	GLfloat	minZ = (float)SvNV(ST(2))
;
	GLfloat	minW = (float)SvNV(ST(3))
;
	GLfloat	maxX = (float)SvNV(ST(4))
;
	GLfloat	maxY = (float)SvNV(ST(5))
;
	GLfloat	maxZ = (float)SvNV(ST(6))
;
	GLfloat	maxW = (float)SvNV(ST(7))
;
#line 26824 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPrimitiveBoundingBoxARB", )
  OGLM_AVAIL_CHECK(__glewPrimitiveBoundingBoxARB, glPrimitiveBoundingBoxARB)
  glPrimitiveBoundingBoxARB(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
  OGLM_CHECK_ERR("glPrimitiveBoundingBoxARB", )
#line 54498 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPrimitiveRestartIndex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPrimitiveRestartIndex)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "buffer");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
#line 26834 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPrimitiveRestartIndex", )
  OGLM_AVAIL_CHECK(__glewPrimitiveRestartIndex, glPrimitiveRestartIndex)
  glPrimitiveRestartIndex(buffer);
  OGLM_CHECK_ERR("glPrimitiveRestartIndex", )
#line 54519 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPrimitiveRestartIndexNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPrimitiveRestartIndexNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "index");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 26844 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPrimitiveRestartIndexNV", )
  OGLM_AVAIL_CHECK(__glewPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV)
  glPrimitiveRestartIndexNV(index);
  OGLM_CHECK_ERR("glPrimitiveRestartIndexNV", )
#line 54540 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPrimitiveRestartNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPrimitiveRestartNV)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 26853 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPrimitiveRestartNV", )
  OGLM_AVAIL_CHECK(__glewPrimitiveRestartNV, glPrimitiveRestartNV)
  glPrimitiveRestartNV();
  OGLM_CHECK_ERR("glPrimitiveRestartNV", )
#line 54559 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPrioritizeTextures_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPrioritizeTextures_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "n, textures, priorities");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint *	textures = INT2PTR(const GLuint *,SvIV(ST(1)))
;
	const GLclampf *	priorities = INT2PTR(const GLclampf *,SvIV(ST(2)))
;
#line 26867 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPrioritizeTextures", )
  glPrioritizeTextures(n, textures, priorities);
  OGLM_CHECK_ERR("glPrioritizeTextures", )
#line 54584 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPrioritizeTextures_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPrioritizeTextures_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "texturesSV, prioritiesSV");
    {
	SV *	texturesSV = ST(0)
;
	SV *	prioritiesSV = ST(1)
;
#line 26879 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPrioritizeTextures", )
  GLsizei n = OGLM_LEN_ARRAY(n, textures);
  GLclampf *priorities = OGLM_GET_ARRAY(priorities, GLclampf, NV, n);
  GLuint *textures = OGLM_GET_ARRAY(textures, GLuint, UV, n);
  glPrioritizeTextures((GLsizei )n, (const GLuint *)textures, (const GLclampf *)priorities);
  OGLM_CHECK_ERR("glPrioritizeTextures", free(priorities);free(textures);)
  free(priorities);free(textures);
#line 54611 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPrioritizeVertexArraysSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPrioritizeVertexArraysSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "n, arrays, priorities");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	const GLuint*	arrays = INT2PTR(const GLuint *,SvIV(ST(1)))
;
	const GLclampf*	priorities = INT2PTR(const GLclampf *,SvIV(ST(2)))
;
#line 26894 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPrioritizeVertexArraysSGIX", )
  OGLM_AVAIL_CHECK(__glewPrioritizeVertexArraysSGIX, glPrioritizeVertexArraysSGIX)
  glPrioritizeVertexArraysSGIX(n, arrays, priorities);
  OGLM_CHECK_ERR("glPrioritizeVertexArraysSGIX", )
#line 54636 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramBinary_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramBinary_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, binaryFormat, binary, length");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	binaryFormat = (int)SvIV(ST(1))
;
	const void *	binary = INT2PTR(const void *,SvIV(ST(2)))
;
	GLsizei	length = (int)SvIV(ST(3))
;
#line 26907 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramBinary", )
  OGLM_AVAIL_CHECK(__glewProgramBinary, glProgramBinary)
  glProgramBinary(program, binaryFormat, binary, length);
  OGLM_CHECK_ERR("glProgramBinary", )
#line 54663 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramBinaryOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramBinaryOES_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, binaryFormat, binary, length");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	binaryFormat = (int)SvIV(ST(1))
;
	const void *	binary = INT2PTR(const void *,SvIV(ST(2)))
;
	GLint	length = (int)SvIV(ST(3))
;
#line 26920 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramBinaryOES", )
  OGLM_AVAIL_CHECK(__glewProgramBinaryOES, glProgramBinaryOES)
  glProgramBinaryOES(program, binaryFormat, binary, length);
  OGLM_CHECK_ERR("glProgramBinaryOES", )
#line 54690 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersIivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersIivNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, bindingIndex, wordIndex, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	bindingIndex = (unsigned int)SvUV(ST(1))
;
	GLuint	wordIndex = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(4)))
;
#line 26934 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramBufferParametersIivNV", )
  OGLM_AVAIL_CHECK(__glewProgramBufferParametersIivNV, glProgramBufferParametersIivNV)
  glProgramBufferParametersIivNV(target, bindingIndex, wordIndex, count, params);
  OGLM_CHECK_ERR("glProgramBufferParametersIivNV", )
#line 54719 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersIivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersIivNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "target, bindingIndex, wordIndex, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	bindingIndex = (unsigned int)SvUV(ST(1))
;
	GLuint	wordIndex = (unsigned int)SvUV(ST(2))
;
#line 26946 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramBufferParametersIivNV", )
  OGLM_AVAIL_CHECK(__glewProgramBufferParametersIivNV, glProgramBufferParametersIivNV)
  GLsizei count = items-3;
  GLint *params = OGLM_GET_VARARGS(params,3,GLint,IV,count);
  glProgramBufferParametersIivNV((GLenum )target, (GLuint )bindingIndex, (GLuint )wordIndex, (GLsizei )count, (const GLint *)params);
  OGLM_CHECK_ERR("glProgramBufferParametersIivNV", free(params);)
  free(params);
#line 54747 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersIuivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersIuivNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, bindingIndex, wordIndex, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	bindingIndex = (unsigned int)SvUV(ST(1))
;
	GLuint	wordIndex = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	const GLuint *	params = INT2PTR(const GLuint *,SvIV(ST(4)))
;
#line 26963 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramBufferParametersIuivNV", )
  OGLM_AVAIL_CHECK(__glewProgramBufferParametersIuivNV, glProgramBufferParametersIuivNV)
  glProgramBufferParametersIuivNV(target, bindingIndex, wordIndex, count, params);
  OGLM_CHECK_ERR("glProgramBufferParametersIuivNV", )
#line 54776 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersIuivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersIuivNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "target, bindingIndex, wordIndex, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	bindingIndex = (unsigned int)SvUV(ST(1))
;
	GLuint	wordIndex = (unsigned int)SvUV(ST(2))
;
#line 26975 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramBufferParametersIuivNV", )
  OGLM_AVAIL_CHECK(__glewProgramBufferParametersIuivNV, glProgramBufferParametersIuivNV)
  GLsizei count = items-3;
  GLuint *params = OGLM_GET_VARARGS(params,3,GLuint,UV,count);
  glProgramBufferParametersIuivNV((GLenum )target, (GLuint )bindingIndex, (GLuint )wordIndex, (GLsizei )count, (const GLuint *)params);
  OGLM_CHECK_ERR("glProgramBufferParametersIuivNV", free(params);)
  free(params);
#line 54804 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, bindingIndex, wordIndex, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	bindingIndex = (unsigned int)SvUV(ST(1))
;
	GLuint	wordIndex = (unsigned int)SvUV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	const GLfloat *	params = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 26992 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramBufferParametersfvNV", )
  OGLM_AVAIL_CHECK(__glewProgramBufferParametersfvNV, glProgramBufferParametersfvNV)
  glProgramBufferParametersfvNV(target, bindingIndex, wordIndex, count, params);
  OGLM_CHECK_ERR("glProgramBufferParametersfvNV", )
#line 54833 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersfvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramBufferParametersfvNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "target, bindingIndex, wordIndex, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	bindingIndex = (unsigned int)SvUV(ST(1))
;
	GLuint	wordIndex = (unsigned int)SvUV(ST(2))
;
#line 27004 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramBufferParametersfvNV", )
  OGLM_AVAIL_CHECK(__glewProgramBufferParametersfvNV, glProgramBufferParametersfvNV)
  GLsizei count = items-3;
  GLfloat *params = OGLM_GET_VARARGS(params,3,GLfloat,NV,count);
  glProgramBufferParametersfvNV((GLenum )target, (GLuint )bindingIndex, (GLuint )wordIndex, (GLsizei )count, (const GLfloat *)params);
  OGLM_CHECK_ERR("glProgramBufferParametersfvNV", free(params);)
  free(params);
#line 54861 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4dARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4dARB)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, index, x, y, z, w");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLdouble	x = (double)SvNV(ST(2))
;
	GLdouble	y = (double)SvNV(ST(3))
;
	GLdouble	z = (double)SvNV(ST(4))
;
	GLdouble	w = (double)SvNV(ST(5))
;
#line 27022 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameter4dARB", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameter4dARB, glProgramEnvParameter4dARB)
  glProgramEnvParameter4dARB(target, index, x, y, z, w);
  OGLM_CHECK_ERR("glProgramEnvParameter4dARB", )
#line 54892 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4dvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4dvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLdouble*	params = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 27034 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameter4dvARB", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB)
  glProgramEnvParameter4dvARB(target, index, params);
  OGLM_CHECK_ERR("glProgramEnvParameter4dvARB", )
#line 54917 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4dvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4dvARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, index, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 27045 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameter4dvARB", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB)
  GLdouble* params = OGLM_GET_VARARGS(params,2,GLdouble,NV,4);
  glProgramEnvParameter4dvARB((GLenum )target, (GLuint )index, (const GLdouble* )params);
  OGLM_CHECK_ERR("glProgramEnvParameter4dvARB", free(params);)
  free(params);
#line 54942 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4fARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4fARB)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, index, x, y, z, w");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLfloat	x = (float)SvNV(ST(2))
;
	GLfloat	y = (float)SvNV(ST(3))
;
	GLfloat	z = (float)SvNV(ST(4))
;
	GLfloat	w = (float)SvNV(ST(5))
;
#line 27062 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameter4fARB", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameter4fARB, glProgramEnvParameter4fARB)
  glProgramEnvParameter4fARB(target, index, x, y, z, w);
  OGLM_CHECK_ERR("glProgramEnvParameter4fARB", )
#line 54973 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4fvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4fvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 27074 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameter4fvARB", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB)
  glProgramEnvParameter4fvARB(target, index, params);
  OGLM_CHECK_ERR("glProgramEnvParameter4fvARB", )
#line 54998 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4fvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameter4fvARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, index, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 27085 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameter4fvARB", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB)
  GLfloat* params = OGLM_GET_VARARGS(params,2,GLfloat,NV,4);
  glProgramEnvParameter4fvARB((GLenum )target, (GLuint )index, (const GLfloat* )params);
  OGLM_CHECK_ERR("glProgramEnvParameter4fvARB", free(params);)
  free(params);
#line 55023 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4iNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4iNV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, index, x, y, z, w");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLint	x = (int)SvIV(ST(2))
;
	GLint	y = (int)SvIV(ST(3))
;
	GLint	z = (int)SvIV(ST(4))
;
	GLint	w = (int)SvIV(ST(5))
;
#line 27102 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameterI4iNV", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameterI4iNV, glProgramEnvParameterI4iNV)
  glProgramEnvParameterI4iNV(target, index, x, y, z, w);
  OGLM_CHECK_ERR("glProgramEnvParameterI4iNV", )
#line 55054 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4ivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4ivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 27114 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameterI4ivNV", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameterI4ivNV, glProgramEnvParameterI4ivNV)
  glProgramEnvParameterI4ivNV(target, index, params);
  OGLM_CHECK_ERR("glProgramEnvParameterI4ivNV", )
#line 55079 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4ivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4ivNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, index, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 27125 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameterI4ivNV", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameterI4ivNV, glProgramEnvParameterI4ivNV)
  GLint *params = OGLM_GET_VARARGS(params,2,GLint,IV,4);
  glProgramEnvParameterI4ivNV((GLenum )target, (GLuint )index, (const GLint *)params);
  OGLM_CHECK_ERR("glProgramEnvParameterI4ivNV", free(params);)
  free(params);
#line 55104 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4uiNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4uiNV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, index, x, y, z, w");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLuint	x = (unsigned int)SvUV(ST(2))
;
	GLuint	y = (unsigned int)SvUV(ST(3))
;
	GLuint	z = (unsigned int)SvUV(ST(4))
;
	GLuint	w = (unsigned int)SvUV(ST(5))
;
#line 27142 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameterI4uiNV", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameterI4uiNV, glProgramEnvParameterI4uiNV)
  glProgramEnvParameterI4uiNV(target, index, x, y, z, w);
  OGLM_CHECK_ERR("glProgramEnvParameterI4uiNV", )
#line 55135 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4uivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4uivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLuint *	params = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 27154 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameterI4uivNV", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameterI4uivNV, glProgramEnvParameterI4uivNV)
  glProgramEnvParameterI4uivNV(target, index, params);
  OGLM_CHECK_ERR("glProgramEnvParameterI4uivNV", )
#line 55160 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4uivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameterI4uivNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, index, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 27165 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameterI4uivNV", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameterI4uivNV, glProgramEnvParameterI4uivNV)
  GLuint *params = OGLM_GET_VARARGS(params,2,GLuint,UV,4);
  glProgramEnvParameterI4uivNV((GLenum )target, (GLuint )index, (const GLuint *)params);
  OGLM_CHECK_ERR("glProgramEnvParameterI4uivNV", free(params);)
  free(params);
#line 55185 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameters4fvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameters4fvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 27180 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameters4fvEXT", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameters4fvEXT, glProgramEnvParameters4fvEXT)
  glProgramEnvParameters4fvEXT(target, index, count, params);
  OGLM_CHECK_ERR("glProgramEnvParameters4fvEXT", )
#line 55212 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameters4fvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParameters4fvEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "target, index, count, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 27192 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParameters4fvEXT", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParameters4fvEXT, glProgramEnvParameters4fvEXT)
  GLfloat* params = OGLM_GET_VARARGS(params,3,GLfloat,NV,count*4);
  glProgramEnvParameters4fvEXT((GLenum )target, (GLuint )index, (GLsizei )count, (const GLfloat* )params);
  OGLM_CHECK_ERR("glProgramEnvParameters4fvEXT", free(params);)
  free(params);
#line 55239 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParametersI4ivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParametersI4ivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 27207 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParametersI4ivNV", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParametersI4ivNV, glProgramEnvParametersI4ivNV)
  glProgramEnvParametersI4ivNV(target, index, count, params);
  OGLM_CHECK_ERR("glProgramEnvParametersI4ivNV", )
#line 55266 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParametersI4ivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParametersI4ivNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "target, index, count, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 27219 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParametersI4ivNV", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParametersI4ivNV, glProgramEnvParametersI4ivNV)
  GLint *params = OGLM_GET_VARARGS(params,3,GLint,IV,count*4);
  glProgramEnvParametersI4ivNV((GLenum )target, (GLuint )index, (GLsizei )count, (const GLint *)params);
  OGLM_CHECK_ERR("glProgramEnvParametersI4ivNV", free(params);)
  free(params);
#line 55293 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParametersI4uivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParametersI4uivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint *	params = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 27234 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParametersI4uivNV", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParametersI4uivNV, glProgramEnvParametersI4uivNV)
  glProgramEnvParametersI4uivNV(target, index, count, params);
  OGLM_CHECK_ERR("glProgramEnvParametersI4uivNV", )
#line 55320 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParametersI4uivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramEnvParametersI4uivNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "target, index, count, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 27246 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramEnvParametersI4uivNV", )
  OGLM_AVAIL_CHECK(__glewProgramEnvParametersI4uivNV, glProgramEnvParametersI4uivNV)
  GLuint *params = OGLM_GET_VARARGS(params,3,GLuint,UV,count*4);
  glProgramEnvParametersI4uivNV((GLenum )target, (GLuint )index, (GLsizei )count, (const GLuint *)params);
  OGLM_CHECK_ERR("glProgramEnvParametersI4uivNV", free(params);)
  free(params);
#line 55347 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4dARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4dARB)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, index, x, y, z, w");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLdouble	x = (double)SvNV(ST(2))
;
	GLdouble	y = (double)SvNV(ST(3))
;
	GLdouble	z = (double)SvNV(ST(4))
;
	GLdouble	w = (double)SvNV(ST(5))
;
#line 27263 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameter4dARB", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameter4dARB, glProgramLocalParameter4dARB)
  glProgramLocalParameter4dARB(target, index, x, y, z, w);
  OGLM_CHECK_ERR("glProgramLocalParameter4dARB", )
#line 55378 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4dvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4dvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLdouble*	params = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 27275 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameter4dvARB", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameter4dvARB, glProgramLocalParameter4dvARB)
  glProgramLocalParameter4dvARB(target, index, params);
  OGLM_CHECK_ERR("glProgramLocalParameter4dvARB", )
#line 55403 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4dvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4dvARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, index, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 27286 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameter4dvARB", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameter4dvARB, glProgramLocalParameter4dvARB)
  GLdouble* params = OGLM_GET_VARARGS(params,2,GLdouble,NV,4);
  glProgramLocalParameter4dvARB((GLenum )target, (GLuint )index, (const GLdouble* )params);
  OGLM_CHECK_ERR("glProgramLocalParameter4dvARB", free(params);)
  free(params);
#line 55428 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4fARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4fARB)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, index, x, y, z, w");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLfloat	x = (float)SvNV(ST(2))
;
	GLfloat	y = (float)SvNV(ST(3))
;
	GLfloat	z = (float)SvNV(ST(4))
;
	GLfloat	w = (float)SvNV(ST(5))
;
#line 27303 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameter4fARB", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameter4fARB, glProgramLocalParameter4fARB)
  glProgramLocalParameter4fARB(target, index, x, y, z, w);
  OGLM_CHECK_ERR("glProgramLocalParameter4fARB", )
#line 55459 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4fvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4fvARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 27315 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameter4fvARB", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameter4fvARB, glProgramLocalParameter4fvARB)
  glProgramLocalParameter4fvARB(target, index, params);
  OGLM_CHECK_ERR("glProgramLocalParameter4fvARB", )
#line 55484 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4fvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameter4fvARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, index, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 27326 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameter4fvARB", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameter4fvARB, glProgramLocalParameter4fvARB)
  GLfloat* params = OGLM_GET_VARARGS(params,2,GLfloat,NV,4);
  glProgramLocalParameter4fvARB((GLenum )target, (GLuint )index, (const GLfloat* )params);
  OGLM_CHECK_ERR("glProgramLocalParameter4fvARB", free(params);)
  free(params);
#line 55509 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4iNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4iNV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, index, x, y, z, w");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLint	x = (int)SvIV(ST(2))
;
	GLint	y = (int)SvIV(ST(3))
;
	GLint	z = (int)SvIV(ST(4))
;
	GLint	w = (int)SvIV(ST(5))
;
#line 27343 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameterI4iNV", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameterI4iNV, glProgramLocalParameterI4iNV)
  glProgramLocalParameterI4iNV(target, index, x, y, z, w);
  OGLM_CHECK_ERR("glProgramLocalParameterI4iNV", )
#line 55540 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4ivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4ivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 27355 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameterI4ivNV", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameterI4ivNV, glProgramLocalParameterI4ivNV)
  glProgramLocalParameterI4ivNV(target, index, params);
  OGLM_CHECK_ERR("glProgramLocalParameterI4ivNV", )
#line 55565 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4ivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4ivNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, index, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 27366 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameterI4ivNV", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameterI4ivNV, glProgramLocalParameterI4ivNV)
  GLint *params = OGLM_GET_VARARGS(params,2,GLint,IV,4);
  glProgramLocalParameterI4ivNV((GLenum )target, (GLuint )index, (const GLint *)params);
  OGLM_CHECK_ERR("glProgramLocalParameterI4ivNV", free(params);)
  free(params);
#line 55590 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4uiNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4uiNV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, index, x, y, z, w");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLuint	x = (unsigned int)SvUV(ST(2))
;
	GLuint	y = (unsigned int)SvUV(ST(3))
;
	GLuint	z = (unsigned int)SvUV(ST(4))
;
	GLuint	w = (unsigned int)SvUV(ST(5))
;
#line 27383 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameterI4uiNV", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameterI4uiNV, glProgramLocalParameterI4uiNV)
  glProgramLocalParameterI4uiNV(target, index, x, y, z, w);
  OGLM_CHECK_ERR("glProgramLocalParameterI4uiNV", )
#line 55621 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4uivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4uivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLuint *	params = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 27395 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameterI4uivNV", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameterI4uivNV, glProgramLocalParameterI4uivNV)
  glProgramLocalParameterI4uivNV(target, index, params);
  OGLM_CHECK_ERR("glProgramLocalParameterI4uivNV", )
#line 55646 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4uivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameterI4uivNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, index, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 27406 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameterI4uivNV", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameterI4uivNV, glProgramLocalParameterI4uivNV)
  GLuint *params = OGLM_GET_VARARGS(params,2,GLuint,UV,4);
  glProgramLocalParameterI4uivNV((GLenum )target, (GLuint )index, (const GLuint *)params);
  OGLM_CHECK_ERR("glProgramLocalParameterI4uivNV", free(params);)
  free(params);
#line 55671 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameters4fvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameters4fvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 27421 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameters4fvEXT", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameters4fvEXT, glProgramLocalParameters4fvEXT)
  glProgramLocalParameters4fvEXT(target, index, count, params);
  OGLM_CHECK_ERR("glProgramLocalParameters4fvEXT", )
#line 55698 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameters4fvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParameters4fvEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "target, index, count, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 27433 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParameters4fvEXT", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParameters4fvEXT, glProgramLocalParameters4fvEXT)
  GLfloat* params = OGLM_GET_VARARGS(params,3,GLfloat,NV,count*4);
  glProgramLocalParameters4fvEXT((GLenum )target, (GLuint )index, (GLsizei )count, (const GLfloat* )params);
  OGLM_CHECK_ERR("glProgramLocalParameters4fvEXT", free(params);)
  free(params);
#line 55725 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParametersI4ivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParametersI4ivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 27448 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParametersI4ivNV", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParametersI4ivNV, glProgramLocalParametersI4ivNV)
  glProgramLocalParametersI4ivNV(target, index, count, params);
  OGLM_CHECK_ERR("glProgramLocalParametersI4ivNV", )
#line 55752 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParametersI4ivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParametersI4ivNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "target, index, count, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 27460 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParametersI4ivNV", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParametersI4ivNV, glProgramLocalParametersI4ivNV)
  GLint *params = OGLM_GET_VARARGS(params,3,GLint,IV,count*4);
  glProgramLocalParametersI4ivNV((GLenum )target, (GLuint )index, (GLsizei )count, (const GLint *)params);
  OGLM_CHECK_ERR("glProgramLocalParametersI4ivNV", free(params);)
  free(params);
#line 55779 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParametersI4uivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParametersI4uivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, count, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint *	params = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 27475 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParametersI4uivNV", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParametersI4uivNV, glProgramLocalParametersI4uivNV)
  glProgramLocalParametersI4uivNV(target, index, count, params);
  OGLM_CHECK_ERR("glProgramLocalParametersI4uivNV", )
#line 55806 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParametersI4uivNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramLocalParametersI4uivNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "target, index, count, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 27487 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramLocalParametersI4uivNV", )
  OGLM_AVAIL_CHECK(__glewProgramLocalParametersI4uivNV, glProgramLocalParametersI4uivNV)
  GLuint *params = OGLM_GET_VARARGS(params,3,GLuint,UV,count*4);
  glProgramLocalParametersI4uivNV((GLenum )target, (GLuint )index, (GLsizei )count, (const GLuint *)params);
  OGLM_CHECK_ERR("glProgramLocalParametersI4uivNV", free(params);)
  free(params);
#line 55833 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4dNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4dNV)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "id, len, name, x, y, z, w");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLsizei	len = (int)SvIV(ST(1))
;
	const GLubyte*        name = (const GLubyte *)SvPV_nolen(ST(2))
;
	GLdouble	x = (double)SvNV(ST(3))
;
	GLdouble	y = (double)SvNV(ST(4))
;
	GLdouble	z = (double)SvNV(ST(5))
;
	GLdouble	w = (double)SvNV(ST(6))
;
#line 27505 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramNamedParameter4dNV", )
  OGLM_AVAIL_CHECK(__glewProgramNamedParameter4dNV, glProgramNamedParameter4dNV)
  glProgramNamedParameter4dNV(id, len, name, x, y, z, w);
  OGLM_CHECK_ERR("glProgramNamedParameter4dNV", )
#line 55866 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4dvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4dvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "id, len, name, v");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLsizei	len = (int)SvIV(ST(1))
;
	const GLubyte*        name = (const GLubyte *)SvPV_nolen(ST(2))
;
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 27518 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramNamedParameter4dvNV", )
  OGLM_AVAIL_CHECK(__glewProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV)
  glProgramNamedParameter4dvNV(id, len, name, v);
  OGLM_CHECK_ERR("glProgramNamedParameter4dvNV", )
#line 55893 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4dvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4dvNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "id, len, name, ...");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLsizei	len = (int)SvIV(ST(1))
;
	const GLubyte*        name = (const GLubyte *)SvPV_nolen(ST(2))
;
#line 27530 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramNamedParameter4dvNV", )
  OGLM_AVAIL_CHECK(__glewProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV)
  GLdouble * v = OGLM_GET_VARARGS(v,3,GLdouble,NV,4);
  glProgramNamedParameter4dvNV((GLuint )id, (GLsizei )len, (const GLubyte* )name, (const GLdouble * )v);
  OGLM_CHECK_ERR("glProgramNamedParameter4dvNV", free(v);)
  free(v);
#line 55920 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4fNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4fNV)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "id, len, name, x, y, z, w");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLsizei	len = (int)SvIV(ST(1))
;
	const GLubyte*        name = (const GLubyte *)SvPV_nolen(ST(2))
;
	GLfloat	x = (float)SvNV(ST(3))
;
	GLfloat	y = (float)SvNV(ST(4))
;
	GLfloat	z = (float)SvNV(ST(5))
;
	GLfloat	w = (float)SvNV(ST(6))
;
#line 27548 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramNamedParameter4fNV", )
  OGLM_AVAIL_CHECK(__glewProgramNamedParameter4fNV, glProgramNamedParameter4fNV)
  glProgramNamedParameter4fNV(id, len, name, x, y, z, w);
  OGLM_CHECK_ERR("glProgramNamedParameter4fNV", )
#line 55953 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4fvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4fvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "id, len, name, v");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLsizei	len = (int)SvIV(ST(1))
;
	const GLubyte*        name = (const GLubyte *)SvPV_nolen(ST(2))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 27561 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramNamedParameter4fvNV", )
  OGLM_AVAIL_CHECK(__glewProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV)
  glProgramNamedParameter4fvNV(id, len, name, v);
  OGLM_CHECK_ERR("glProgramNamedParameter4fvNV", )
#line 55980 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4fvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramNamedParameter4fvNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "id, len, name, ...");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLsizei	len = (int)SvIV(ST(1))
;
	const GLubyte*        name = (const GLubyte *)SvPV_nolen(ST(2))
;
#line 27573 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramNamedParameter4fvNV", )
  OGLM_AVAIL_CHECK(__glewProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV)
  GLfloat * v = OGLM_GET_VARARGS(v,3,GLfloat,NV,4);
  glProgramNamedParameter4fvNV((GLuint )id, (GLsizei )len, (const GLubyte* )name, (const GLfloat * )v);
  OGLM_CHECK_ERR("glProgramNamedParameter4fvNV", free(v);)
  free(v);
#line 56007 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4dNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4dNV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, index, x, y, z, w");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLdouble	x = (double)SvNV(ST(2))
;
	GLdouble	y = (double)SvNV(ST(3))
;
	GLdouble	z = (double)SvNV(ST(4))
;
	GLdouble	w = (double)SvNV(ST(5))
;
#line 27590 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramParameter4dNV", )
  OGLM_AVAIL_CHECK(__glewProgramParameter4dNV, glProgramParameter4dNV)
  glProgramParameter4dNV(target, index, x, y, z, w);
  OGLM_CHECK_ERR("glProgramParameter4dNV", )
#line 56038 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4dvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4dvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 27602 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramParameter4dvNV", )
  OGLM_AVAIL_CHECK(__glewProgramParameter4dvNV, glProgramParameter4dvNV)
  glProgramParameter4dvNV(target, index, v);
  OGLM_CHECK_ERR("glProgramParameter4dvNV", )
#line 56063 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4dvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4dvNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, index, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 27613 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramParameter4dvNV", )
  OGLM_AVAIL_CHECK(__glewProgramParameter4dvNV, glProgramParameter4dvNV)
  GLdouble* v = OGLM_GET_VARARGS(v,2,GLdouble,NV,4);
  glProgramParameter4dvNV((GLenum )target, (GLuint )index, (const GLdouble* )v);
  OGLM_CHECK_ERR("glProgramParameter4dvNV", free(v);)
  free(v);
#line 56088 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4fNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4fNV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, index, x, y, z, w");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLfloat	x = (float)SvNV(ST(2))
;
	GLfloat	y = (float)SvNV(ST(3))
;
	GLfloat	z = (float)SvNV(ST(4))
;
	GLfloat	w = (float)SvNV(ST(5))
;
#line 27630 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramParameter4fNV", )
  OGLM_AVAIL_CHECK(__glewProgramParameter4fNV, glProgramParameter4fNV)
  glProgramParameter4fNV(target, index, x, y, z, w);
  OGLM_CHECK_ERR("glProgramParameter4fNV", )
#line 56119 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4fvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4fvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, index, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 27642 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramParameter4fvNV", )
  OGLM_AVAIL_CHECK(__glewProgramParameter4fvNV, glProgramParameter4fvNV)
  glProgramParameter4fvNV(target, index, v);
  OGLM_CHECK_ERR("glProgramParameter4fvNV", )
#line 56144 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4fvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramParameter4fvNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, index, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 27653 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramParameter4fvNV", )
  OGLM_AVAIL_CHECK(__glewProgramParameter4fvNV, glProgramParameter4fvNV)
  GLfloat* v = OGLM_GET_VARARGS(v,2,GLfloat,NV,4);
  glProgramParameter4fvNV((GLenum )target, (GLuint )index, (const GLfloat* )v);
  OGLM_CHECK_ERR("glProgramParameter4fvNV", free(v);)
  free(v);
#line 56169 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramParameteri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramParameteri)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "program, pname, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	value = (int)SvIV(ST(2))
;
#line 27670 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramParameteri", )
  OGLM_AVAIL_CHECK(__glewProgramParameteri, glProgramParameteri)
  glProgramParameteri(program, pname, value);
  OGLM_CHECK_ERR("glProgramParameteri", )
#line 56195 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramParameters4dvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramParameters4dvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, count, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 27683 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramParameters4dvNV", )
  OGLM_AVAIL_CHECK(__glewProgramParameters4dvNV, glProgramParameters4dvNV)
  glProgramParameters4dvNV(target, index, count, v);
  OGLM_CHECK_ERR("glProgramParameters4dvNV", )
#line 56222 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramParameters4dvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramParameters4dvNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "target, index, count, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 27695 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramParameters4dvNV", )
  OGLM_AVAIL_CHECK(__glewProgramParameters4dvNV, glProgramParameters4dvNV)
  GLdouble* v = OGLM_GET_VARARGS(v,3,GLdouble,NV,count*4);
  glProgramParameters4dvNV((GLenum )target, (GLuint )index, (GLsizei )count, (const GLdouble* )v);
  OGLM_CHECK_ERR("glProgramParameters4dvNV", free(v);)
  free(v);
#line 56249 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramParameters4fvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramParameters4fvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, index, count, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 27710 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramParameters4fvNV", )
  OGLM_AVAIL_CHECK(__glewProgramParameters4fvNV, glProgramParameters4fvNV)
  glProgramParameters4fvNV(target, index, count, v);
  OGLM_CHECK_ERR("glProgramParameters4fvNV", )
#line 56276 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramParameters4fvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramParameters4fvNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "target, index, count, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 27722 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramParameters4fvNV", )
  OGLM_AVAIL_CHECK(__glewProgramParameters4fvNV, glProgramParameters4fvNV)
  GLfloat* v = OGLM_GET_VARARGS(v,3,GLfloat,NV,count*4);
  glProgramParameters4fvNV((GLenum )target, (GLuint )index, (GLsizei )count, (const GLfloat* )v);
  OGLM_CHECK_ERR("glProgramParameters4fvNV", free(v);)
  free(v);
#line 56303 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramPathFragmentInputGenNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramPathFragmentInputGenNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, genMode, components, coeffs");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLenum	genMode = (int)SvIV(ST(2))
;
	GLint	components = (int)SvIV(ST(3))
;
	const GLfloat*	coeffs = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 27738 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramPathFragmentInputGenNV", )
  OGLM_AVAIL_CHECK(__glewProgramPathFragmentInputGenNV, glProgramPathFragmentInputGenNV)
  glProgramPathFragmentInputGenNV(program, location, genMode, components, coeffs);
  OGLM_CHECK_ERR("glProgramPathFragmentInputGenNV", )
#line 56332 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramStringARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramStringARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, format, len, string");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	format = (int)SvIV(ST(1))
;
	GLsizei	len = (int)SvIV(ST(2))
;
	const void *	string = INT2PTR(const void *,SvIV(ST(3)))
;
#line 27751 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramStringARB", )
  OGLM_AVAIL_CHECK(__glewProgramStringARB, glProgramStringARB)
  glProgramStringARB(target, format, len, string);
  OGLM_CHECK_ERR("glProgramStringARB", )
#line 56359 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1d)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, x");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLdouble	x = (double)SvNV(ST(2))
;
#line 27763 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1d", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1d, glProgramUniform1d)
  glProgramUniform1d(program, location, x);
  OGLM_CHECK_ERR("glProgramUniform1d", )
#line 56384 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 27776 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1dv, glProgramUniform1dv)
  glProgramUniform1dv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform1dv", )
#line 56411 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1dv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "program, location, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
#line 27787 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1dv, glProgramUniform1dv)
  GLsizei count = items-2;
  GLdouble* value = OGLM_GET_VARARGS(value,2,GLdouble,NV,count);
  glProgramUniform1dv((GLuint )program, (GLint )location, (GLsizei )count, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniform1dv", free(value);)
  free(value);
#line 56437 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, x");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLfloat	x = (float)SvNV(ST(2))
;
#line 27804 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1f", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1f, glProgramUniform1f)
  glProgramUniform1f(program, location, x);
  OGLM_CHECK_ERR("glProgramUniform1f", )
#line 56463 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 27819 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1fv, glProgramUniform1fv)
  glProgramUniform1fv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform1fv", )
#line 56491 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "program, location, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
#line 27832 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1fv, glProgramUniform1fv)
  GLsizei count = items-2;
  GLfloat* value = OGLM_GET_VARARGS(value,2,GLfloat,NV,count);
  glProgramUniform1fv((GLuint )program, (GLint )location, (GLsizei )count, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniform1fv", free(value);)
  free(value);
#line 56518 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, x");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint	x = (int)SvIV(ST(2))
;
#line 27849 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1i", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1i, glProgramUniform1i)
  glProgramUniform1i(program, location, x);
  OGLM_CHECK_ERR("glProgramUniform1i", )
#line 56544 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64ARB)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, x");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint64	x = (unsigned int)SvUV(ST(2))
;
#line 27861 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1i64ARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1i64ARB, glProgramUniform1i64ARB)
  glProgramUniform1i64ARB(program, location, x);
  OGLM_CHECK_ERR("glProgramUniform1i64ARB", )
#line 56569 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64NV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, x");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(2))
;
#line 27873 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1i64NV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1i64NV, glProgramUniform1i64NV)
  glProgramUniform1i64NV(program, location, x);
  OGLM_CHECK_ERR("glProgramUniform1i64NV", )
#line 56594 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint64*	value = INT2PTR(const GLint64 *,SvIV(ST(3)))
;
#line 27886 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1i64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1i64vARB, glProgramUniform1i64vARB)
  glProgramUniform1i64vARB(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform1i64vARB", )
#line 56621 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "program, location, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
#line 27897 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1i64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1i64vARB, glProgramUniform1i64vARB)
  GLsizei count = items-2;
  GLint64* value = OGLM_GET_VARARGS(value,2,GLint64,IV,count);
  glProgramUniform1i64vARB((GLuint )program, (GLint )location, (GLsizei )count, (const GLint64* )value);
  OGLM_CHECK_ERR("glProgramUniform1i64vARB", free(value);)
  free(value);
#line 56647 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint64EXT*	value = INT2PTR(const GLint64EXT *,SvIV(ST(3)))
;
#line 27913 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1i64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1i64vNV, glProgramUniform1i64vNV)
  glProgramUniform1i64vNV(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform1i64vNV", )
#line 56674 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "program, location, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
#line 27924 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1i64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1i64vNV, glProgramUniform1i64vNV)
  GLsizei count = items-2;
  GLint64EXT* value = OGLM_GET_VARARGS(value,2,GLint64EXT,IV,count);
  glProgramUniform1i64vNV((GLuint )program, (GLint )location, (GLsizei )count, (const GLint64EXT* )value);
  OGLM_CHECK_ERR("glProgramUniform1i64vNV", free(value);)
  free(value);
#line 56700 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint*	value = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 27942 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1iv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1iv, glProgramUniform1iv)
  glProgramUniform1iv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform1iv", )
#line 56728 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "program, location, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
#line 27955 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1iv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1iv, glProgramUniform1iv)
  GLsizei count = items-2;
  GLint* value = OGLM_GET_VARARGS(value,2,GLint,IV,count);
  glProgramUniform1iv((GLuint )program, (GLint )location, (GLsizei )count, (const GLint* )value);
  OGLM_CHECK_ERR("glProgramUniform1iv", free(value);)
  free(value);
#line 56755 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, x");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint	x = (unsigned int)SvUV(ST(2))
;
#line 27972 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1ui", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1ui, glProgramUniform1ui)
  glProgramUniform1ui(program, location, x);
  OGLM_CHECK_ERR("glProgramUniform1ui", )
#line 56781 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64ARB)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, x");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64	x = (unsigned int)SvUV(ST(2))
;
#line 27984 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1ui64ARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1ui64ARB, glProgramUniform1ui64ARB)
  glProgramUniform1ui64ARB(program, location, x);
  OGLM_CHECK_ERR("glProgramUniform1ui64ARB", )
#line 56806 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64NV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, x");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(2))
;
#line 27996 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1ui64NV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1ui64NV, glProgramUniform1ui64NV)
  glProgramUniform1ui64NV(program, location, x);
  OGLM_CHECK_ERR("glProgramUniform1ui64NV", )
#line 56831 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint64*	value = INT2PTR(const GLuint64 *,SvIV(ST(3)))
;
#line 28009 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1ui64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1ui64vARB, glProgramUniform1ui64vARB)
  glProgramUniform1ui64vARB(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform1ui64vARB", )
#line 56858 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "program, location, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
#line 28020 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1ui64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1ui64vARB, glProgramUniform1ui64vARB)
  GLsizei count = items-2;
  GLuint64* value = OGLM_GET_VARARGS(value,2,GLuint64,UV,count);
  glProgramUniform1ui64vARB((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint64* )value);
  OGLM_CHECK_ERR("glProgramUniform1ui64vARB", free(value);)
  free(value);
#line 56884 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint64EXT*	value = INT2PTR(const GLuint64EXT *,SvIV(ST(3)))
;
#line 28036 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1ui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1ui64vNV, glProgramUniform1ui64vNV)
  glProgramUniform1ui64vNV(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform1ui64vNV", )
#line 56911 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "program, location, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
#line 28047 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1ui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1ui64vNV, glProgramUniform1ui64vNV)
  GLsizei count = items-2;
  GLuint64EXT* value = OGLM_GET_VARARGS(value,2,GLuint64EXT,UV,count);
  glProgramUniform1ui64vNV((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint64EXT* )value);
  OGLM_CHECK_ERR("glProgramUniform1ui64vNV", free(value);)
  free(value);
#line 56937 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 28065 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1uiv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1uiv, glProgramUniform1uiv)
  glProgramUniform1uiv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform1uiv", )
#line 56965 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform1uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "program, location, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
#line 28078 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform1uiv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform1uiv, glProgramUniform1uiv)
  GLsizei count = items-2;
  GLuint* value = OGLM_GET_VARARGS(value,2,GLuint,UV,count);
  glProgramUniform1uiv((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint* )value);
  OGLM_CHECK_ERR("glProgramUniform1uiv", free(value);)
  free(value);
#line 56992 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2d)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, x, y");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLdouble	x = (double)SvNV(ST(2))
;
	GLdouble	y = (double)SvNV(ST(3))
;
#line 28094 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2d", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2d, glProgramUniform2d)
  glProgramUniform2d(program, location, x, y);
  OGLM_CHECK_ERR("glProgramUniform2d", )
#line 57019 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 28107 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2dv, glProgramUniform2dv)
  glProgramUniform2dv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform2dv", )
#line 57046 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28119 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2dv, glProgramUniform2dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*2);
  glProgramUniform2dv((GLuint )program, (GLint )location, (GLsizei )count, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniform2dv", free(value);)
  free(value);
#line 57073 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, x, y");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLfloat	x = (float)SvNV(ST(2))
;
	GLfloat	y = (float)SvNV(ST(3))
;
#line 28136 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2f", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2f, glProgramUniform2f)
  glProgramUniform2f(program, location, x, y);
  OGLM_CHECK_ERR("glProgramUniform2f", )
#line 57101 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 28151 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2fv, glProgramUniform2fv)
  glProgramUniform2fv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform2fv", )
#line 57129 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28165 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2fv, glProgramUniform2fv)
  GLfloat* value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*2);
  glProgramUniform2fv((GLuint )program, (GLint )location, (GLsizei )count, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniform2fv", free(value);)
  free(value);
#line 57157 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, x, y");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint	x = (int)SvIV(ST(2))
;
	GLint	y = (int)SvIV(ST(3))
;
#line 28182 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2i", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2i, glProgramUniform2i)
  glProgramUniform2i(program, location, x, y);
  OGLM_CHECK_ERR("glProgramUniform2i", )
#line 57185 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64ARB)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, x, y");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint64	x = (unsigned int)SvUV(ST(2))
;
	GLint64	y = (unsigned int)SvUV(ST(3))
;
#line 28195 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2i64ARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2i64ARB, glProgramUniform2i64ARB)
  glProgramUniform2i64ARB(program, location, x, y);
  OGLM_CHECK_ERR("glProgramUniform2i64ARB", )
#line 57212 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64NV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, x, y");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(2))
;
	GLint64EXT	y = (unsigned int)SvUV(ST(3))
;
#line 28208 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2i64NV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2i64NV, glProgramUniform2i64NV)
  glProgramUniform2i64NV(program, location, x, y);
  OGLM_CHECK_ERR("glProgramUniform2i64NV", )
#line 57239 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint64*	value = INT2PTR(const GLint64 *,SvIV(ST(3)))
;
#line 28221 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2i64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2i64vARB, glProgramUniform2i64vARB)
  glProgramUniform2i64vARB(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform2i64vARB", )
#line 57266 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28233 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2i64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2i64vARB, glProgramUniform2i64vARB)
  GLint64* value = OGLM_GET_VARARGS(value,3,GLint64,IV,count*2);
  glProgramUniform2i64vARB((GLuint )program, (GLint )location, (GLsizei )count, (const GLint64* )value);
  OGLM_CHECK_ERR("glProgramUniform2i64vARB", free(value);)
  free(value);
#line 57293 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint64EXT*	value = INT2PTR(const GLint64EXT *,SvIV(ST(3)))
;
#line 28248 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2i64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2i64vNV, glProgramUniform2i64vNV)
  glProgramUniform2i64vNV(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform2i64vNV", )
#line 57320 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28260 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2i64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2i64vNV, glProgramUniform2i64vNV)
  GLint64EXT* value = OGLM_GET_VARARGS(value,3,GLint64EXT,IV,count*2);
  glProgramUniform2i64vNV((GLuint )program, (GLint )location, (GLsizei )count, (const GLint64EXT* )value);
  OGLM_CHECK_ERR("glProgramUniform2i64vNV", free(value);)
  free(value);
#line 57347 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint*	value = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 28277 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2iv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2iv, glProgramUniform2iv)
  glProgramUniform2iv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform2iv", )
#line 57375 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28291 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2iv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2iv, glProgramUniform2iv)
  GLint* value = OGLM_GET_VARARGS(value,3,GLint,IV,count*2);
  glProgramUniform2iv((GLuint )program, (GLint )location, (GLsizei )count, (const GLint* )value);
  OGLM_CHECK_ERR("glProgramUniform2iv", free(value);)
  free(value);
#line 57403 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, x, y");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint	x = (unsigned int)SvUV(ST(2))
;
	GLuint	y = (unsigned int)SvUV(ST(3))
;
#line 28308 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2ui", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2ui, glProgramUniform2ui)
  glProgramUniform2ui(program, location, x, y);
  OGLM_CHECK_ERR("glProgramUniform2ui", )
#line 57431 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64ARB)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, x, y");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64	x = (unsigned int)SvUV(ST(2))
;
	GLuint64	y = (unsigned int)SvUV(ST(3))
;
#line 28321 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2ui64ARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2ui64ARB, glProgramUniform2ui64ARB)
  glProgramUniform2ui64ARB(program, location, x, y);
  OGLM_CHECK_ERR("glProgramUniform2ui64ARB", )
#line 57458 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64NV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, x, y");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(2))
;
	GLuint64EXT	y = (unsigned int)SvUV(ST(3))
;
#line 28334 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2ui64NV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2ui64NV, glProgramUniform2ui64NV)
  glProgramUniform2ui64NV(program, location, x, y);
  OGLM_CHECK_ERR("glProgramUniform2ui64NV", )
#line 57485 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint64*	value = INT2PTR(const GLuint64 *,SvIV(ST(3)))
;
#line 28347 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2ui64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2ui64vARB, glProgramUniform2ui64vARB)
  glProgramUniform2ui64vARB(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform2ui64vARB", )
#line 57512 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28359 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2ui64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2ui64vARB, glProgramUniform2ui64vARB)
  GLuint64* value = OGLM_GET_VARARGS(value,3,GLuint64,UV,count*2);
  glProgramUniform2ui64vARB((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint64* )value);
  OGLM_CHECK_ERR("glProgramUniform2ui64vARB", free(value);)
  free(value);
#line 57539 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint64EXT*	value = INT2PTR(const GLuint64EXT *,SvIV(ST(3)))
;
#line 28374 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2ui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2ui64vNV, glProgramUniform2ui64vNV)
  glProgramUniform2ui64vNV(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform2ui64vNV", )
#line 57566 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28386 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2ui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2ui64vNV, glProgramUniform2ui64vNV)
  GLuint64EXT* value = OGLM_GET_VARARGS(value,3,GLuint64EXT,UV,count*2);
  glProgramUniform2ui64vNV((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint64EXT* )value);
  OGLM_CHECK_ERR("glProgramUniform2ui64vNV", free(value);)
  free(value);
#line 57593 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 28403 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2uiv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2uiv, glProgramUniform2uiv)
  glProgramUniform2uiv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform2uiv", )
#line 57621 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform2uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28417 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform2uiv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform2uiv, glProgramUniform2uiv)
  GLuint* value = OGLM_GET_VARARGS(value,3,GLuint,UV,count*2);
  glProgramUniform2uiv((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint* )value);
  OGLM_CHECK_ERR("glProgramUniform2uiv", free(value);)
  free(value);
#line 57649 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3d)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, x, y, z");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLdouble	x = (double)SvNV(ST(2))
;
	GLdouble	y = (double)SvNV(ST(3))
;
	GLdouble	z = (double)SvNV(ST(4))
;
#line 28433 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3d", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3d, glProgramUniform3d)
  glProgramUniform3d(program, location, x, y, z);
  OGLM_CHECK_ERR("glProgramUniform3d", )
#line 57678 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 28446 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3dv, glProgramUniform3dv)
  glProgramUniform3dv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform3dv", )
#line 57705 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28458 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3dv, glProgramUniform3dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*3);
  glProgramUniform3dv((GLuint )program, (GLint )location, (GLsizei )count, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniform3dv", free(value);)
  free(value);
#line 57732 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, x, y, z");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLfloat	x = (float)SvNV(ST(2))
;
	GLfloat	y = (float)SvNV(ST(3))
;
	GLfloat	z = (float)SvNV(ST(4))
;
#line 28476 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3f", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3f, glProgramUniform3f)
  glProgramUniform3f(program, location, x, y, z);
  OGLM_CHECK_ERR("glProgramUniform3f", )
#line 57762 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 28491 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3fv, glProgramUniform3fv)
  glProgramUniform3fv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform3fv", )
#line 57790 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28505 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3fv, glProgramUniform3fv)
  GLfloat* value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*3);
  glProgramUniform3fv((GLuint )program, (GLint )location, (GLsizei )count, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniform3fv", free(value);)
  free(value);
#line 57818 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, x, y, z");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint	x = (int)SvIV(ST(2))
;
	GLint	y = (int)SvIV(ST(3))
;
	GLint	z = (int)SvIV(ST(4))
;
#line 28523 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3i", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3i, glProgramUniform3i)
  glProgramUniform3i(program, location, x, y, z);
  OGLM_CHECK_ERR("glProgramUniform3i", )
#line 57848 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64ARB)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, x, y, z");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint64	x = (unsigned int)SvUV(ST(2))
;
	GLint64	y = (unsigned int)SvUV(ST(3))
;
	GLint64	z = (unsigned int)SvUV(ST(4))
;
#line 28537 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3i64ARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3i64ARB, glProgramUniform3i64ARB)
  glProgramUniform3i64ARB(program, location, x, y, z);
  OGLM_CHECK_ERR("glProgramUniform3i64ARB", )
#line 57877 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64NV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, x, y, z");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(2))
;
	GLint64EXT	y = (unsigned int)SvUV(ST(3))
;
	GLint64EXT	z = (unsigned int)SvUV(ST(4))
;
#line 28551 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3i64NV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3i64NV, glProgramUniform3i64NV)
  glProgramUniform3i64NV(program, location, x, y, z);
  OGLM_CHECK_ERR("glProgramUniform3i64NV", )
#line 57906 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint64*	value = INT2PTR(const GLint64 *,SvIV(ST(3)))
;
#line 28564 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3i64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3i64vARB, glProgramUniform3i64vARB)
  glProgramUniform3i64vARB(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform3i64vARB", )
#line 57933 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28576 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3i64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3i64vARB, glProgramUniform3i64vARB)
  GLint64* value = OGLM_GET_VARARGS(value,3,GLint64,IV,count*3);
  glProgramUniform3i64vARB((GLuint )program, (GLint )location, (GLsizei )count, (const GLint64* )value);
  OGLM_CHECK_ERR("glProgramUniform3i64vARB", free(value);)
  free(value);
#line 57960 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint64EXT*	value = INT2PTR(const GLint64EXT *,SvIV(ST(3)))
;
#line 28591 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3i64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3i64vNV, glProgramUniform3i64vNV)
  glProgramUniform3i64vNV(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform3i64vNV", )
#line 57987 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28603 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3i64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3i64vNV, glProgramUniform3i64vNV)
  GLint64EXT* value = OGLM_GET_VARARGS(value,3,GLint64EXT,IV,count*3);
  glProgramUniform3i64vNV((GLuint )program, (GLint )location, (GLsizei )count, (const GLint64EXT* )value);
  OGLM_CHECK_ERR("glProgramUniform3i64vNV", free(value);)
  free(value);
#line 58014 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint*	value = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 28620 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3iv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3iv, glProgramUniform3iv)
  glProgramUniform3iv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform3iv", )
#line 58042 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28634 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3iv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3iv, glProgramUniform3iv)
  GLint* value = OGLM_GET_VARARGS(value,3,GLint,IV,count*3);
  glProgramUniform3iv((GLuint )program, (GLint )location, (GLsizei )count, (const GLint* )value);
  OGLM_CHECK_ERR("glProgramUniform3iv", free(value);)
  free(value);
#line 58070 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, x, y, z");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint	x = (unsigned int)SvUV(ST(2))
;
	GLuint	y = (unsigned int)SvUV(ST(3))
;
	GLuint	z = (unsigned int)SvUV(ST(4))
;
#line 28652 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3ui", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3ui, glProgramUniform3ui)
  glProgramUniform3ui(program, location, x, y, z);
  OGLM_CHECK_ERR("glProgramUniform3ui", )
#line 58100 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64ARB)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, x, y, z");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64	x = (unsigned int)SvUV(ST(2))
;
	GLuint64	y = (unsigned int)SvUV(ST(3))
;
	GLuint64	z = (unsigned int)SvUV(ST(4))
;
#line 28666 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3ui64ARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3ui64ARB, glProgramUniform3ui64ARB)
  glProgramUniform3ui64ARB(program, location, x, y, z);
  OGLM_CHECK_ERR("glProgramUniform3ui64ARB", )
#line 58129 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64NV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, x, y, z");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(2))
;
	GLuint64EXT	y = (unsigned int)SvUV(ST(3))
;
	GLuint64EXT	z = (unsigned int)SvUV(ST(4))
;
#line 28680 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3ui64NV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3ui64NV, glProgramUniform3ui64NV)
  glProgramUniform3ui64NV(program, location, x, y, z);
  OGLM_CHECK_ERR("glProgramUniform3ui64NV", )
#line 58158 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint64*	value = INT2PTR(const GLuint64 *,SvIV(ST(3)))
;
#line 28693 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3ui64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3ui64vARB, glProgramUniform3ui64vARB)
  glProgramUniform3ui64vARB(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform3ui64vARB", )
#line 58185 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28705 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3ui64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3ui64vARB, glProgramUniform3ui64vARB)
  GLuint64* value = OGLM_GET_VARARGS(value,3,GLuint64,UV,count*3);
  glProgramUniform3ui64vARB((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint64* )value);
  OGLM_CHECK_ERR("glProgramUniform3ui64vARB", free(value);)
  free(value);
#line 58212 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint64EXT*	value = INT2PTR(const GLuint64EXT *,SvIV(ST(3)))
;
#line 28720 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3ui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3ui64vNV, glProgramUniform3ui64vNV)
  glProgramUniform3ui64vNV(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform3ui64vNV", )
#line 58239 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28732 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3ui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3ui64vNV, glProgramUniform3ui64vNV)
  GLuint64EXT* value = OGLM_GET_VARARGS(value,3,GLuint64EXT,UV,count*3);
  glProgramUniform3ui64vNV((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint64EXT* )value);
  OGLM_CHECK_ERR("glProgramUniform3ui64vNV", free(value);)
  free(value);
#line 58266 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 28749 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3uiv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3uiv, glProgramUniform3uiv)
  glProgramUniform3uiv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform3uiv", )
#line 58294 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform3uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28763 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform3uiv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform3uiv, glProgramUniform3uiv)
  GLuint* value = OGLM_GET_VARARGS(value,3,GLuint,UV,count*3);
  glProgramUniform3uiv((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint* )value);
  OGLM_CHECK_ERR("glProgramUniform3uiv", free(value);)
  free(value);
#line 58322 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4d)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "program, location, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLdouble	x = (double)SvNV(ST(2))
;
	GLdouble	y = (double)SvNV(ST(3))
;
	GLdouble	z = (double)SvNV(ST(4))
;
	GLdouble	w = (double)SvNV(ST(5))
;
#line 28780 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4d", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4d, glProgramUniform4d)
  glProgramUniform4d(program, location, x, y, z, w);
  OGLM_CHECK_ERR("glProgramUniform4d", )
#line 58353 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 28793 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4dv, glProgramUniform4dv)
  glProgramUniform4dv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform4dv", )
#line 58380 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28805 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4dv, glProgramUniform4dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*4);
  glProgramUniform4dv((GLuint )program, (GLint )location, (GLsizei )count, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniform4dv", free(value);)
  free(value);
#line 58407 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "program, location, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLfloat	x = (float)SvNV(ST(2))
;
	GLfloat	y = (float)SvNV(ST(3))
;
	GLfloat	z = (float)SvNV(ST(4))
;
	GLfloat	w = (float)SvNV(ST(5))
;
#line 28824 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4f", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4f, glProgramUniform4f)
  glProgramUniform4f(program, location, x, y, z, w);
  OGLM_CHECK_ERR("glProgramUniform4f", )
#line 58439 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 28839 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4fv, glProgramUniform4fv)
  glProgramUniform4fv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform4fv", )
#line 58467 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28853 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4fv, glProgramUniform4fv)
  GLfloat* value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*4);
  glProgramUniform4fv((GLuint )program, (GLint )location, (GLsizei )count, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniform4fv", free(value);)
  free(value);
#line 58495 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "program, location, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint	x = (int)SvIV(ST(2))
;
	GLint	y = (int)SvIV(ST(3))
;
	GLint	z = (int)SvIV(ST(4))
;
	GLint	w = (int)SvIV(ST(5))
;
#line 28872 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4i", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4i, glProgramUniform4i)
  glProgramUniform4i(program, location, x, y, z, w);
  OGLM_CHECK_ERR("glProgramUniform4i", )
#line 58527 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64ARB)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "program, location, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint64	x = (unsigned int)SvUV(ST(2))
;
	GLint64	y = (unsigned int)SvUV(ST(3))
;
	GLint64	z = (unsigned int)SvUV(ST(4))
;
	GLint64	w = (unsigned int)SvUV(ST(5))
;
#line 28887 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4i64ARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4i64ARB, glProgramUniform4i64ARB)
  glProgramUniform4i64ARB(program, location, x, y, z, w);
  OGLM_CHECK_ERR("glProgramUniform4i64ARB", )
#line 58558 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64NV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "program, location, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(2))
;
	GLint64EXT	y = (unsigned int)SvUV(ST(3))
;
	GLint64EXT	z = (unsigned int)SvUV(ST(4))
;
	GLint64EXT	w = (unsigned int)SvUV(ST(5))
;
#line 28902 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4i64NV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4i64NV, glProgramUniform4i64NV)
  glProgramUniform4i64NV(program, location, x, y, z, w);
  OGLM_CHECK_ERR("glProgramUniform4i64NV", )
#line 58589 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint64*	value = INT2PTR(const GLint64 *,SvIV(ST(3)))
;
#line 28915 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4i64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4i64vARB, glProgramUniform4i64vARB)
  glProgramUniform4i64vARB(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform4i64vARB", )
#line 58616 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28927 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4i64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4i64vARB, glProgramUniform4i64vARB)
  GLint64* value = OGLM_GET_VARARGS(value,3,GLint64,IV,count*4);
  glProgramUniform4i64vARB((GLuint )program, (GLint )location, (GLsizei )count, (const GLint64* )value);
  OGLM_CHECK_ERR("glProgramUniform4i64vARB", free(value);)
  free(value);
#line 58643 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint64EXT*	value = INT2PTR(const GLint64EXT *,SvIV(ST(3)))
;
#line 28942 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4i64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4i64vNV, glProgramUniform4i64vNV)
  glProgramUniform4i64vNV(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform4i64vNV", )
#line 58670 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28954 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4i64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4i64vNV, glProgramUniform4i64vNV)
  GLint64EXT* value = OGLM_GET_VARARGS(value,3,GLint64EXT,IV,count*4);
  glProgramUniform4i64vNV((GLuint )program, (GLint )location, (GLsizei )count, (const GLint64EXT* )value);
  OGLM_CHECK_ERR("glProgramUniform4i64vNV", free(value);)
  free(value);
#line 58697 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLint*	value = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 28971 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4iv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4iv, glProgramUniform4iv)
  glProgramUniform4iv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform4iv", )
#line 58725 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 28985 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4iv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4iv, glProgramUniform4iv)
  GLint* value = OGLM_GET_VARARGS(value,3,GLint,IV,count*4);
  glProgramUniform4iv((GLuint )program, (GLint )location, (GLsizei )count, (const GLint* )value);
  OGLM_CHECK_ERR("glProgramUniform4iv", free(value);)
  free(value);
#line 58753 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "program, location, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint	x = (unsigned int)SvUV(ST(2))
;
	GLuint	y = (unsigned int)SvUV(ST(3))
;
	GLuint	z = (unsigned int)SvUV(ST(4))
;
	GLuint	w = (unsigned int)SvUV(ST(5))
;
#line 29004 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4ui", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4ui, glProgramUniform4ui)
  glProgramUniform4ui(program, location, x, y, z, w);
  OGLM_CHECK_ERR("glProgramUniform4ui", )
#line 58785 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64ARB)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "program, location, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64	x = (unsigned int)SvUV(ST(2))
;
	GLuint64	y = (unsigned int)SvUV(ST(3))
;
	GLuint64	z = (unsigned int)SvUV(ST(4))
;
	GLuint64	w = (unsigned int)SvUV(ST(5))
;
#line 29019 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4ui64ARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4ui64ARB, glProgramUniform4ui64ARB)
  glProgramUniform4ui64ARB(program, location, x, y, z, w);
  OGLM_CHECK_ERR("glProgramUniform4ui64ARB", )
#line 58816 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64NV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "program, location, x, y, z, w");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(2))
;
	GLuint64EXT	y = (unsigned int)SvUV(ST(3))
;
	GLuint64EXT	z = (unsigned int)SvUV(ST(4))
;
	GLuint64EXT	w = (unsigned int)SvUV(ST(5))
;
#line 29034 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4ui64NV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4ui64NV, glProgramUniform4ui64NV)
  glProgramUniform4ui64NV(program, location, x, y, z, w);
  OGLM_CHECK_ERR("glProgramUniform4ui64NV", )
#line 58847 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint64*	value = INT2PTR(const GLuint64 *,SvIV(ST(3)))
;
#line 29047 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4ui64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4ui64vARB, glProgramUniform4ui64vARB)
  glProgramUniform4ui64vARB(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform4ui64vARB", )
#line 58874 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 29059 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4ui64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4ui64vARB, glProgramUniform4ui64vARB)
  GLuint64* value = OGLM_GET_VARARGS(value,3,GLuint64,UV,count*4);
  glProgramUniform4ui64vARB((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint64* )value);
  OGLM_CHECK_ERR("glProgramUniform4ui64vARB", free(value);)
  free(value);
#line 58901 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint64EXT*	value = INT2PTR(const GLuint64EXT *,SvIV(ST(3)))
;
#line 29074 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4ui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4ui64vNV, glProgramUniform4ui64vNV)
  glProgramUniform4ui64vNV(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform4ui64vNV", )
#line 58928 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 29086 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4ui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4ui64vNV, glProgramUniform4ui64vNV)
  GLuint64EXT* value = OGLM_GET_VARARGS(value,3,GLuint64EXT,UV,count*4);
  glProgramUniform4ui64vNV((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint64EXT* )value);
  OGLM_CHECK_ERR("glProgramUniform4ui64vNV", free(value);)
  free(value);
#line 58955 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 29103 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4uiv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4uiv, glProgramUniform4uiv)
  glProgramUniform4uiv(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniform4uiv", )
#line 58983 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniform4uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "program, location, count, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
#line 29117 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniform4uiv", )
  OGLM_AVAIL_CHECK(__glewProgramUniform4uiv, glProgramUniform4uiv)
  GLuint* value = OGLM_GET_VARARGS(value,3,GLuint,UV,count*4);
  glProgramUniform4uiv((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint* )value);
  OGLM_CHECK_ERR("glProgramUniform4uiv", free(value);)
  free(value);
#line 59011 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64ARB)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64	value = (unsigned int)SvUV(ST(2))
;
#line 29133 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformHandleui64ARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniformHandleui64ARB, glProgramUniformHandleui64ARB)
  glProgramUniformHandleui64ARB(program, location, value);
  OGLM_CHECK_ERR("glProgramUniformHandleui64ARB", )
#line 59037 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64NV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64	value = (unsigned int)SvUV(ST(2))
;
#line 29145 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformHandleui64NV", )
  OGLM_AVAIL_CHECK(__glewProgramUniformHandleui64NV, glProgramUniformHandleui64NV)
  glProgramUniformHandleui64NV(program, location, value);
  OGLM_CHECK_ERR("glProgramUniformHandleui64NV", )
#line 59062 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64vARB_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, values");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint64*	values = INT2PTR(const GLuint64 *,SvIV(ST(3)))
;
#line 29160 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformHandleui64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniformHandleui64vARB, glProgramUniformHandleui64vARB)
  glProgramUniformHandleui64vARB(program, location, count, values);
  OGLM_CHECK_ERR("glProgramUniformHandleui64vARB", )
#line 59090 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64vARB_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "program, location, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
#line 29173 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformHandleui64vARB", )
  OGLM_AVAIL_CHECK(__glewProgramUniformHandleui64vARB, glProgramUniformHandleui64vARB)
  GLsizei count = items-2;
  GLuint64* values = OGLM_GET_VARARGS(values,2,GLuint64,UV,count);
  glProgramUniformHandleui64vARB((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint64* )values);
  OGLM_CHECK_ERR("glProgramUniformHandleui64vARB", free(values);)
  free(values);
#line 59117 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, values");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint64*	values = INT2PTR(const GLuint64 *,SvIV(ST(3)))
;
#line 29189 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformHandleui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniformHandleui64vNV, glProgramUniformHandleui64vNV)
  glProgramUniformHandleui64vNV(program, location, count, values);
  OGLM_CHECK_ERR("glProgramUniformHandleui64vNV", )
#line 59144 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformHandleui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "program, location, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
#line 29200 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformHandleui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniformHandleui64vNV, glProgramUniformHandleui64vNV)
  GLsizei count = items-2;
  GLuint64* values = OGLM_GET_VARARGS(values,2,GLuint64,UV,count);
  glProgramUniformHandleui64vNV((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint64* )values);
  OGLM_CHECK_ERR("glProgramUniformHandleui64vNV", free(values);)
  free(values);
#line 59170 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2dv_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(4)))
;
#line 29217 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2dv, glProgramUniformMatrix2dv)
  glProgramUniformMatrix2dv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2dv", )
#line 59199 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2dv_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29230 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2dv, glProgramUniformMatrix2dv)
  GLdouble* value = OGLM_GET_VARARGS(value,4,GLdouble,NV,count*4);
  glProgramUniformMatrix2dv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2dv", free(value);)
  free(value);
#line 59228 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 29248 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2fv, glProgramUniformMatrix2fv)
  glProgramUniformMatrix2fv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2fv", )
#line 59258 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29263 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2fv, glProgramUniformMatrix2fv)
  GLfloat* value = OGLM_GET_VARARGS(value,4,GLfloat,NV,count*4);
  glProgramUniformMatrix2fv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2fv", free(value);)
  free(value);
#line 59288 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x3dv_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(4)))
;
#line 29279 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2x3dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2x3dv, glProgramUniformMatrix2x3dv)
  glProgramUniformMatrix2x3dv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2x3dv", )
#line 59317 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x3dv_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29292 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2x3dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2x3dv, glProgramUniformMatrix2x3dv)
  GLdouble* value = OGLM_GET_VARARGS(value,4,GLdouble,NV,count*6);
  glProgramUniformMatrix2x3dv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2x3dv", free(value);)
  free(value);
#line 59346 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 29310 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2x3fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2x3fv, glProgramUniformMatrix2x3fv)
  glProgramUniformMatrix2x3fv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2x3fv", )
#line 59376 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29325 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2x3fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2x3fv, glProgramUniformMatrix2x3fv)
  GLfloat* value = OGLM_GET_VARARGS(value,4,GLfloat,NV,count*6);
  glProgramUniformMatrix2x3fv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2x3fv", free(value);)
  free(value);
#line 59406 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x4dv_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(4)))
;
#line 29341 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2x4dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2x4dv, glProgramUniformMatrix2x4dv)
  glProgramUniformMatrix2x4dv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2x4dv", )
#line 59435 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x4dv_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29354 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2x4dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2x4dv, glProgramUniformMatrix2x4dv)
  GLdouble* value = OGLM_GET_VARARGS(value,4,GLdouble,NV,count*8);
  glProgramUniformMatrix2x4dv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2x4dv", free(value);)
  free(value);
#line 59464 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x4fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 29372 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2x4fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2x4fv, glProgramUniformMatrix2x4fv)
  glProgramUniformMatrix2x4fv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2x4fv", )
#line 59494 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix2x4fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29387 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix2x4fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix2x4fv, glProgramUniformMatrix2x4fv)
  GLfloat* value = OGLM_GET_VARARGS(value,4,GLfloat,NV,count*8);
  glProgramUniformMatrix2x4fv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix2x4fv", free(value);)
  free(value);
#line 59524 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3dv_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(4)))
;
#line 29403 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3dv, glProgramUniformMatrix3dv)
  glProgramUniformMatrix3dv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3dv", )
#line 59553 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3dv_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29416 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3dv, glProgramUniformMatrix3dv)
  GLdouble* value = OGLM_GET_VARARGS(value,4,GLdouble,NV,count*9);
  glProgramUniformMatrix3dv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3dv", free(value);)
  free(value);
#line 59582 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 29434 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3fv, glProgramUniformMatrix3fv)
  glProgramUniformMatrix3fv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3fv", )
#line 59612 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29449 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3fv, glProgramUniformMatrix3fv)
  GLfloat* value = OGLM_GET_VARARGS(value,4,GLfloat,NV,count*9);
  glProgramUniformMatrix3fv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3fv", free(value);)
  free(value);
#line 59642 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x2dv_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(4)))
;
#line 29465 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3x2dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3x2dv, glProgramUniformMatrix3x2dv)
  glProgramUniformMatrix3x2dv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3x2dv", )
#line 59671 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x2dv_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29478 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3x2dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3x2dv, glProgramUniformMatrix3x2dv)
  GLdouble* value = OGLM_GET_VARARGS(value,4,GLdouble,NV,count*6);
  glProgramUniformMatrix3x2dv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3x2dv", free(value);)
  free(value);
#line 59700 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x2fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 29496 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3x2fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3x2fv, glProgramUniformMatrix3x2fv)
  glProgramUniformMatrix3x2fv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3x2fv", )
#line 59730 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x2fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29511 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3x2fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3x2fv, glProgramUniformMatrix3x2fv)
  GLfloat* value = OGLM_GET_VARARGS(value,4,GLfloat,NV,count*6);
  glProgramUniformMatrix3x2fv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3x2fv", free(value);)
  free(value);
#line 59760 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x4dv_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(4)))
;
#line 29527 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3x4dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3x4dv, glProgramUniformMatrix3x4dv)
  glProgramUniformMatrix3x4dv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3x4dv", )
#line 59789 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x4dv_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29540 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3x4dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3x4dv, glProgramUniformMatrix3x4dv)
  GLdouble* value = OGLM_GET_VARARGS(value,4,GLdouble,NV,count*12);
  glProgramUniformMatrix3x4dv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3x4dv", free(value);)
  free(value);
#line 59818 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x4fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 29558 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3x4fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3x4fv, glProgramUniformMatrix3x4fv)
  glProgramUniformMatrix3x4fv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3x4fv", )
#line 59848 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix3x4fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29573 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix3x4fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix3x4fv, glProgramUniformMatrix3x4fv)
  GLfloat* value = OGLM_GET_VARARGS(value,4,GLfloat,NV,count*12);
  glProgramUniformMatrix3x4fv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix3x4fv", free(value);)
  free(value);
#line 59878 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4dv_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(4)))
;
#line 29589 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4dv, glProgramUniformMatrix4dv)
  glProgramUniformMatrix4dv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4dv", )
#line 59907 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4dv_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29602 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4dv, glProgramUniformMatrix4dv)
  GLdouble* value = OGLM_GET_VARARGS(value,4,GLdouble,NV,count*16);
  glProgramUniformMatrix4dv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4dv", free(value);)
  free(value);
#line 59936 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 29620 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4fv, glProgramUniformMatrix4fv)
  glProgramUniformMatrix4fv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4fv", )
#line 59966 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29635 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4fv, glProgramUniformMatrix4fv)
  GLfloat* value = OGLM_GET_VARARGS(value,4,GLfloat,NV,count*16);
  glProgramUniformMatrix4fv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4fv", free(value);)
  free(value);
#line 59996 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x2dv_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(4)))
;
#line 29651 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4x2dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4x2dv, glProgramUniformMatrix4x2dv)
  glProgramUniformMatrix4x2dv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4x2dv", )
#line 60025 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x2dv_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29664 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4x2dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4x2dv, glProgramUniformMatrix4x2dv)
  GLdouble* value = OGLM_GET_VARARGS(value,4,GLdouble,NV,count*8);
  glProgramUniformMatrix4x2dv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4x2dv", free(value);)
  free(value);
#line 60054 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x2fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 29682 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4x2fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4x2fv, glProgramUniformMatrix4x2fv)
  glProgramUniformMatrix4x2fv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4x2fv", )
#line 60084 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x2fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29697 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4x2fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4x2fv, glProgramUniformMatrix4x2fv)
  GLfloat* value = OGLM_GET_VARARGS(value,4,GLfloat,NV,count*8);
  glProgramUniformMatrix4x2fv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4x2fv", free(value);)
  free(value);
#line 60114 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x3dv_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(4)))
;
#line 29713 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4x3dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4x3dv, glProgramUniformMatrix4x3dv)
  glProgramUniformMatrix4x3dv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4x3dv", )
#line 60143 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x3dv_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29726 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4x3dv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4x3dv, glProgramUniformMatrix4x3dv)
  GLdouble* value = OGLM_GET_VARARGS(value,4,GLdouble,NV,count*12);
  glProgramUniformMatrix4x3dv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4x3dv", free(value);)
  free(value);
#line 60172 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "program, location, count, transpose, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 29744 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4x3fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4x3fv, glProgramUniformMatrix4x3fv)
  glProgramUniformMatrix4x3fv(program, location, count, transpose, value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4x3fv", )
#line 60202 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformMatrix4x3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 4)
       croak_xs_usage(cv,  "program, location, count, transpose, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLboolean	transpose = (int)SvIV(ST(3))
;
#line 29759 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformMatrix4x3fv", )
  OGLM_AVAIL_CHECK(__glewProgramUniformMatrix4x3fv, glProgramUniformMatrix4x3fv)
  GLfloat* value = OGLM_GET_VARARGS(value,4,GLfloat,NV,count*12);
  glProgramUniformMatrix4x3fv((GLuint )program, (GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glProgramUniformMatrix4x3fv", free(value);)
  free(value);
#line 60232 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformui64NV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint64EXT	value = (unsigned int)SvUV(ST(2))
;
#line 29773 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformui64NV", )
  OGLM_AVAIL_CHECK(__glewProgramUniformui64NV, glProgramUniformui64NV)
  glProgramUniformui64NV(program, location, value);
  OGLM_CHECK_ERR("glProgramUniformui64NV", )
#line 60257 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, location, count, value");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint64EXT*	value = INT2PTR(const GLuint64EXT *,SvIV(ST(3)))
;
#line 29786 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniformui64vNV, glProgramUniformui64vNV)
  glProgramUniformui64vNV(program, location, count, value);
  OGLM_CHECK_ERR("glProgramUniformui64vNV", )
#line 60284 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramUniformui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramUniformui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "program, location, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
#line 29797 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramUniformui64vNV", )
  OGLM_AVAIL_CHECK(__glewProgramUniformui64vNV, glProgramUniformui64vNV)
  GLsizei count = items-2;
  GLuint64EXT* value = OGLM_GET_VARARGS(value,2,GLuint64EXT,UV,count);
  glProgramUniformui64vNV((GLuint )program, (GLint )location, (GLsizei )count, (const GLuint64EXT* )value);
  OGLM_CHECK_ERR("glProgramUniformui64vNV", free(value);)
  free(value);
#line 60310 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProgramVertexLimitNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProgramVertexLimitNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, limit");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	limit = (int)SvIV(ST(1))
;
#line 29811 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProgramVertexLimitNV", )
  OGLM_AVAIL_CHECK(__glewProgramVertexLimitNV, glProgramVertexLimitNV)
  glProgramVertexLimitNV(target, limit);
  OGLM_CHECK_ERR("glProgramVertexLimitNV", )
#line 60333 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glProvokingVertex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glProvokingVertex)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 29823 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glProvokingVertex", )
  OGLM_AVAIL_CHECK(__glewProvokingVertex, glProvokingVertex)
  glProvokingVertex(mode);
  OGLM_CHECK_ERR("glProvokingVertex", )
#line 60355 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPushAttrib); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPushAttrib)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLbitfield	mask = (int)SvIV(ST(0))
;
#line 29833 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPushAttrib", )
  glPushAttrib(mask);
  OGLM_CHECK_ERR("glPushAttrib", )
#line 60375 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPushClientAttrib); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPushClientAttrib)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLbitfield	mask = (int)SvIV(ST(0))
;
#line 29842 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPushClientAttrib", )
  glPushClientAttrib(mask);
  OGLM_CHECK_ERR("glPushClientAttrib", )
#line 60395 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPushClientAttribDefaultEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPushClientAttribDefaultEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLbitfield	mask = (int)SvIV(ST(0))
;
#line 29851 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPushClientAttribDefaultEXT", )
  OGLM_AVAIL_CHECK(__glewPushClientAttribDefaultEXT, glPushClientAttribDefaultEXT)
  glPushClientAttribDefaultEXT(mask);
  OGLM_CHECK_ERR("glPushClientAttribDefaultEXT", )
#line 60416 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPushDebugGroup); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPushDebugGroup)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "source, id, length, message");
    {
	GLenum	source = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
	GLsizei	length = (int)SvIV(ST(2))
;
	const GLchar *	message = (const GLchar *)SvPV_nolen(ST(3))
;
#line 29866 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPushDebugGroup", )
  OGLM_AVAIL_CHECK(__glewPushDebugGroup, glPushDebugGroup)
  glPushDebugGroup(source, id, length, message);
  OGLM_CHECK_ERR("glPushDebugGroup", )
#line 60444 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPushGroupMarkerEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPushGroupMarkerEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "length, marker");
    {
	GLsizei	length = (int)SvIV(ST(0))
;
	const GLchar*	marker = (const GLchar *)SvPV_nolen(ST(1))
;
#line 29877 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPushGroupMarkerEXT", )
  OGLM_AVAIL_CHECK(__glewPushGroupMarkerEXT, glPushGroupMarkerEXT)
  glPushGroupMarkerEXT(length, marker);
  OGLM_CHECK_ERR("glPushGroupMarkerEXT", )
#line 60467 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPushMatrix); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPushMatrix)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 29886 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPushMatrix", )
  glPushMatrix();
  OGLM_CHECK_ERR("glPushMatrix", )
#line 60485 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glPushName); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glPushName)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "name");
    {
	GLuint	name = (unsigned int)SvUV(ST(0))
;
#line 29895 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glPushName", )
  glPushName(name);
  OGLM_CHECK_ERR("glPushName", )
#line 60505 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glQueryCounter); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glQueryCounter)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "id, target");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
#line 29907 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glQueryCounter", )
  OGLM_AVAIL_CHECK(__glewQueryCounter, glQueryCounter)
  glQueryCounter(id, target);
  OGLM_CHECK_ERR("glQueryCounter", )
#line 60529 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glQueryCounterANGLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glQueryCounterANGLE)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, target");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
#line 29918 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glQueryCounterANGLE", )
  OGLM_AVAIL_CHECK(__glewQueryCounterANGLE, glQueryCounterANGLE)
  glQueryCounterANGLE(id, target);
  OGLM_CHECK_ERR("glQueryCounterANGLE", )
#line 60552 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glQueryObjectParameteruiAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glQueryObjectParameteruiAMD)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, id, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	id = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLuint	param = (unsigned int)SvUV(ST(3))
;
#line 29931 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glQueryObjectParameteruiAMD", )
  OGLM_AVAIL_CHECK(__glewQueryObjectParameteruiAMD, glQueryObjectParameteruiAMD)
  glQueryObjectParameteruiAMD(target, id, pname, param);
  OGLM_CHECK_ERR("glQueryObjectParameteruiAMD", )
#line 60579 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2d)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLdouble	x = (double)SvNV(ST(0))
;
	GLdouble	y = (double)SvNV(ST(1))
;
#line 29942 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2d", )
  glRasterPos2d(x, y);
  OGLM_CHECK_ERR("glRasterPos2d", )
#line 60601 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 29951 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2dv", )
  glRasterPos2dv(v);
  OGLM_CHECK_ERR("glRasterPos2dv", )
#line 60621 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 29959 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,2);
  glRasterPos2dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glRasterPos2dv", free(v);)
  free(v);
#line 60641 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2f)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLfloat	x = (float)SvNV(ST(0))
;
	GLfloat	y = (float)SvNV(ST(1))
;
#line 29971 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2f", )
  glRasterPos2f(x, y);
  OGLM_CHECK_ERR("glRasterPos2f", )
#line 60663 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 29980 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2fv", )
  glRasterPos2fv(v);
  OGLM_CHECK_ERR("glRasterPos2fv", )
#line 60683 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 29988 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,2);
  glRasterPos2fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glRasterPos2fv", free(v);)
  free(v);
#line 60703 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2i)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
#line 30000 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2i", )
  glRasterPos2i(x, y);
  OGLM_CHECK_ERR("glRasterPos2i", )
#line 60725 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 30009 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2iv", )
  glRasterPos2iv(v);
  OGLM_CHECK_ERR("glRasterPos2iv", )
#line 60745 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 30017 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,2);
  glRasterPos2iv((const GLint *)v);
  OGLM_CHECK_ERR("glRasterPos2iv", free(v);)
  free(v);
#line 60765 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLshort	x = (short)SvIV(ST(0))
;
	GLshort	y = (short)SvIV(ST(1))
;
#line 30029 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2s", )
  glRasterPos2s(x, y);
  OGLM_CHECK_ERR("glRasterPos2s", )
#line 60787 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 30038 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2sv", )
  glRasterPos2sv(v);
  OGLM_CHECK_ERR("glRasterPos2sv", )
#line 60807 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos2sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos2sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 30046 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos2sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,2);
  glRasterPos2sv((const GLshort *)v);
  OGLM_CHECK_ERR("glRasterPos2sv", free(v);)
  free(v);
#line 60827 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3d)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLdouble	x = (double)SvNV(ST(0))
;
	GLdouble	y = (double)SvNV(ST(1))
;
	GLdouble	z = (double)SvNV(ST(2))
;
#line 30059 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3d", )
  glRasterPos3d(x, y, z);
  OGLM_CHECK_ERR("glRasterPos3d", )
#line 60851 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 30068 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3dv", )
  glRasterPos3dv(v);
  OGLM_CHECK_ERR("glRasterPos3dv", )
#line 60871 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 30076 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,3);
  glRasterPos3dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glRasterPos3dv", free(v);)
  free(v);
#line 60891 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3f)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLfloat	x = (float)SvNV(ST(0))
;
	GLfloat	y = (float)SvNV(ST(1))
;
	GLfloat	z = (float)SvNV(ST(2))
;
#line 30089 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3f", )
  glRasterPos3f(x, y, z);
  OGLM_CHECK_ERR("glRasterPos3f", )
#line 60915 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 30098 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3fv", )
  glRasterPos3fv(v);
  OGLM_CHECK_ERR("glRasterPos3fv", )
#line 60935 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 30106 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,3);
  glRasterPos3fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glRasterPos3fv", free(v);)
  free(v);
#line 60955 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3i)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLint	z = (int)SvIV(ST(2))
;
#line 30119 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3i", )
  glRasterPos3i(x, y, z);
  OGLM_CHECK_ERR("glRasterPos3i", )
#line 60979 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 30128 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3iv", )
  glRasterPos3iv(v);
  OGLM_CHECK_ERR("glRasterPos3iv", )
#line 60999 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 30136 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,3);
  glRasterPos3iv((const GLint *)v);
  OGLM_CHECK_ERR("glRasterPos3iv", free(v);)
  free(v);
#line 61019 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLshort	x = (short)SvIV(ST(0))
;
	GLshort	y = (short)SvIV(ST(1))
;
	GLshort	z = (short)SvIV(ST(2))
;
#line 30149 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3s", )
  glRasterPos3s(x, y, z);
  OGLM_CHECK_ERR("glRasterPos3s", )
#line 61043 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 30158 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3sv", )
  glRasterPos3sv(v);
  OGLM_CHECK_ERR("glRasterPos3sv", )
#line 61063 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos3sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos3sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 30166 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos3sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,3);
  glRasterPos3sv((const GLshort *)v);
  OGLM_CHECK_ERR("glRasterPos3sv", free(v);)
  free(v);
#line 61083 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4d)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLdouble	x = (double)SvNV(ST(0))
;
	GLdouble	y = (double)SvNV(ST(1))
;
	GLdouble	z = (double)SvNV(ST(2))
;
	GLdouble	w = (double)SvNV(ST(3))
;
#line 30180 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4d", )
  glRasterPos4d(x, y, z, w);
  OGLM_CHECK_ERR("glRasterPos4d", )
#line 61109 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 30189 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4dv", )
  glRasterPos4dv(v);
  OGLM_CHECK_ERR("glRasterPos4dv", )
#line 61129 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 30197 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,4);
  glRasterPos4dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glRasterPos4dv", free(v);)
  free(v);
#line 61149 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4f)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLfloat	x = (float)SvNV(ST(0))
;
	GLfloat	y = (float)SvNV(ST(1))
;
	GLfloat	z = (float)SvNV(ST(2))
;
	GLfloat	w = (float)SvNV(ST(3))
;
#line 30211 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4f", )
  glRasterPos4f(x, y, z, w);
  OGLM_CHECK_ERR("glRasterPos4f", )
#line 61175 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 30220 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4fv", )
  glRasterPos4fv(v);
  OGLM_CHECK_ERR("glRasterPos4fv", )
#line 61195 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 30228 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,4);
  glRasterPos4fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glRasterPos4fv", free(v);)
  free(v);
#line 61215 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4i)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLint	z = (int)SvIV(ST(2))
;
	GLint	w = (int)SvIV(ST(3))
;
#line 30242 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4i", )
  glRasterPos4i(x, y, z, w);
  OGLM_CHECK_ERR("glRasterPos4i", )
#line 61241 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 30251 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4iv", )
  glRasterPos4iv(v);
  OGLM_CHECK_ERR("glRasterPos4iv", )
#line 61261 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 30259 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,4);
  glRasterPos4iv((const GLint *)v);
  OGLM_CHECK_ERR("glRasterPos4iv", free(v);)
  free(v);
#line 61281 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4s)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLshort	x = (short)SvIV(ST(0))
;
	GLshort	y = (short)SvIV(ST(1))
;
	GLshort	z = (short)SvIV(ST(2))
;
	GLshort	w = (short)SvIV(ST(3))
;
#line 30273 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4s", )
  glRasterPos4s(x, y, z, w);
  OGLM_CHECK_ERR("glRasterPos4s", )
#line 61307 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 30282 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4sv", )
  glRasterPos4sv(v);
  OGLM_CHECK_ERR("glRasterPos4sv", )
#line 61327 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterPos4sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterPos4sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 30290 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterPos4sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,4);
  glRasterPos4sv((const GLshort *)v);
  OGLM_CHECK_ERR("glRasterPos4sv", free(v);)
  free(v);
#line 61347 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRasterSamplesEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRasterSamplesEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "samples, fixedsamplelocations");
    {
	GLuint	samples = (unsigned int)SvUV(ST(0))
;
	GLboolean	fixedsamplelocations = (int)SvIV(ST(1))
;
#line 30302 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRasterSamplesEXT", )
  OGLM_AVAIL_CHECK(__glewRasterSamplesEXT, glRasterSamplesEXT)
  glRasterSamplesEXT(samples, fixedsamplelocations);
  OGLM_CHECK_ERR("glRasterSamplesEXT", )
#line 61370 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReadBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReadBuffer)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "src");
    {
	GLenum	src = (int)SvIV(ST(0))
;
#line 30312 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReadBuffer", )
  glReadBuffer(src);
  OGLM_CHECK_ERR("glReadBuffer", )
#line 61390 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReadBufferIndexedEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReadBufferIndexedEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "src, index");
    {
	GLenum	src = (int)SvIV(ST(0))
;
	GLint	index = (int)SvIV(ST(1))
;
#line 30322 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReadBufferIndexedEXT", )
  OGLM_AVAIL_CHECK(__glewReadBufferIndexedEXT, glReadBufferIndexedEXT)
  glReadBufferIndexedEXT(src, index);
  OGLM_CHECK_ERR("glReadBufferIndexedEXT", )
#line 61413 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReadBufferNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReadBufferNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 30332 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReadBufferNV", )
  OGLM_AVAIL_CHECK(__glewReadBufferNV, glReadBufferNV)
  glReadBufferNV(mode);
  OGLM_CHECK_ERR("glReadBufferNV", )
#line 61434 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReadBufferRegion); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReadBufferRegion)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "region, x, y, width, height");
    {
	GLuint	region = (unsigned int)SvUV(ST(0))
;
	GLint	x = (int)SvIV(ST(1))
;
	GLint	y = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 30346 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReadBufferRegion", )
  OGLM_AVAIL_CHECK(__glewReadBufferRegion, glReadBufferRegion)
  glReadBufferRegion(region, x, y, width, height);
  OGLM_CHECK_ERR("glReadBufferRegion", )
#line 61463 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReadPixels_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReadPixels_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "x, y, width, height, format, type, pixels");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLenum	type = (int)SvIV(ST(5))
;
	void *	pixels = INT2PTR(void *,SvIV(ST(6)))
;
#line 30362 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReadPixels", )
  glReadPixels(x, y, width, height, format, type, pixels);
  OGLM_CHECK_ERR("glReadPixels", )
#line 61495 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReadVideoPixelsSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReadVideoPixelsSUN_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "x, y, width, height, format, type, pixels");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLenum	type = (int)SvIV(ST(5))
;
	void*	pixels = INT2PTR(void *,SvIV(ST(6)))
;
#line 30377 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReadVideoPixelsSUN", )
  OGLM_AVAIL_CHECK(__glewReadVideoPixelsSUN, glReadVideoPixelsSUN)
  glReadVideoPixelsSUN(x, y, width, height, format, type, pixels);
  OGLM_CHECK_ERR("glReadVideoPixelsSUN", )
#line 61528 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReadnPixels_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReadnPixels_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 8)
       croak_xs_usage(cv,  "x, y, width, height, format, type, bufSize, data");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLenum	type = (int)SvIV(ST(5))
;
	GLsizei	bufSize = (int)SvIV(ST(6))
;
	void *	data = INT2PTR(void *,SvIV(ST(7)))
;
#line 30398 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReadnPixels", )
  OGLM_AVAIL_CHECK(__glewReadnPixels, glReadnPixels)
  glReadnPixels(x, y, width, height, format, type, bufSize, data);
  OGLM_CHECK_ERR("glReadnPixels", )
#line 61564 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRectd); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRectd)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x1, y1, x2, y2");
    {
	GLdouble	x1 = (double)SvNV(ST(0))
;
	GLdouble	y1 = (double)SvNV(ST(1))
;
	GLdouble	x2 = (double)SvNV(ST(2))
;
	GLdouble	y2 = (double)SvNV(ST(3))
;
#line 30411 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRectd", )
  glRectd(x1, y1, x2, y2);
  OGLM_CHECK_ERR("glRectd", )
#line 61590 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRectdv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRectdv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1, v2");
    {
	const GLdouble *	v1 = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
	const GLdouble *	v2 = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 30421 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRectdv", )
  glRectdv(v1, v2);
  OGLM_CHECK_ERR("glRectdv", )
#line 61612 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRectdv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRectdv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1SV, v2SV");
    {
	SV *	v1SV = ST(0)
;
	SV *	v2SV = ST(1)
;
#line 30431 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRectdv", )
  GLdouble *v1 = OGLM_GET_ARRAY(v1, GLdouble, NV, 2);
  GLdouble *v2 = OGLM_GET_ARRAY(v2, GLdouble, NV, 2);
  glRectdv((const GLdouble *)v1, (const GLdouble *)v2);
  OGLM_CHECK_ERR("glRectdv", free(v1);free(v2);)
  free(v1);free(v2);
#line 61637 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRectf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRectf)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x1, y1, x2, y2");
    {
	GLfloat	x1 = (float)SvNV(ST(0))
;
	GLfloat	y1 = (float)SvNV(ST(1))
;
	GLfloat	x2 = (float)SvNV(ST(2))
;
	GLfloat	y2 = (float)SvNV(ST(3))
;
#line 30446 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRectf", )
  glRectf(x1, y1, x2, y2);
  OGLM_CHECK_ERR("glRectf", )
#line 61663 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRectfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRectfv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1, v2");
    {
	const GLfloat *	v1 = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
	const GLfloat *	v2 = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 30456 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRectfv", )
  glRectfv(v1, v2);
  OGLM_CHECK_ERR("glRectfv", )
#line 61685 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRectfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRectfv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1SV, v2SV");
    {
	SV *	v1SV = ST(0)
;
	SV *	v2SV = ST(1)
;
#line 30466 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRectfv", )
  GLfloat *v1 = OGLM_GET_ARRAY(v1, GLfloat, NV, 2);
  GLfloat *v2 = OGLM_GET_ARRAY(v2, GLfloat, NV, 2);
  glRectfv((const GLfloat *)v1, (const GLfloat *)v2);
  OGLM_CHECK_ERR("glRectfv", free(v1);free(v2);)
  free(v1);free(v2);
#line 61710 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRecti); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRecti)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x1, y1, x2, y2");
    {
	GLint	x1 = (int)SvIV(ST(0))
;
	GLint	y1 = (int)SvIV(ST(1))
;
	GLint	x2 = (int)SvIV(ST(2))
;
	GLint	y2 = (int)SvIV(ST(3))
;
#line 30481 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRecti", )
  glRecti(x1, y1, x2, y2);
  OGLM_CHECK_ERR("glRecti", )
#line 61736 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRectiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRectiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1, v2");
    {
	const GLint *	v1 = INT2PTR(const GLint *,SvIV(ST(0)))
;
	const GLint *	v2 = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 30491 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRectiv", )
  glRectiv(v1, v2);
  OGLM_CHECK_ERR("glRectiv", )
#line 61758 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRectiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRectiv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1SV, v2SV");
    {
	SV *	v1SV = ST(0)
;
	SV *	v2SV = ST(1)
;
#line 30501 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRectiv", )
  GLint *v1 = OGLM_GET_ARRAY(v1, GLint, IV, 2);
  GLint *v2 = OGLM_GET_ARRAY(v2, GLint, IV, 2);
  glRectiv((const GLint *)v1, (const GLint *)v2);
  OGLM_CHECK_ERR("glRectiv", free(v1);free(v2);)
  free(v1);free(v2);
#line 61783 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRects); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRects)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x1, y1, x2, y2");
    {
	GLshort	x1 = (short)SvIV(ST(0))
;
	GLshort	y1 = (short)SvIV(ST(1))
;
	GLshort	x2 = (short)SvIV(ST(2))
;
	GLshort	y2 = (short)SvIV(ST(3))
;
#line 30516 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRects", )
  glRects(x1, y1, x2, y2);
  OGLM_CHECK_ERR("glRects", )
#line 61809 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRectsv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRectsv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1, v2");
    {
	const GLshort *	v1 = INT2PTR(const GLshort *,SvIV(ST(0)))
;
	const GLshort *	v2 = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 30526 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRectsv", )
  glRectsv(v1, v2);
  OGLM_CHECK_ERR("glRectsv", )
#line 61831 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRectsv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRectsv_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1SV, v2SV");
    {
	SV *	v1SV = ST(0)
;
	SV *	v2SV = ST(1)
;
#line 30536 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRectsv", )
  GLshort *v1 = OGLM_GET_ARRAY(v1, GLshort, IV, 2);
  GLshort *v2 = OGLM_GET_ARRAY(v2, GLshort, IV, 2);
  glRectsv((const GLshort *)v1, (const GLshort *)v2);
  OGLM_CHECK_ERR("glRectsv", free(v1);free(v2);)
  free(v1);free(v2);
#line 61856 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReferencePlaneSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReferencePlaneSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "equation");
    {
	const GLdouble*	equation = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 30548 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReferencePlaneSGIX", )
  OGLM_AVAIL_CHECK(__glewReferencePlaneSGIX, glReferencePlaneSGIX)
  glReferencePlaneSGIX(equation);
  OGLM_CHECK_ERR("glReferencePlaneSGIX", )
#line 61877 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReferencePlaneSGIX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReferencePlaneSGIX_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 30557 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReferencePlaneSGIX", )
  OGLM_AVAIL_CHECK(__glewReferencePlaneSGIX, glReferencePlaneSGIX)
  GLdouble* equation = OGLM_GET_VARARGS(equation,0,GLdouble,NV,4);
  glReferencePlaneSGIX((const GLdouble* )equation);
  OGLM_CHECK_ERR("glReferencePlaneSGIX", free(equation);)
  free(equation);
#line 61898 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReleaseKeyedMutexWin32EXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReleaseKeyedMutexWin32EXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "memory, key");
    {
	GLuint	memory = (unsigned int)SvUV(ST(0))
;
	GLuint64	key = (unsigned int)SvUV(ST(1))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 30570 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReleaseKeyedMutexWin32EXT", )
  OGLM_AVAIL_CHECK(__glewReleaseKeyedMutexWin32EXT, glReleaseKeyedMutexWin32EXT)
  RETVAL = glReleaseKeyedMutexWin32EXT(memory, key);
  OGLM_CHECK_ERR("glReleaseKeyedMutexWin32EXT", )
#line 61923 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glReleaseShaderCompiler); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReleaseShaderCompiler)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 30581 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReleaseShaderCompiler", )
  OGLM_AVAIL_CHECK(__glewReleaseShaderCompiler, glReleaseShaderCompiler)
  glReleaseShaderCompiler();
  OGLM_CHECK_ERR("glReleaseShaderCompiler", )
#line 61944 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRenderGpuMaskNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRenderGpuMaskNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLbitfield	mask = (int)SvIV(ST(0))
;
#line 30591 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRenderGpuMaskNV", )
  OGLM_AVAIL_CHECK(__glewRenderGpuMaskNV, glRenderGpuMaskNV)
  glRenderGpuMaskNV(mask);
  OGLM_CHECK_ERR("glRenderGpuMaskNV", )
#line 61965 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRenderMode); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRenderMode)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLint	RETVAL;
	dXSTARG;
#line 30601 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRenderMode", )
  RETVAL = glRenderMode(mode);
  OGLM_CHECK_ERR("glRenderMode", )
#line 61987 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorage)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, internalformat, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
#line 30617 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRenderbufferStorage", )
  OGLM_AVAIL_CHECK(__glewRenderbufferStorage, glRenderbufferStorage)
  glRenderbufferStorage(target, internalformat, width, height);
  OGLM_CHECK_ERR("glRenderbufferStorage", )
#line 62017 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisample); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisample)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, samples, internalformat, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 30634 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRenderbufferStorageMultisample", )
  OGLM_AVAIL_CHECK(__glewRenderbufferStorageMultisample, glRenderbufferStorageMultisample)
  glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
  OGLM_CHECK_ERR("glRenderbufferStorageMultisample", )
#line 62047 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisampleANGLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisampleANGLE)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, samples, internalformat, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 30648 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRenderbufferStorageMultisampleANGLE", )
  OGLM_AVAIL_CHECK(__glewRenderbufferStorageMultisampleANGLE, glRenderbufferStorageMultisampleANGLE)
  glRenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height);
  OGLM_CHECK_ERR("glRenderbufferStorageMultisampleANGLE", )
#line 62076 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisampleAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisampleAPPLE)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, samples, internalformat, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 30662 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRenderbufferStorageMultisampleAPPLE", )
  OGLM_AVAIL_CHECK(__glewRenderbufferStorageMultisampleAPPLE, glRenderbufferStorageMultisampleAPPLE)
  glRenderbufferStorageMultisampleAPPLE(target, samples, internalformat, width, height);
  OGLM_CHECK_ERR("glRenderbufferStorageMultisampleAPPLE", )
#line 62105 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisampleAdvancedAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisampleAdvancedAMD)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, samples, storageSamples, internalformat, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLsizei	storageSamples = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
#line 30677 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRenderbufferStorageMultisampleAdvancedAMD", )
  OGLM_AVAIL_CHECK(__glewRenderbufferStorageMultisampleAdvancedAMD, glRenderbufferStorageMultisampleAdvancedAMD)
  glRenderbufferStorageMultisampleAdvancedAMD(target, samples, storageSamples, internalformat, width, height);
  OGLM_CHECK_ERR("glRenderbufferStorageMultisampleAdvancedAMD", )
#line 62136 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisampleCoverageNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisampleCoverageNV)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, coverageSamples, colorSamples, internalformat, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	coverageSamples = (int)SvIV(ST(1))
;
	GLsizei	colorSamples = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
#line 30692 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRenderbufferStorageMultisampleCoverageNV", )
  OGLM_AVAIL_CHECK(__glewRenderbufferStorageMultisampleCoverageNV, glRenderbufferStorageMultisampleCoverageNV)
  glRenderbufferStorageMultisampleCoverageNV(target, coverageSamples, colorSamples, internalformat, width, height);
  OGLM_CHECK_ERR("glRenderbufferStorageMultisampleCoverageNV", )
#line 62167 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisampleIMG); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageMultisampleIMG)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, samples, internalformat, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 30706 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRenderbufferStorageMultisampleIMG", )
  OGLM_AVAIL_CHECK(__glewRenderbufferStorageMultisampleIMG, glRenderbufferStorageMultisampleIMG)
  glRenderbufferStorageMultisampleIMG(target, samples, internalformat, width, height);
  OGLM_CHECK_ERR("glRenderbufferStorageMultisampleIMG", )
#line 62196 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRenderbufferStorageOES)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, internalformat, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
#line 30719 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRenderbufferStorageOES", )
  OGLM_AVAIL_CHECK(__glewRenderbufferStorageOES, glRenderbufferStorageOES)
  glRenderbufferStorageOES(target, internalformat, width, height);
  OGLM_CHECK_ERR("glRenderbufferStorageOES", )
#line 62223 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodePointerSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodePointerSUN_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "type, stride, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(2)))
;
#line 30731 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodePointerSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodePointerSUN, glReplacementCodePointerSUN)
  glReplacementCodePointerSUN(type, stride, pointer);
  OGLM_CHECK_ERR("glReplacementCodePointerSUN", )
#line 62248 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeubSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeubSUN)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "code");
    {
	GLubyte	code = (unsigned int)SvUV(ST(0))
;
#line 30741 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeubSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeubSUN, glReplacementCodeubSUN)
  glReplacementCodeubSUN(code);
  OGLM_CHECK_ERR("glReplacementCodeubSUN", )
#line 62269 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeubvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeubvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "code");
    {
	const GLubyte*        code = (const GLubyte *)SvPV_nolen(ST(0))
;
#line 30751 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeubvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeubvSUN, glReplacementCodeubvSUN)
  glReplacementCodeubvSUN(code);
  OGLM_CHECK_ERR("glReplacementCodeubvSUN", )
#line 62290 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor3fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor3fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "rc, r, g, b, x, y, z");
    {
	GLuint	rc = (unsigned int)SvUV(ST(0))
;
	GLfloat	r = (float)SvNV(ST(1))
;
	GLfloat	g = (float)SvNV(ST(2))
;
	GLfloat	b = (float)SvNV(ST(3))
;
	GLfloat	x = (float)SvNV(ST(4))
;
	GLfloat	y = (float)SvNV(ST(5))
;
	GLfloat	z = (float)SvNV(ST(6))
;
#line 30767 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiColor3fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fSUN)
  glReplacementCodeuiColor3fVertex3fSUN(rc, r, g, b, x, y, z);
  OGLM_CHECK_ERR("glReplacementCodeuiColor3fVertex3fSUN", )
#line 62323 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor3fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor3fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "rc, c, v");
    {
	const GLuint*	rc = INT2PTR(const GLuint *,SvIV(ST(0)))
;
	const GLfloat *	c = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 30779 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiColor3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiColor3fVertex3fvSUN)
  glReplacementCodeuiColor3fVertex3fvSUN(rc, c, v);
  OGLM_CHECK_ERR("glReplacementCodeuiColor3fVertex3fvSUN", )
#line 62348 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor3fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor3fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "rcSV, cSV, vSV");
    {
	SV *	rcSV = ST(0)
;
	SV *	cSV = ST(1)
;
	SV *	vSV = ST(2)
;
#line 30791 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiColor3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiColor3fVertex3fvSUN)
  GLfloat *c = OGLM_GET_ARRAY(c, GLfloat, NV, 3);
  GLuint* rc = OGLM_GET_ARRAY(rc, GLuint, UV, 1);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glReplacementCodeuiColor3fVertex3fvSUN((const GLuint* )rc, (const GLfloat *)c, (const GLfloat *)v);
  OGLM_CHECK_ERR("glReplacementCodeuiColor3fVertex3fvSUN", free(c);free(rc);free(v);)
  free(c);free(rc);free(v);
#line 62377 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4fNormal3fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4fNormal3fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "rc, r, g, b, a, nx, ny, nz, x, y, z");
    {
	GLuint	rc = (unsigned int)SvUV(ST(0))
;
	GLfloat	r = (float)SvNV(ST(1))
;
	GLfloat	g = (float)SvNV(ST(2))
;
	GLfloat	b = (float)SvNV(ST(3))
;
	GLfloat	a = (float)SvNV(ST(4))
;
	GLfloat	nx = (float)SvNV(ST(5))
;
	GLfloat	ny = (float)SvNV(ST(6))
;
	GLfloat	nz = (float)SvNV(ST(7))
;
	GLfloat	x = (float)SvNV(ST(8))
;
	GLfloat	y = (float)SvNV(ST(9))
;
	GLfloat	z = (float)SvNV(ST(10))
;
#line 30815 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiColor4fNormal3fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN)
  glReplacementCodeuiColor4fNormal3fVertex3fSUN(rc, r, g, b, a, nx, ny, nz, x, y, z);
  OGLM_CHECK_ERR("glReplacementCodeuiColor4fNormal3fVertex3fSUN", )
#line 62418 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4fNormal3fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4fNormal3fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "rc, c, n, v");
    {
	const GLuint*	rc = INT2PTR(const GLuint *,SvIV(ST(0)))
;
	const GLfloat *	c = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
	const GLfloat *	n = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 30828 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiColor4fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN)
  glReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, n, v);
  OGLM_CHECK_ERR("glReplacementCodeuiColor4fNormal3fVertex3fvSUN", )
#line 62445 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4fNormal3fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4fNormal3fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "rcSV, cSV, nSV, vSV");
    {
	SV *	rcSV = ST(0)
;
	SV *	cSV = ST(1)
;
	SV *	nSV = ST(2)
;
	SV *	vSV = ST(3)
;
#line 30841 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiColor4fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN)
  GLfloat *c = OGLM_GET_ARRAY(c, GLfloat, NV, 4);
  GLfloat *n = OGLM_GET_ARRAY(n, GLfloat, NV, 3);
  GLuint* rc = OGLM_GET_ARRAY(rc, GLuint, UV, 1);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glReplacementCodeuiColor4fNormal3fVertex3fvSUN((const GLuint* )rc, (const GLfloat *)c, (const GLfloat *)n, (const GLfloat *)v);
  OGLM_CHECK_ERR("glReplacementCodeuiColor4fNormal3fVertex3fvSUN", free(c);free(n);free(rc);free(v);)
  free(c);free(n);free(rc);free(v);
#line 62477 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4ubVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4ubVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "rc, r, g, b, a, x, y, z");
    {
	GLuint	rc = (unsigned int)SvUV(ST(0))
;
	GLubyte	r = (unsigned int)SvUV(ST(1))
;
	GLubyte	g = (unsigned int)SvUV(ST(2))
;
	GLubyte	b = (unsigned int)SvUV(ST(3))
;
	GLubyte	a = (unsigned int)SvUV(ST(4))
;
	GLfloat	x = (float)SvNV(ST(5))
;
	GLfloat	y = (float)SvNV(ST(6))
;
	GLfloat	z = (float)SvNV(ST(7))
;
#line 30863 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiColor4ubVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fSUN)
  glReplacementCodeuiColor4ubVertex3fSUN(rc, r, g, b, a, x, y, z);
  OGLM_CHECK_ERR("glReplacementCodeuiColor4ubVertex3fSUN", )
#line 62512 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4ubVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4ubVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "rc, c, v");
    {
	const GLuint*	rc = INT2PTR(const GLuint *,SvIV(ST(0)))
;
	const GLubyte *        c = (const GLubyte *)SvPV_nolen(ST(1))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 30875 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiColor4ubVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fvSUN)
  glReplacementCodeuiColor4ubVertex3fvSUN(rc, c, v);
  OGLM_CHECK_ERR("glReplacementCodeuiColor4ubVertex3fvSUN", )
#line 62537 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4ubVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiColor4ubVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "rcSV, cSV, vSV");
    {
	SV *	rcSV = ST(0)
;
	SV *	cSV = ST(1)
;
	SV *	vSV = ST(2)
;
#line 30887 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiColor4ubVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fvSUN)
  GLubyte *c = OGLM_GET_ARRAY(c, GLubyte, UV, 4);
  GLuint* rc = OGLM_GET_ARRAY(rc, GLuint, UV, 1);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glReplacementCodeuiColor4ubVertex3fvSUN((const GLuint* )rc, (const GLubyte *)c, (const GLfloat *)v);
  OGLM_CHECK_ERR("glReplacementCodeuiColor4ubVertex3fvSUN", free(c);free(rc);free(v);)
  free(c);free(rc);free(v);
#line 62566 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiNormal3fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiNormal3fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "rc, nx, ny, nz, x, y, z");
    {
	GLuint	rc = (unsigned int)SvUV(ST(0))
;
	GLfloat	nx = (float)SvNV(ST(1))
;
	GLfloat	ny = (float)SvNV(ST(2))
;
	GLfloat	nz = (float)SvNV(ST(3))
;
	GLfloat	x = (float)SvNV(ST(4))
;
	GLfloat	y = (float)SvNV(ST(5))
;
	GLfloat	z = (float)SvNV(ST(6))
;
#line 30907 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiNormal3fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fSUN)
  glReplacementCodeuiNormal3fVertex3fSUN(rc, nx, ny, nz, x, y, z);
  OGLM_CHECK_ERR("glReplacementCodeuiNormal3fVertex3fSUN", )
#line 62599 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiNormal3fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiNormal3fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "rc, n, v");
    {
	const GLuint*	rc = INT2PTR(const GLuint *,SvIV(ST(0)))
;
	const GLfloat *	n = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 30919 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fvSUN)
  glReplacementCodeuiNormal3fVertex3fvSUN(rc, n, v);
  OGLM_CHECK_ERR("glReplacementCodeuiNormal3fVertex3fvSUN", )
#line 62624 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiNormal3fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiNormal3fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "rcSV, nSV, vSV");
    {
	SV *	rcSV = ST(0)
;
	SV *	nSV = ST(1)
;
	SV *	vSV = ST(2)
;
#line 30931 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fvSUN)
  GLfloat *n = OGLM_GET_ARRAY(n, GLfloat, NV, 3);
  GLuint* rc = OGLM_GET_ARRAY(rc, GLuint, UV, 1);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glReplacementCodeuiNormal3fVertex3fvSUN((const GLuint* )rc, (const GLfloat *)n, (const GLfloat *)v);
  OGLM_CHECK_ERR("glReplacementCodeuiNormal3fVertex3fvSUN", free(n);free(rc);free(v);)
  free(n);free(rc);free(v);
#line 62653 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiSUN)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "code");
    {
	GLuint	code = (unsigned int)SvUV(ST(0))
;
#line 30945 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiSUN, glReplacementCodeuiSUN)
  glReplacementCodeuiSUN(code);
  OGLM_CHECK_ERR("glReplacementCodeuiSUN", )
#line 62674 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 13)
       croak_xs_usage(cv,  "rc, s, t, r, g, b, a, nx, ny, nz, x, y, z");
    {
	GLuint	rc = (unsigned int)SvUV(ST(0))
;
	GLfloat	s = (float)SvNV(ST(1))
;
	GLfloat	t = (float)SvNV(ST(2))
;
	GLfloat	r = (float)SvNV(ST(3))
;
	GLfloat	g = (float)SvNV(ST(4))
;
	GLfloat	b = (float)SvNV(ST(5))
;
	GLfloat	a = (float)SvNV(ST(6))
;
	GLfloat	nx = (float)SvNV(ST(7))
;
	GLfloat	ny = (float)SvNV(ST(8))
;
	GLfloat	nz = (float)SvNV(ST(9))
;
	GLfloat	x = (float)SvNV(ST(10))
;
	GLfloat	y = (float)SvNV(ST(11))
;
	GLfloat	z = (float)SvNV(ST(12))
;
#line 30967 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)
  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(rc, s, t, r, g, b, a, nx, ny, nz, x, y, z);
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", )
#line 62719 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "rc, tc, c, n, v");
    {
	const GLuint*	rc = INT2PTR(const GLuint *,SvIV(ST(0)))
;
	const GLfloat *	tc = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
	const GLfloat *	c = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
	const GLfloat *	n = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(4)))
;
#line 30981 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)
  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, n, v);
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", )
#line 62748 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "rcSV, tcSV, cSV, nSV, vSV");
    {
	SV *	rcSV = ST(0)
;
	SV *	tcSV = ST(1)
;
	SV *	cSV = ST(2)
;
	SV *	nSV = ST(3)
;
	SV *	vSV = ST(4)
;
#line 30995 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)
  GLfloat *c = OGLM_GET_ARRAY(c, GLfloat, NV, 4);
  GLfloat *n = OGLM_GET_ARRAY(n, GLfloat, NV, 3);
  GLuint* rc = OGLM_GET_ARRAY(rc, GLuint, UV, 1);
  GLfloat *tc = OGLM_GET_ARRAY(tc, GLfloat, NV, 2);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((const GLuint* )rc, (const GLfloat *)tc, (const GLfloat *)c, (const GLfloat *)n, (const GLfloat *)v);
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", free(c);free(n);free(rc);free(tc);free(v);)
  free(c);free(n);free(rc);free(tc);free(v);
#line 62783 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "rc, s, t, nx, ny, nz, x, y, z");
    {
	GLuint	rc = (unsigned int)SvUV(ST(0))
;
	GLfloat	s = (float)SvNV(ST(1))
;
	GLfloat	t = (float)SvNV(ST(2))
;
	GLfloat	nx = (float)SvNV(ST(3))
;
	GLfloat	ny = (float)SvNV(ST(4))
;
	GLfloat	nz = (float)SvNV(ST(5))
;
	GLfloat	x = (float)SvNV(ST(6))
;
	GLfloat	y = (float)SvNV(ST(7))
;
	GLfloat	z = (float)SvNV(ST(8))
;
#line 31019 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)
  glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(rc, s, t, nx, ny, nz, x, y, z);
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", )
#line 62820 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "rc, tc, n, v");
    {
	const GLuint*	rc = INT2PTR(const GLuint *,SvIV(ST(0)))
;
	const GLfloat *	tc = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
	const GLfloat *	n = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 31032 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)
  glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, n, v);
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", )
#line 62847 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "rcSV, tcSV, nSV, vSV");
    {
	SV *	rcSV = ST(0)
;
	SV *	tcSV = ST(1)
;
	SV *	nSV = ST(2)
;
	SV *	vSV = ST(3)
;
#line 31045 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)
  GLfloat *n = OGLM_GET_ARRAY(n, GLfloat, NV, 3);
  GLuint* rc = OGLM_GET_ARRAY(rc, GLuint, UV, 1);
  GLfloat *tc = OGLM_GET_ARRAY(tc, GLfloat, NV, 2);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((const GLuint* )rc, (const GLfloat *)tc, (const GLfloat *)n, (const GLfloat *)v);
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", free(n);free(rc);free(tc);free(v);)
  free(n);free(rc);free(tc);free(v);
#line 62879 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "rc, s, t, x, y, z");
    {
	GLuint	rc = (unsigned int)SvUV(ST(0))
;
	GLfloat	s = (float)SvNV(ST(1))
;
	GLfloat	t = (float)SvNV(ST(2))
;
	GLfloat	x = (float)SvNV(ST(3))
;
	GLfloat	y = (float)SvNV(ST(4))
;
	GLfloat	z = (float)SvNV(ST(5))
;
#line 31065 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fSUN)
  glReplacementCodeuiTexCoord2fVertex3fSUN(rc, s, t, x, y, z);
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fVertex3fSUN", )
#line 62910 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "rc, tc, v");
    {
	const GLuint*	rc = INT2PTR(const GLuint *,SvIV(ST(0)))
;
	const GLfloat *	tc = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 31077 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN)
  glReplacementCodeuiTexCoord2fVertex3fvSUN(rc, tc, v);
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fVertex3fvSUN", )
#line 62935 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "rcSV, tcSV, vSV");
    {
	SV *	rcSV = ST(0)
;
	SV *	tcSV = ST(1)
;
	SV *	vSV = ST(2)
;
#line 31089 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN)
  GLuint* rc = OGLM_GET_ARRAY(rc, GLuint, UV, 1);
  GLfloat *tc = OGLM_GET_ARRAY(tc, GLfloat, NV, 2);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glReplacementCodeuiTexCoord2fVertex3fvSUN((const GLuint* )rc, (const GLfloat *)tc, (const GLfloat *)v);
  OGLM_CHECK_ERR("glReplacementCodeuiTexCoord2fVertex3fvSUN", free(rc);free(tc);free(v);)
  free(rc);free(tc);free(v);
#line 62964 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "rc, x, y, z");
    {
	GLuint	rc = (unsigned int)SvUV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
	GLfloat	z = (float)SvNV(ST(3))
;
#line 31106 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fSUN)
  glReplacementCodeuiVertex3fSUN(rc, x, y, z);
  OGLM_CHECK_ERR("glReplacementCodeuiVertex3fSUN", )
#line 62991 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "rc, v");
    {
	const GLuint*	rc = INT2PTR(const GLuint *,SvIV(ST(0)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 31117 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiVertex3fvSUN, glReplacementCodeuiVertex3fvSUN)
  glReplacementCodeuiVertex3fvSUN(rc, v);
  OGLM_CHECK_ERR("glReplacementCodeuiVertex3fvSUN", )
#line 63014 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuiVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "rcSV, vSV");
    {
	SV *	rcSV = ST(0)
;
	SV *	vSV = ST(1)
;
#line 31128 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuiVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuiVertex3fvSUN, glReplacementCodeuiVertex3fvSUN)
  GLuint* rc = OGLM_GET_ARRAY(rc, GLuint, UV, 1);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glReplacementCodeuiVertex3fvSUN((const GLuint* )rc, (const GLfloat *)v);
  OGLM_CHECK_ERR("glReplacementCodeuiVertex3fvSUN", free(rc);free(v);)
  free(rc);free(v);
#line 63040 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuivSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeuivSUN_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "code");
    {
	const GLuint*	code = INT2PTR(const GLuint *,SvIV(ST(0)))
;
#line 31141 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeuivSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeuivSUN, glReplacementCodeuivSUN)
  glReplacementCodeuivSUN(code);
  OGLM_CHECK_ERR("glReplacementCodeuivSUN", )
#line 63061 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeusSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeusSUN)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "code");
    {
	GLushort	code = (unsigned short)SvUV(ST(0))
;
#line 31151 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeusSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeusSUN, glReplacementCodeusSUN)
  glReplacementCodeusSUN(code);
  OGLM_CHECK_ERR("glReplacementCodeusSUN", )
#line 63082 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeusvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glReplacementCodeusvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "code");
    {
	const GLushort*	code = INT2PTR(const GLushort *,SvIV(ST(0)))
;
#line 31161 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glReplacementCodeusvSUN", )
  OGLM_AVAIL_CHECK(__glewReplacementCodeusvSUN, glReplacementCodeusvSUN)
  glReplacementCodeusvSUN(code);
  OGLM_CHECK_ERR("glReplacementCodeusvSUN", )
#line 63103 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRequestResidentProgramsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRequestResidentProgramsNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, programs");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	GLuint*	programs = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 31172 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRequestResidentProgramsNV", )
  OGLM_AVAIL_CHECK(__glewRequestResidentProgramsNV, glRequestResidentProgramsNV)
  glRequestResidentProgramsNV(n, programs);
  OGLM_CHECK_ERR("glRequestResidentProgramsNV", )
#line 63126 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRequestResidentProgramsNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRequestResidentProgramsNV_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "n");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	n = (int)SvIV(ST(0))
;
#line 31182 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRequestResidentProgramsNV", )
  OGLM_AVAIL_CHECK(__glewRequestResidentProgramsNV, glRequestResidentProgramsNV)
  GLuint* programs = OGLM_ALLOC(n,GLuint,programs);
  glRequestResidentProgramsNV(n, programs);
  OGLM_CHECK_ERR("glRequestResidentProgramsNV", free(programs);)
  OGLM_OUT_FINISH(programs,n,newSVuv)
  free(programs);
#line 63152 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glResetHistogram); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glResetHistogram)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 31197 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glResetHistogram", )
  OGLM_AVAIL_CHECK(__glewResetHistogram, glResetHistogram)
  glResetHistogram(target);
  OGLM_CHECK_ERR("glResetHistogram", )
#line 63175 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glResetMemoryObjectParameterNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glResetMemoryObjectParameterNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "memory, pname");
    {
	GLuint	memory = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 31208 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glResetMemoryObjectParameterNV", )
  OGLM_AVAIL_CHECK(__glewResetMemoryObjectParameterNV, glResetMemoryObjectParameterNV)
  glResetMemoryObjectParameterNV(memory, pname);
  OGLM_CHECK_ERR("glResetMemoryObjectParameterNV", )
#line 63198 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glResetMinmax); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glResetMinmax)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 31220 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glResetMinmax", )
  OGLM_AVAIL_CHECK(__glewResetMinmax, glResetMinmax)
  glResetMinmax(target);
  OGLM_CHECK_ERR("glResetMinmax", )
#line 63220 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glResizeBuffersMESA); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glResizeBuffersMESA)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 31229 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glResizeBuffersMESA", )
  OGLM_AVAIL_CHECK(__glewResizeBuffersMESA, glResizeBuffersMESA)
  glResizeBuffersMESA();
  OGLM_CHECK_ERR("glResizeBuffersMESA", )
#line 63239 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glResolveDepthValuesNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glResolveDepthValuesNV)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 31238 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glResolveDepthValuesNV", )
  OGLM_AVAIL_CHECK(__glewResolveDepthValuesNV, glResolveDepthValuesNV)
  glResolveDepthValuesNV();
  OGLM_CHECK_ERR("glResolveDepthValuesNV", )
#line 63258 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glResolveMultisampleFramebufferAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glResolveMultisampleFramebufferAPPLE)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 31247 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glResolveMultisampleFramebufferAPPLE", )
  OGLM_AVAIL_CHECK(__glewResolveMultisampleFramebufferAPPLE, glResolveMultisampleFramebufferAPPLE)
  glResolveMultisampleFramebufferAPPLE();
  OGLM_CHECK_ERR("glResolveMultisampleFramebufferAPPLE", )
#line 63277 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glResumeTransformFeedback); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glResumeTransformFeedback)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 31258 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glResumeTransformFeedback", )
  OGLM_AVAIL_CHECK(__glewResumeTransformFeedback, glResumeTransformFeedback)
  glResumeTransformFeedback();
  OGLM_CHECK_ERR("glResumeTransformFeedback", )
#line 63297 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRotated); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRotated)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "angle, x, y, z");
    {
	GLdouble	angle = (double)SvNV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
	GLdouble	z = (double)SvNV(ST(3))
;
#line 31271 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRotated", )
  glRotated(angle, x, y, z);
  OGLM_CHECK_ERR("glRotated", )
#line 63323 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRotatef); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRotatef)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "angle, x, y, z");
    {
	GLfloat	angle = (float)SvNV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
	GLfloat	z = (float)SvNV(ST(3))
;
#line 31283 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRotatef", )
  glRotatef(angle, x, y, z);
  OGLM_CHECK_ERR("glRotatef", )
#line 63349 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glRotatex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glRotatex)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "angle, x, y, z");
    {
	GLfixed	angle = (int)SvIV(ST(0))
;
	GLfixed	x = (int)SvIV(ST(1))
;
	GLfixed	y = (int)SvIV(ST(2))
;
	GLfixed	z = (int)SvIV(ST(3))
;
#line 31295 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glRotatex", )
  OGLM_AVAIL_CHECK(__glewRotatex, glRotatex)
  glRotatex(angle, x, y, z);
  OGLM_CHECK_ERR("glRotatex", )
#line 63376 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSampleCoverage); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSampleCoverage)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "value, invert");
    {
	GLclampf	value = (float)SvNV(ST(0))
;
	GLboolean	invert = (int)SvIV(ST(1))
;
#line 31308 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSampleCoverage", )
  OGLM_AVAIL_CHECK(__glewSampleCoverage, glSampleCoverage)
  glSampleCoverage(value, invert);
  OGLM_CHECK_ERR("glSampleCoverage", )
#line 63400 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSampleCoveragex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSampleCoveragex)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "value, invert");
    {
	GLclampx	value = (int)SvIV(ST(0))
;
	GLboolean	invert = (int)SvIV(ST(1))
;
#line 31319 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSampleCoveragex", )
  OGLM_AVAIL_CHECK(__glewSampleCoveragex, glSampleCoveragex)
  glSampleCoveragex(value, invert);
  OGLM_CHECK_ERR("glSampleCoveragex", )
#line 63423 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSampleMapATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSampleMapATI)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "dst, interp, swizzle");
    {
	GLuint	dst = (unsigned int)SvUV(ST(0))
;
	GLuint	interp = (unsigned int)SvUV(ST(1))
;
	GLenum	swizzle = (int)SvIV(ST(2))
;
#line 31331 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSampleMapATI", )
  OGLM_AVAIL_CHECK(__glewSampleMapATI, glSampleMapATI)
  glSampleMapATI(dst, interp, swizzle);
  OGLM_CHECK_ERR("glSampleMapATI", )
#line 63448 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSampleMaskEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSampleMaskEXT)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "value, invert");
    {
	GLclampf	value = (float)SvNV(ST(0))
;
	GLboolean	invert = (int)SvIV(ST(1))
;
#line 31344 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSampleMaskEXT", )
  OGLM_AVAIL_CHECK(__glewSampleMaskEXT, glSampleMaskEXT)
  glSampleMaskEXT(value, invert);
  OGLM_CHECK_ERR("glSampleMaskEXT", )
#line 63472 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSampleMaskIndexedNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSampleMaskIndexedNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, mask");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLbitfield	mask = (int)SvIV(ST(1))
;
#line 31355 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSampleMaskIndexedNV", )
  OGLM_AVAIL_CHECK(__glewSampleMaskIndexedNV, glSampleMaskIndexedNV)
  glSampleMaskIndexedNV(index, mask);
  OGLM_CHECK_ERR("glSampleMaskIndexedNV", )
#line 63495 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSampleMaski); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSampleMaski)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, mask");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLbitfield	mask = (int)SvIV(ST(1))
;
#line 31366 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSampleMaski", )
  OGLM_AVAIL_CHECK(__glewSampleMaski, glSampleMaski)
  glSampleMaski(index, mask);
  OGLM_CHECK_ERR("glSampleMaski", )
#line 63518 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplePatternEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplePatternEXT)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "pattern");
    {
	GLenum	pattern = (int)SvIV(ST(0))
;
#line 31378 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplePatternEXT", )
  OGLM_AVAIL_CHECK(__glewSamplePatternEXT, glSamplePatternEXT)
  glSamplePatternEXT(pattern);
  OGLM_CHECK_ERR("glSamplePatternEXT", )
#line 63540 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, param");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	param = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 31392 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameterIiv", )
  OGLM_AVAIL_CHECK(__glewSamplerParameterIiv, glSamplerParameterIiv)
  glSamplerParameterIiv(sampler, pname, param);
  OGLM_CHECK_ERR("glSamplerParameterIiv", )
#line 63566 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "sampler, pname, ...");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 31405 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameterIiv", )
  OGLM_AVAIL_CHECK(__glewSamplerParameterIiv, glSamplerParameterIiv)
  OGLM_SIZE_ENUM(SamplerParameterI,pname,1)
  GLint* param = OGLM_GET_VARARGS(param,2,GLint,IV,pname_count);
  glSamplerParameterIiv((GLuint )sampler, (GLenum )pname, (const GLint* )param);
  OGLM_CHECK_ERR("glSamplerParameterIiv", free(param);)
  free(param);
#line 63593 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIivOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, params");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 31420 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameterIivOES", )
  OGLM_AVAIL_CHECK(__glewSamplerParameterIivOES, glSamplerParameterIivOES)
  glSamplerParameterIivOES(sampler, pname, params);
  OGLM_CHECK_ERR("glSamplerParameterIivOES", )
#line 63618 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIuiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, param");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLuint*	param = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 31434 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameterIuiv", )
  OGLM_AVAIL_CHECK(__glewSamplerParameterIuiv, glSamplerParameterIuiv)
  glSamplerParameterIuiv(sampler, pname, param);
  OGLM_CHECK_ERR("glSamplerParameterIuiv", )
#line 63644 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIuiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "sampler, pname, ...");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 31447 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameterIuiv", )
  OGLM_AVAIL_CHECK(__glewSamplerParameterIuiv, glSamplerParameterIuiv)
  OGLM_SIZE_ENUM(SamplerParameterI,pname,1)
  GLuint* param = OGLM_GET_VARARGS(param,2,GLuint,UV,pname_count);
  glSamplerParameterIuiv((GLuint )sampler, (GLenum )pname, (const GLuint* )param);
  OGLM_CHECK_ERR("glSamplerParameterIuiv", free(param);)
  free(param);
#line 63671 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIuivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterIuivOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, params");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLuint*	params = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 31462 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameterIuivOES", )
  OGLM_AVAIL_CHECK(__glewSamplerParameterIuivOES, glSamplerParameterIuivOES)
  glSamplerParameterIuivOES(sampler, pname, params);
  OGLM_CHECK_ERR("glSamplerParameterIuivOES", )
#line 63696 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterf)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, param");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	param = (float)SvNV(ST(2))
;
#line 31474 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameterf", )
  OGLM_AVAIL_CHECK(__glewSamplerParameterf, glSamplerParameterf)
  glSamplerParameterf(sampler, pname, param);
  OGLM_CHECK_ERR("glSamplerParameterf", )
#line 63721 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, param");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	param = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 31486 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameterfv", )
  OGLM_AVAIL_CHECK(__glewSamplerParameterfv, glSamplerParameterfv)
  glSamplerParameterfv(sampler, pname, param);
  OGLM_CHECK_ERR("glSamplerParameterfv", )
#line 63746 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameterfv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "sampler, pname, ...");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 31497 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameterfv", )
  OGLM_AVAIL_CHECK(__glewSamplerParameterfv, glSamplerParameterfv)
  OGLM_SIZE_ENUM(SamplerParameterF,pname,1)
  GLfloat* param = OGLM_GET_VARARGS(param,2,GLfloat,NV,pname_count);
  glSamplerParameterfv((GLuint )sampler, (GLenum )pname, (const GLfloat* )param);
  OGLM_CHECK_ERR("glSamplerParameterfv", free(param);)
  free(param);
#line 63772 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameteri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameteri)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, param");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 31512 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameteri", )
  OGLM_AVAIL_CHECK(__glewSamplerParameteri, glSamplerParameteri)
  glSamplerParameteri(sampler, pname, param);
  OGLM_CHECK_ERR("glSamplerParameteri", )
#line 63797 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "sampler, pname, param");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	param = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 31524 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameteriv", )
  OGLM_AVAIL_CHECK(__glewSamplerParameteriv, glSamplerParameteriv)
  glSamplerParameteriv(sampler, pname, param);
  OGLM_CHECK_ERR("glSamplerParameteriv", )
#line 63822 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSamplerParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSamplerParameteriv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "sampler, pname, ...");
    {
	GLuint	sampler = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 31535 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSamplerParameteriv", )
  OGLM_AVAIL_CHECK(__glewSamplerParameteriv, glSamplerParameteriv)
  OGLM_SIZE_ENUM(SamplerParameterI,pname,1)
  GLint* param = OGLM_GET_VARARGS(param,2,GLint,IV,pname_count);
  glSamplerParameteriv((GLuint )sampler, (GLenum )pname, (const GLint* )param);
  OGLM_CHECK_ERR("glSamplerParameteriv", free(param);)
  free(param);
#line 63848 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScaled); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScaled)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLdouble	x = (double)SvNV(ST(0))
;
	GLdouble	y = (double)SvNV(ST(1))
;
	GLdouble	z = (double)SvNV(ST(2))
;
#line 31550 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScaled", )
  glScaled(x, y, z);
  OGLM_CHECK_ERR("glScaled", )
#line 63872 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScalef); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScalef)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLfloat	x = (float)SvNV(ST(0))
;
	GLfloat	y = (float)SvNV(ST(1))
;
	GLfloat	z = (float)SvNV(ST(2))
;
#line 31561 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScalef", )
  glScalef(x, y, z);
  OGLM_CHECK_ERR("glScalef", )
#line 63896 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScalex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScalex)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLfixed	x = (int)SvIV(ST(0))
;
	GLfixed	y = (int)SvIV(ST(1))
;
	GLfixed	z = (int)SvIV(ST(2))
;
#line 31572 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScalex", )
  OGLM_AVAIL_CHECK(__glewScalex, glScalex)
  glScalex(x, y, z);
  OGLM_CHECK_ERR("glScalex", )
#line 63921 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScissor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScissor)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, width, height");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
#line 31585 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScissor", )
  glScissor(x, y, width, height);
  OGLM_CHECK_ERR("glScissor", )
#line 63947 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScissorArrayv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScissorArrayv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "first, count, v");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 31598 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScissorArrayv", )
  OGLM_AVAIL_CHECK(__glewScissorArrayv, glScissorArrayv)
  glScissorArrayv(first, count, v);
  OGLM_CHECK_ERR("glScissorArrayv", )
#line 63973 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScissorArrayv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScissorArrayv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "first, ...");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
#line 31610 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScissorArrayv", )
  OGLM_AVAIL_CHECK(__glewScissorArrayv, glScissorArrayv)
  GLsizei count = items-1;
  GLint * v = OGLM_GET_VARARGS(v,1,GLint,IV,count);
  glScissorArrayv((GLuint )first, (GLsizei )count, (const GLint * )v);
  OGLM_CHECK_ERR("glScissorArrayv", free(v);)
  free(v);
#line 63998 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScissorExclusiveArrayvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScissorExclusiveArrayvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "first, count, v");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint*	v = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 31625 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScissorExclusiveArrayvNV", )
  OGLM_AVAIL_CHECK(__glewScissorExclusiveArrayvNV, glScissorExclusiveArrayvNV)
  glScissorExclusiveArrayvNV(first, count, v);
  OGLM_CHECK_ERR("glScissorExclusiveArrayvNV", )
#line 64023 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScissorExclusiveArrayvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScissorExclusiveArrayvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "first, ...");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
#line 31635 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScissorExclusiveArrayvNV", )
  OGLM_AVAIL_CHECK(__glewScissorExclusiveArrayvNV, glScissorExclusiveArrayvNV)
  GLsizei count = items-1;
  GLint* v = OGLM_GET_VARARGS(v,1,GLint,IV,count);
  glScissorExclusiveArrayvNV((GLuint )first, (GLsizei )count, (const GLint* )v);
  OGLM_CHECK_ERR("glScissorExclusiveArrayvNV", free(v);)
  free(v);
#line 64047 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScissorExclusiveNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScissorExclusiveNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, width, height");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
#line 31651 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScissorExclusiveNV", )
  OGLM_AVAIL_CHECK(__glewScissorExclusiveNV, glScissorExclusiveNV)
  glScissorExclusiveNV(x, y, width, height);
  OGLM_CHECK_ERR("glScissorExclusiveNV", )
#line 64074 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScissorIndexed); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScissorIndexed)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "index, left, bottom, width, height");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	left = (int)SvIV(ST(1))
;
	GLint	bottom = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 31667 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScissorIndexed", )
  OGLM_AVAIL_CHECK(__glewScissorIndexed, glScissorIndexed)
  glScissorIndexed(index, left, bottom, width, height);
  OGLM_CHECK_ERR("glScissorIndexed", )
#line 64104 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScissorIndexedv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScissorIndexedv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 31680 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScissorIndexedv", )
  OGLM_AVAIL_CHECK(__glewScissorIndexedv, glScissorIndexedv)
  glScissorIndexedv(index, v);
  OGLM_CHECK_ERR("glScissorIndexedv", )
#line 64128 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glScissorIndexedv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glScissorIndexedv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 31692 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glScissorIndexedv", )
  OGLM_AVAIL_CHECK(__glewScissorIndexedv, glScissorIndexedv)
  GLint * v = OGLM_GET_VARARGS(v,1,GLint,IV,4);
  glScissorIndexedv((GLuint )index, (const GLint * )v);
  OGLM_CHECK_ERR("glScissorIndexedv", free(v);)
  free(v);
#line 64152 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3b); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3b)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLbyte	red = (int)SvIV(ST(0))
;
	GLbyte	green = (int)SvIV(ST(1))
;
	GLbyte	blue = (int)SvIV(ST(2))
;
#line 31708 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3b", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3b, glSecondaryColor3b)
  glSecondaryColor3b(red, green, blue);
  OGLM_CHECK_ERR("glSecondaryColor3b", )
#line 64178 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3bv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3bv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLbyte *	v = INT2PTR(const GLbyte *,SvIV(ST(0)))
;
#line 31720 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3bv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3bv, glSecondaryColor3bv)
  glSecondaryColor3bv(v);
  OGLM_CHECK_ERR("glSecondaryColor3bv", )
#line 64200 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3bv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3bv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 31731 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3bv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3bv, glSecondaryColor3bv)
  GLbyte *v = OGLM_GET_VARARGS(v,0,GLbyte,IV,3);
  glSecondaryColor3bv((const GLbyte *)v);
  OGLM_CHECK_ERR("glSecondaryColor3bv", free(v);)
  free(v);
#line 64222 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLdouble	red = (double)SvNV(ST(0))
;
	GLdouble	green = (double)SvNV(ST(1))
;
	GLdouble	blue = (double)SvNV(ST(2))
;
#line 31747 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3d", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3d, glSecondaryColor3d)
  glSecondaryColor3d(red, green, blue);
  OGLM_CHECK_ERR("glSecondaryColor3d", )
#line 64248 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 31759 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3dv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3dv, glSecondaryColor3dv)
  glSecondaryColor3dv(v);
  OGLM_CHECK_ERR("glSecondaryColor3dv", )
#line 64270 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 31770 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3dv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3dv, glSecondaryColor3dv)
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,3);
  glSecondaryColor3dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glSecondaryColor3dv", free(v);)
  free(v);
#line 64292 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLfloat	red = (float)SvNV(ST(0))
;
	GLfloat	green = (float)SvNV(ST(1))
;
	GLfloat	blue = (float)SvNV(ST(2))
;
#line 31786 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3f", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3f, glSecondaryColor3f)
  glSecondaryColor3f(red, green, blue);
  OGLM_CHECK_ERR("glSecondaryColor3f", )
#line 64318 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 31798 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3fv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3fv, glSecondaryColor3fv)
  glSecondaryColor3fv(v);
  OGLM_CHECK_ERR("glSecondaryColor3fv", )
#line 64340 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 31809 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3fv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3fv, glSecondaryColor3fv)
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,3);
  glSecondaryColor3fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glSecondaryColor3fv", free(v);)
  free(v);
#line 64362 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3hNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLhalf	red = (float)SvNV(ST(0))
;
	GLhalf	green = (float)SvNV(ST(1))
;
	GLhalf	blue = (float)SvNV(ST(2))
;
#line 31823 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3hNV", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3hNV, glSecondaryColor3hNV)
  glSecondaryColor3hNV(red, green, blue);
  OGLM_CHECK_ERR("glSecondaryColor3hNV", )
#line 64387 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 31833 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3hvNV", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3hvNV, glSecondaryColor3hvNV)
  glSecondaryColor3hvNV(v);
  OGLM_CHECK_ERR("glSecondaryColor3hvNV", )
#line 64408 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3hvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 31842 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3hvNV", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3hvNV, glSecondaryColor3hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,0,GLhalf,NV,3);
  glSecondaryColor3hvNV((const GLhalf* )v);
  OGLM_CHECK_ERR("glSecondaryColor3hvNV", free(v);)
  free(v);
#line 64429 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLint	red = (int)SvIV(ST(0))
;
	GLint	green = (int)SvIV(ST(1))
;
	GLint	blue = (int)SvIV(ST(2))
;
#line 31858 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3i", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3i, glSecondaryColor3i)
  glSecondaryColor3i(red, green, blue);
  OGLM_CHECK_ERR("glSecondaryColor3i", )
#line 64455 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 31870 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3iv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3iv, glSecondaryColor3iv)
  glSecondaryColor3iv(v);
  OGLM_CHECK_ERR("glSecondaryColor3iv", )
#line 64477 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 31881 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3iv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3iv, glSecondaryColor3iv)
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,3);
  glSecondaryColor3iv((const GLint *)v);
  OGLM_CHECK_ERR("glSecondaryColor3iv", free(v);)
  free(v);
#line 64499 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3s)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLshort	red = (short)SvIV(ST(0))
;
	GLshort	green = (short)SvIV(ST(1))
;
	GLshort	blue = (short)SvIV(ST(2))
;
#line 31897 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3s", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3s, glSecondaryColor3s)
  glSecondaryColor3s(red, green, blue);
  OGLM_CHECK_ERR("glSecondaryColor3s", )
#line 64525 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 31909 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3sv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3sv, glSecondaryColor3sv)
  glSecondaryColor3sv(v);
  OGLM_CHECK_ERR("glSecondaryColor3sv", )
#line 64547 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 31920 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3sv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3sv, glSecondaryColor3sv)
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,3);
  glSecondaryColor3sv((const GLshort *)v);
  OGLM_CHECK_ERR("glSecondaryColor3sv", free(v);)
  free(v);
#line 64569 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3ub); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3ub)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLubyte	red = (unsigned int)SvUV(ST(0))
;
	GLubyte	green = (unsigned int)SvUV(ST(1))
;
	GLubyte	blue = (unsigned int)SvUV(ST(2))
;
#line 31936 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3ub", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3ub, glSecondaryColor3ub)
  glSecondaryColor3ub(red, green, blue);
  OGLM_CHECK_ERR("glSecondaryColor3ub", )
#line 64595 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3ubv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3ubv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLubyte *        v = (const GLubyte *)SvPV_nolen(ST(0))
;
#line 31948 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3ubv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3ubv, glSecondaryColor3ubv)
  glSecondaryColor3ubv(v);
  OGLM_CHECK_ERR("glSecondaryColor3ubv", )
#line 64617 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3ubv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3ubv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 31959 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3ubv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3ubv, glSecondaryColor3ubv)
  GLubyte *v = OGLM_GET_VARARGS(v,0,GLubyte,UV,3);
  glSecondaryColor3ubv((const GLubyte *)v);
  OGLM_CHECK_ERR("glSecondaryColor3ubv", free(v);)
  free(v);
#line 64639 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLuint	red = (unsigned int)SvUV(ST(0))
;
	GLuint	green = (unsigned int)SvUV(ST(1))
;
	GLuint	blue = (unsigned int)SvUV(ST(2))
;
#line 31975 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3ui", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3ui, glSecondaryColor3ui)
  glSecondaryColor3ui(red, green, blue);
  OGLM_CHECK_ERR("glSecondaryColor3ui", )
#line 64665 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLuint *	v = INT2PTR(const GLuint *,SvIV(ST(0)))
;
#line 31987 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3uiv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3uiv, glSecondaryColor3uiv)
  glSecondaryColor3uiv(v);
  OGLM_CHECK_ERR("glSecondaryColor3uiv", )
#line 64687 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 31998 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3uiv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3uiv, glSecondaryColor3uiv)
  GLuint *v = OGLM_GET_VARARGS(v,0,GLuint,UV,3);
  glSecondaryColor3uiv((const GLuint *)v);
  OGLM_CHECK_ERR("glSecondaryColor3uiv", free(v);)
  free(v);
#line 64709 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3us); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3us)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "red, green, blue");
    {
	GLushort	red = (unsigned short)SvUV(ST(0))
;
	GLushort	green = (unsigned short)SvUV(ST(1))
;
	GLushort	blue = (unsigned short)SvUV(ST(2))
;
#line 32014 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3us", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3us, glSecondaryColor3us)
  glSecondaryColor3us(red, green, blue);
  OGLM_CHECK_ERR("glSecondaryColor3us", )
#line 64735 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3usv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3usv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLushort *	v = INT2PTR(const GLushort *,SvIV(ST(0)))
;
#line 32026 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3usv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3usv, glSecondaryColor3usv)
  glSecondaryColor3usv(v);
  OGLM_CHECK_ERR("glSecondaryColor3usv", )
#line 64757 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3usv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColor3usv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 32037 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColor3usv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColor3usv, glSecondaryColor3usv)
  GLushort *v = OGLM_GET_VARARGS(v,0,GLushort,UV,3);
  glSecondaryColor3usv((const GLushort *)v);
  OGLM_CHECK_ERR("glSecondaryColor3usv", free(v);)
  free(v);
#line 64779 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorFormatNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorFormatNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "size, type, stride");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
#line 32051 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColorFormatNV", )
  OGLM_AVAIL_CHECK(__glewSecondaryColorFormatNV, glSecondaryColorFormatNV)
  glSecondaryColorFormatNV(size, type, stride);
  OGLM_CHECK_ERR("glSecondaryColorFormatNV", )
#line 64804 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorP3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorP3ui)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, color");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	color = (unsigned int)SvUV(ST(1))
;
#line 32062 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColorP3ui", )
  OGLM_AVAIL_CHECK(__glewSecondaryColorP3ui, glSecondaryColorP3ui)
  glSecondaryColorP3ui(type, color);
  OGLM_CHECK_ERR("glSecondaryColorP3ui", )
#line 64827 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorP3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorP3uiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, color");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLuint*	color = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 32073 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColorP3uiv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColorP3uiv, glSecondaryColorP3uiv)
  glSecondaryColorP3uiv(type, color);
  OGLM_CHECK_ERR("glSecondaryColorP3uiv", )
#line 64850 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorP3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorP3uiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
#line 32083 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColorP3uiv", )
  OGLM_AVAIL_CHECK(__glewSecondaryColorP3uiv, glSecondaryColorP3uiv)
  GLuint* color = OGLM_GET_VARARGS(color,1,GLuint,UV,1);
  glSecondaryColorP3uiv((GLenum )type, (const GLuint* )color);
  OGLM_CHECK_ERR("glSecondaryColorP3uiv", free(color);)
  free(color);
#line 64873 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorPointer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorPointer_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "size, type, stride, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(3)))
;
#line 32100 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColorPointer", )
  OGLM_AVAIL_CHECK(__glewSecondaryColorPointer, glSecondaryColorPointer)
  glSecondaryColorPointer(size, type, stride, pointer);
  OGLM_CHECK_ERR("glSecondaryColorPointer", )
#line 64901 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorPointerListIBM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSecondaryColorPointerListIBM_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "size, type, stride, pointer, ptrstride");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLint	stride = (int)SvIV(ST(2))
;
	const void**	pointer = INT2PTR(const void **,SvIV(ST(3)))
;
	GLint	ptrstride = (int)SvIV(ST(4))
;
#line 32114 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSecondaryColorPointerListIBM", )
  OGLM_AVAIL_CHECK(__glewSecondaryColorPointerListIBM, glSecondaryColorPointerListIBM)
  glSecondaryColorPointerListIBM(size, type, stride, pointer, ptrstride);
  OGLM_CHECK_ERR("glSecondaryColorPointerListIBM", )
#line 64930 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSelectBuffer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSelectBuffer_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, buffer");
    {
	GLsizei	size = (int)SvIV(ST(0))
;
	GLuint *	buffer = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 32125 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSelectBuffer", )
  glSelectBuffer(size, buffer);
  OGLM_CHECK_ERR("glSelectBuffer", )
#line 64952 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSelectBuffer_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSelectBuffer_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLsizei	size = (int)SvIV(ST(0))
;
#line 32134 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSelectBuffer", )
  GLuint *buffer = OGLM_ALLOC(size,GLuint,buffer);
  glSelectBuffer(size, buffer);
  OGLM_CHECK_ERR("glSelectBuffer", free(buffer);)
  OGLM_OUT_FINISH(buffer,size,newSVuv)
  free(buffer);
#line 64977 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glSelectPerfMonitorCountersAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSelectPerfMonitorCountersAMD_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "monitor, enable, group, numCounters, counterList");
    {
	GLuint	monitor = (unsigned int)SvUV(ST(0))
;
	GLboolean	enable = (int)SvIV(ST(1))
;
	GLuint	group = (unsigned int)SvUV(ST(2))
;
	GLint	numCounters = (int)SvIV(ST(3))
;
	GLuint*	counterList = INT2PTR(GLuint *,SvIV(ST(4)))
;
#line 32150 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSelectPerfMonitorCountersAMD", )
  OGLM_AVAIL_CHECK(__glewSelectPerfMonitorCountersAMD, glSelectPerfMonitorCountersAMD)
  glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList);
  OGLM_CHECK_ERR("glSelectPerfMonitorCountersAMD", )
#line 65007 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSelectPerfMonitorCountersAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSelectPerfMonitorCountersAMD_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "monitor, enable, group, numCounters");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLuint	monitor = (unsigned int)SvUV(ST(0))
;
	GLboolean	enable = (int)SvIV(ST(1))
;
	GLuint	group = (unsigned int)SvUV(ST(2))
;
	GLint	numCounters = (int)SvIV(ST(3))
;
#line 32163 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSelectPerfMonitorCountersAMD", )
  OGLM_AVAIL_CHECK(__glewSelectPerfMonitorCountersAMD, glSelectPerfMonitorCountersAMD)
  GLuint* counterList = OGLM_ALLOC(numCounters,GLuint,counterList);
  glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList);
  OGLM_CHECK_ERR("glSelectPerfMonitorCountersAMD", free(counterList);)
  OGLM_OUT_FINISH(counterList,numCounters,newSVuv)
  free(counterList);
#line 65039 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glSelectTextureCoordSetSGIS); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSelectTextureCoordSetSGIS)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 32176 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSelectTextureCoordSetSGIS", )
  OGLM_AVAIL_CHECK(__glewSelectTextureCoordSetSGIS, glSelectTextureCoordSetSGIS)
  glSelectTextureCoordSetSGIS(target);
  OGLM_CHECK_ERR("glSelectTextureCoordSetSGIS", )
#line 65061 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSelectTextureSGIS); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSelectTextureSGIS)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 32186 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSelectTextureSGIS", )
  OGLM_AVAIL_CHECK(__glewSelectTextureSGIS, glSelectTextureSGIS)
  glSelectTextureSGIS(target);
  OGLM_CHECK_ERR("glSelectTextureSGIS", )
#line 65082 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSelectTextureTransformSGIS); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSelectTextureTransformSGIS)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
#line 32196 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSelectTextureTransformSGIS", )
  OGLM_AVAIL_CHECK(__glewSelectTextureTransformSGIS, glSelectTextureTransformSGIS)
  glSelectTextureTransformSGIS(target);
  OGLM_CHECK_ERR("glSelectTextureTransformSGIS", )
#line 65103 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSemaphoreParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSemaphoreParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "semaphore, pname, params");
    {
	GLuint	semaphore = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 32208 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSemaphoreParameterivNV", )
  OGLM_AVAIL_CHECK(__glewSemaphoreParameterivNV, glSemaphoreParameterivNV)
  glSemaphoreParameterivNV(semaphore, pname, params);
  OGLM_CHECK_ERR("glSemaphoreParameterivNV", )
#line 65128 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSemaphoreParameterui64vEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSemaphoreParameterui64vEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "semaphore, pname, params");
    {
	GLuint	semaphore = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLuint64*	params = INT2PTR(const GLuint64 *,SvIV(ST(2)))
;
#line 32220 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSemaphoreParameterui64vEXT", )
  OGLM_AVAIL_CHECK(__glewSemaphoreParameterui64vEXT, glSemaphoreParameterui64vEXT)
  glSemaphoreParameterui64vEXT(semaphore, pname, params);
  OGLM_CHECK_ERR("glSemaphoreParameterui64vEXT", )
#line 65153 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSeparableFilter2D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSeparableFilter2D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 8)
       croak_xs_usage(cv,  "target, internalformat, width, height, format, type, row, column");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLenum	type = (int)SvIV(ST(5))
;
	const void *	row = INT2PTR(const void *,SvIV(ST(6)))
;
	const void *	column = INT2PTR(const void *,SvIV(ST(7)))
;
#line 32239 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSeparableFilter2D", )
  OGLM_AVAIL_CHECK(__glewSeparableFilter2D, glSeparableFilter2D)
  glSeparableFilter2D(target, internalformat, width, height, format, type, row, column);
  OGLM_CHECK_ERR("glSeparableFilter2D", )
#line 65189 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSetFenceAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSetFenceAPPLE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "fence");
    {
	GLuint	fence = (unsigned int)SvUV(ST(0))
;
#line 32249 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSetFenceAPPLE", )
  OGLM_AVAIL_CHECK(__glewSetFenceAPPLE, glSetFenceAPPLE)
  glSetFenceAPPLE(fence);
  OGLM_CHECK_ERR("glSetFenceAPPLE", )
#line 65210 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSetFenceNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSetFenceNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "fence, condition");
    {
	GLuint	fence = (unsigned int)SvUV(ST(0))
;
	GLenum	condition = (int)SvIV(ST(1))
;
#line 32260 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSetFenceNV", )
  OGLM_AVAIL_CHECK(__glewSetFenceNV, glSetFenceNV)
  glSetFenceNV(fence, condition);
  OGLM_CHECK_ERR("glSetFenceNV", )
#line 65233 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSetFragmentShaderConstantATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSetFragmentShaderConstantATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "dst, value");
    {
	GLuint	dst = (unsigned int)SvUV(ST(0))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 32271 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSetFragmentShaderConstantATI", )
  OGLM_AVAIL_CHECK(__glewSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI)
  glSetFragmentShaderConstantATI(dst, value);
  OGLM_CHECK_ERR("glSetFragmentShaderConstantATI", )
#line 65256 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSetFragmentShaderConstantATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSetFragmentShaderConstantATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "dst, ...");
    {
	GLuint	dst = (unsigned int)SvUV(ST(0))
;
#line 32281 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSetFragmentShaderConstantATI", )
  OGLM_AVAIL_CHECK(__glewSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI)
  GLfloat* value = OGLM_GET_VARARGS(value,1,GLfloat,NV,4);
  glSetFragmentShaderConstantATI((GLuint )dst, (const GLfloat* )value);
  OGLM_CHECK_ERR("glSetFragmentShaderConstantATI", free(value);)
  free(value);
#line 65279 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSetInvariantEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSetInvariantEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, type, addr");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	void *	addr = INT2PTR(void *,SvIV(ST(2)))
;
#line 32295 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSetInvariantEXT", )
  OGLM_AVAIL_CHECK(__glewSetInvariantEXT, glSetInvariantEXT)
  glSetInvariantEXT(id, type, addr);
  OGLM_CHECK_ERR("glSetInvariantEXT", )
#line 65304 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSetLocalConstantEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSetLocalConstantEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "id, type, addr");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	void *	addr = INT2PTR(void *,SvIV(ST(2)))
;
#line 32307 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSetLocalConstantEXT", )
  OGLM_AVAIL_CHECK(__glewSetLocalConstantEXT, glSetLocalConstantEXT)
  glSetLocalConstantEXT(id, type, addr);
  OGLM_CHECK_ERR("glSetLocalConstantEXT", )
#line 65329 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSetMultisamplefvAMD_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSetMultisamplefvAMD_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "pname, index, val");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	const GLfloat*	val = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 32319 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSetMultisamplefvAMD", )
  OGLM_AVAIL_CHECK(__glewSetMultisamplefvAMD, glSetMultisamplefvAMD)
  glSetMultisamplefvAMD(pname, index, val);
  OGLM_CHECK_ERR("glSetMultisamplefvAMD", )
#line 65354 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSetMultisamplefvAMD_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSetMultisamplefvAMD_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "pname, index, ...");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
#line 32330 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSetMultisamplefvAMD", )
  OGLM_AVAIL_CHECK(__glewSetMultisamplefvAMD, glSetMultisamplefvAMD)
  GLfloat* val = OGLM_GET_VARARGS(val,2,GLfloat,NV,2);
  glSetMultisamplefvAMD((GLenum )pname, (GLuint )index, (const GLfloat* )val);
  OGLM_CHECK_ERR("glSetMultisamplefvAMD", free(val);)
  free(val);
#line 65379 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShadeModel); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShadeModel)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 32342 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShadeModel", )
  glShadeModel(mode);
  OGLM_CHECK_ERR("glShadeModel", )
#line 65399 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShaderBinary_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShaderBinary_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "count, shaders, binaryFormat, binary, length");
    {
	GLsizei	count = (int)SvIV(ST(0))
;
	const GLuint*	shaders = INT2PTR(const GLuint *,SvIV(ST(1)))
;
	GLenum	binaryFormat = (int)SvIV(ST(2))
;
	const void*	binary = INT2PTR(const void *,SvIV(ST(3)))
;
	GLsizei	length = (int)SvIV(ST(4))
;
#line 32355 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShaderBinary", )
  OGLM_AVAIL_CHECK(__glewShaderBinary, glShaderBinary)
  glShaderBinary(count, shaders, binaryFormat, binary, length);
  OGLM_CHECK_ERR("glShaderBinary", )
#line 65428 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShaderOp1EXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShaderOp1EXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "op, res, arg1");
    {
	GLenum	op = (int)SvIV(ST(0))
;
	GLuint	res = (unsigned int)SvUV(ST(1))
;
	GLuint	arg1 = (unsigned int)SvUV(ST(2))
;
#line 32367 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShaderOp1EXT", )
  OGLM_AVAIL_CHECK(__glewShaderOp1EXT, glShaderOp1EXT)
  glShaderOp1EXT(op, res, arg1);
  OGLM_CHECK_ERR("glShaderOp1EXT", )
#line 65453 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShaderOp2EXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShaderOp2EXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "op, res, arg1, arg2");
    {
	GLenum	op = (int)SvIV(ST(0))
;
	GLuint	res = (unsigned int)SvUV(ST(1))
;
	GLuint	arg1 = (unsigned int)SvUV(ST(2))
;
	GLuint	arg2 = (unsigned int)SvUV(ST(3))
;
#line 32380 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShaderOp2EXT", )
  OGLM_AVAIL_CHECK(__glewShaderOp2EXT, glShaderOp2EXT)
  glShaderOp2EXT(op, res, arg1, arg2);
  OGLM_CHECK_ERR("glShaderOp2EXT", )
#line 65480 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShaderOp3EXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShaderOp3EXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "op, res, arg1, arg2, arg3");
    {
	GLenum	op = (int)SvIV(ST(0))
;
	GLuint	res = (unsigned int)SvUV(ST(1))
;
	GLuint	arg1 = (unsigned int)SvUV(ST(2))
;
	GLuint	arg2 = (unsigned int)SvUV(ST(3))
;
	GLuint	arg3 = (unsigned int)SvUV(ST(4))
;
#line 32394 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShaderOp3EXT", )
  OGLM_AVAIL_CHECK(__glewShaderOp3EXT, glShaderOp3EXT)
  glShaderOp3EXT(op, res, arg1, arg2, arg3);
  OGLM_CHECK_ERR("glShaderOp3EXT", )
#line 65509 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShaderSource_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShaderSource_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "shader, count, string, length");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLchar *const*	string = (const GLchar * const *)SvPV_nolen(ST(2))
;
	const GLint*	length = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 32407 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShaderSource", )
  OGLM_AVAIL_CHECK(__glewShaderSource, glShaderSource)
  glShaderSource(shader, count, string, length);
  OGLM_CHECK_ERR("glShaderSource", )
#line 65536 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShaderSource_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShaderSource_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "shader, ...");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
#line 32417 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShaderSource", )
  OGLM_AVAIL_CHECK(__glewShaderSource, glShaderSource)
  GLsizei count = items-1;
  GLint* length = NULL;
  GLchar ** string = OGLM_GET_VARARGS(string,1,GLchar*,PV_nolen,count);
  glShaderSource((GLuint )shader, (GLsizei )count, (const GLchar *const* )string, (const GLint* )length);
  OGLM_CHECK_ERR("glShaderSource", free(string);)
  free(string);
#line 65561 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShaderSourceARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShaderSourceARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "shader, count, string, length");
    {
	GLhandleARB	shader = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLcharARB **	string = (const GLcharARB **)SvPV_nolen(ST(2))
;
	const GLint *	length = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 32434 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShaderSourceARB", )
  OGLM_AVAIL_CHECK(__glewShaderSourceARB, glShaderSourceARB)
  glShaderSourceARB(shader, count, string, length);
  OGLM_CHECK_ERR("glShaderSourceARB", )
#line 65588 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShaderSourceARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShaderSourceARB_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "shader, ...");
    {
	GLhandleARB	shader = (unsigned int)SvUV(ST(0))
;
#line 32444 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShaderSourceARB", )
  OGLM_AVAIL_CHECK(__glewShaderSourceARB, glShaderSourceARB)
  GLsizei count = items-1;
  GLint *length = NULL;
  GLcharARB ** string = OGLM_GET_VARARGS(string,1,GLcharARB*,PV_nolen,count);
  glShaderSourceARB((GLhandleARB )shader, (GLsizei )count, (const GLcharARB ** )string, (const GLint *)length);
  OGLM_CHECK_ERR("glShaderSourceARB", free(string);)
  free(string);
#line 65613 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShaderStorageBlockBinding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShaderStorageBlockBinding)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, storageBlockIndex, storageBlockBinding");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	storageBlockIndex = (unsigned int)SvUV(ST(1))
;
	GLuint	storageBlockBinding = (unsigned int)SvUV(ST(2))
;
#line 32460 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShaderStorageBlockBinding", )
  OGLM_AVAIL_CHECK(__glewShaderStorageBlockBinding, glShaderStorageBlockBinding)
  glShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding);
  OGLM_CHECK_ERR("glShaderStorageBlockBinding", )
#line 65638 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShadingRateCombinerOpsEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShadingRateCombinerOpsEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "combinerOp0, combinerOp1");
    {
	GLenum	combinerOp0 = (int)SvIV(ST(0))
;
	GLenum	combinerOp1 = (int)SvIV(ST(1))
;
#line 32471 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShadingRateCombinerOpsEXT", )
  OGLM_AVAIL_CHECK(__glewShadingRateCombinerOpsEXT, glShadingRateCombinerOpsEXT)
  glShadingRateCombinerOpsEXT(combinerOp0, combinerOp1);
  OGLM_CHECK_ERR("glShadingRateCombinerOpsEXT", )
#line 65661 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShadingRateEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShadingRateEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "rate");
    {
	GLenum	rate = (int)SvIV(ST(0))
;
#line 32481 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShadingRateEXT", )
  OGLM_AVAIL_CHECK(__glewShadingRateEXT, glShadingRateEXT)
  glShadingRateEXT(rate);
  OGLM_CHECK_ERR("glShadingRateEXT", )
#line 65682 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShadingRateImageBarrierNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShadingRateImageBarrierNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "synchronize");
    {
	GLboolean	synchronize = (int)SvIV(ST(0))
;
#line 32491 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShadingRateImageBarrierNV", )
  OGLM_AVAIL_CHECK(__glewShadingRateImageBarrierNV, glShadingRateImageBarrierNV)
  glShadingRateImageBarrierNV(synchronize);
  OGLM_CHECK_ERR("glShadingRateImageBarrierNV", )
#line 65703 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShadingRateImagePaletteNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShadingRateImagePaletteNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "viewport, first, count, rates");
    {
	GLuint	viewport = (unsigned int)SvUV(ST(0))
;
	GLuint	first = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLenum*	rates = INT2PTR(const GLenum *,SvIV(ST(3)))
;
#line 32504 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShadingRateImagePaletteNV", )
  OGLM_AVAIL_CHECK(__glewShadingRateImagePaletteNV, glShadingRateImagePaletteNV)
  glShadingRateImagePaletteNV(viewport, first, count, rates);
  OGLM_CHECK_ERR("glShadingRateImagePaletteNV", )
#line 65730 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShadingRateImagePaletteNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShadingRateImagePaletteNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "viewport, first, ...");
    {
	GLuint	viewport = (unsigned int)SvUV(ST(0))
;
	GLuint	first = (unsigned int)SvUV(ST(1))
;
#line 32515 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShadingRateImagePaletteNV", )
  OGLM_AVAIL_CHECK(__glewShadingRateImagePaletteNV, glShadingRateImagePaletteNV)
  GLsizei count = items-2;
  GLenum* rates = OGLM_GET_VARARGS(rates,2,GLenum,IV,count);
  glShadingRateImagePaletteNV((GLuint )viewport, (GLuint )first, (GLsizei )count, (const GLenum* )rates);
  OGLM_CHECK_ERR("glShadingRateImagePaletteNV", free(rates);)
  free(rates);
#line 65756 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShadingRateQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShadingRateQCOM)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "rate");
    {
	GLenum	rate = (int)SvIV(ST(0))
;
#line 32528 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShadingRateQCOM", )
  OGLM_AVAIL_CHECK(__glewShadingRateQCOM, glShadingRateQCOM)
  glShadingRateQCOM(rate);
  OGLM_CHECK_ERR("glShadingRateQCOM", )
#line 65777 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShadingRateSampleOrderCustomNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShadingRateSampleOrderCustomNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "rate, samples, locations");
    {
	GLenum	rate = (int)SvIV(ST(0))
;
	GLuint	samples = (unsigned int)SvUV(ST(1))
;
	const GLint*	locations = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 32540 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShadingRateSampleOrderCustomNV", )
  OGLM_AVAIL_CHECK(__glewShadingRateSampleOrderCustomNV, glShadingRateSampleOrderCustomNV)
  glShadingRateSampleOrderCustomNV(rate, samples, locations);
  OGLM_CHECK_ERR("glShadingRateSampleOrderCustomNV", )
#line 65802 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glShadingRateSampleOrderNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glShadingRateSampleOrderNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "order");
    {
	GLenum	order = (int)SvIV(ST(0))
;
#line 32550 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glShadingRateSampleOrderNV", )
  OGLM_AVAIL_CHECK(__glewShadingRateSampleOrderNV, glShadingRateSampleOrderNV)
  glShadingRateSampleOrderNV(order);
  OGLM_CHECK_ERR("glShadingRateSampleOrderNV", )
#line 65823 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSharpenTexFuncSGIS_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSharpenTexFuncSGIS_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, n, points");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
	const GLfloat*	points = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 32562 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSharpenTexFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewSharpenTexFuncSGIS, glSharpenTexFuncSGIS)
  glSharpenTexFuncSGIS(target, n, points);
  OGLM_CHECK_ERR("glSharpenTexFuncSGIS", )
#line 65848 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSharpenTexFuncSGIS_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSharpenTexFuncSGIS_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, n, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
#line 32573 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSharpenTexFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewSharpenTexFuncSGIS, glSharpenTexFuncSGIS)
  GLfloat* points = OGLM_GET_VARARGS(points,2,GLfloat,NV,n*2);
  glSharpenTexFuncSGIS((GLenum )target, (GLsizei )n, (const GLfloat* )points);
  OGLM_CHECK_ERR("glSharpenTexFuncSGIS", free(points);)
  free(points);
#line 65873 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSignalSemaphoreEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSignalSemaphoreEXT_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, dstLayouts");
    {
	GLuint	semaphore = (unsigned int)SvUV(ST(0))
;
	GLuint	numBufferBarriers = (unsigned int)SvUV(ST(1))
;
	const GLuint*	buffers = INT2PTR(const GLuint *,SvIV(ST(2)))
;
	GLuint	numTextureBarriers = (unsigned int)SvUV(ST(3))
;
	const GLuint *	textures = INT2PTR(const GLuint *,SvIV(ST(4)))
;
	const GLenum *	dstLayouts = INT2PTR(const GLenum *,SvIV(ST(5)))
;
#line 32590 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSignalSemaphoreEXT", )
  OGLM_AVAIL_CHECK(__glewSignalSemaphoreEXT, glSignalSemaphoreEXT)
  glSignalSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, dstLayouts);
  OGLM_CHECK_ERR("glSignalSemaphoreEXT", )
#line 65904 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSignalSemaphoreui64NVX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSignalSemaphoreui64NVX_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "signalGpu, fenceObjectCount, semaphoreArray, fenceValueArray");
    {
	GLuint	signalGpu = (unsigned int)SvUV(ST(0))
;
	GLsizei	fenceObjectCount = (int)SvIV(ST(1))
;
	const GLuint*	semaphoreArray = INT2PTR(const GLuint *,SvIV(ST(2)))
;
	const GLuint64 *	fenceValueArray = INT2PTR(const GLuint64 *,SvIV(ST(3)))
;
#line 32603 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSignalSemaphoreui64NVX", )
  OGLM_AVAIL_CHECK(__glewSignalSemaphoreui64NVX, glSignalSemaphoreui64NVX)
  glSignalSemaphoreui64NVX(signalGpu, fenceObjectCount, semaphoreArray, fenceValueArray);
  OGLM_CHECK_ERR("glSignalSemaphoreui64NVX", )
#line 65931 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSignalSemaphoreui64NVX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSignalSemaphoreui64NVX_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "signalGpu, semaphoreArraySV, fenceValueArraySV");
    {
	GLuint	signalGpu = (unsigned int)SvUV(ST(0))
;
	SV *	semaphoreArraySV = ST(1)
;
	SV *	fenceValueArraySV = ST(2)
;
#line 32615 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSignalSemaphoreui64NVX", )
  OGLM_AVAIL_CHECK(__glewSignalSemaphoreui64NVX, glSignalSemaphoreui64NVX)
  GLsizei fenceObjectCount = OGLM_LEN_ARRAY(fenceObjectCount, semaphoreArray);
  GLuint64 *fenceValueArray = OGLM_GET_ARRAY(fenceValueArray, GLuint64, UV, fenceObjectCount);
  GLuint* semaphoreArray = OGLM_GET_ARRAY(semaphoreArray, GLuint, UV, fenceObjectCount);
  glSignalSemaphoreui64NVX((GLuint )signalGpu, (GLsizei )fenceObjectCount, (const GLuint* )semaphoreArray, (const GLuint64 *)fenceValueArray);
  OGLM_CHECK_ERR("glSignalSemaphoreui64NVX", free(fenceValueArray);free(semaphoreArray);)
  free(fenceValueArray);free(semaphoreArray);
#line 65960 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSignalVkFenceNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSignalVkFenceNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "vkFence");
    {
	GLuint64	vkFence = (unsigned int)SvUV(ST(0))
;
#line 32629 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSignalVkFenceNV", )
  OGLM_AVAIL_CHECK(__glewSignalVkFenceNV, glSignalVkFenceNV)
  glSignalVkFenceNV(vkFence);
  OGLM_CHECK_ERR("glSignalVkFenceNV", )
#line 65981 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSignalVkSemaphoreNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSignalVkSemaphoreNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "vkSemaphore");
    {
	GLuint64	vkSemaphore = (unsigned int)SvUV(ST(0))
;
#line 32639 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSignalVkSemaphoreNV", )
  OGLM_AVAIL_CHECK(__glewSignalVkSemaphoreNV, glSignalVkSemaphoreNV)
  glSignalVkSemaphoreNV(vkSemaphore);
  OGLM_CHECK_ERR("glSignalVkSemaphoreNV", )
#line 66002 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSpecializeShader_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSpecializeShader_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	const GLchar *	pEntryPoint = (const GLchar *)SvPV_nolen(ST(1))
;
	GLuint	numSpecializationConstants = (unsigned int)SvUV(ST(2))
;
	const GLuint *	pConstantIndex = INT2PTR(const GLuint *,SvIV(ST(3)))
;
	const GLuint *	pConstantValue = INT2PTR(const GLuint *,SvIV(ST(4)))
;
#line 32655 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSpecializeShader", )
  OGLM_AVAIL_CHECK(__glewSpecializeShader, glSpecializeShader)
  glSpecializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue);
  OGLM_CHECK_ERR("glSpecializeShader", )
#line 66032 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSpecializeShader_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSpecializeShader_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "shader, pEntryPoint, pConstantIndexSV, pConstantValueSV");
    {
	GLuint	shader = (unsigned int)SvUV(ST(0))
;
	const GLchar *	pEntryPoint = (const GLchar *)SvPV_nolen(ST(1))
;
	SV *	pConstantIndexSV = ST(2)
;
	SV *	pConstantValueSV = ST(3)
;
#line 32670 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSpecializeShader", )
  OGLM_AVAIL_CHECK(__glewSpecializeShader, glSpecializeShader)
  GLuint numSpecializationConstants = OGLM_LEN_ARRAY(numSpecializationConstants, pConstantIndex);
  GLuint *pConstantIndex = OGLM_GET_ARRAY(pConstantIndex, GLuint, UV, numSpecializationConstants);
  GLuint *pConstantValue = OGLM_GET_ARRAY(pConstantValue, GLuint, UV, numSpecializationConstants);
  glSpecializeShader((GLuint )shader, (const GLchar *)pEntryPoint, (GLuint )numSpecializationConstants, (const GLuint *)pConstantIndex, (const GLuint *)pConstantValue);
  OGLM_CHECK_ERR("glSpecializeShader", free(pConstantIndex);free(pConstantValue);)
  free(pConstantIndex);free(pConstantValue);
#line 66064 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSpriteParameterfSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSpriteParameterfSGIX)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 32685 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSpriteParameterfSGIX", )
  OGLM_AVAIL_CHECK(__glewSpriteParameterfSGIX, glSpriteParameterfSGIX)
  glSpriteParameterfSGIX(pname, param);
  OGLM_CHECK_ERR("glSpriteParameterfSGIX", )
#line 66087 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSpriteParameterfvSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSpriteParameterfvSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat*	params = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 32696 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSpriteParameterfvSGIX", )
  OGLM_AVAIL_CHECK(__glewSpriteParameterfvSGIX, glSpriteParameterfvSGIX)
  glSpriteParameterfvSGIX(pname, params);
  OGLM_CHECK_ERR("glSpriteParameterfvSGIX", )
#line 66110 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSpriteParameteriSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSpriteParameteriSGIX)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 32707 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSpriteParameteriSGIX", )
  OGLM_AVAIL_CHECK(__glewSpriteParameteriSGIX, glSpriteParameteriSGIX)
  glSpriteParameteriSGIX(pname, param);
  OGLM_CHECK_ERR("glSpriteParameteriSGIX", )
#line 66133 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSpriteParameterivSGIX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSpriteParameterivSGIX_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint*	params = INT2PTR(GLint *,SvIV(ST(1)))
;
#line 32718 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSpriteParameterivSGIX", )
  OGLM_AVAIL_CHECK(__glewSpriteParameterivSGIX, glSpriteParameterivSGIX)
  glSpriteParameterivSGIX(pname, params);
  OGLM_CHECK_ERR("glSpriteParameterivSGIX", )
#line 66156 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStartTilingQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStartTilingQCOM)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "x, y, width, height, preserveMask");
    {
	GLuint	x = (unsigned int)SvUV(ST(0))
;
	GLuint	y = (unsigned int)SvUV(ST(1))
;
	GLuint	width = (unsigned int)SvUV(ST(2))
;
	GLuint	height = (unsigned int)SvUV(ST(3))
;
	GLbitfield	preserveMask = (int)SvIV(ST(4))
;
#line 32732 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStartTilingQCOM", )
  OGLM_AVAIL_CHECK(__glewStartTilingQCOM, glStartTilingQCOM)
  glStartTilingQCOM(x, y, width, height, preserveMask);
  OGLM_CHECK_ERR("glStartTilingQCOM", )
#line 66185 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStateCaptureNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStateCaptureNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "state, mode");
    {
	GLuint	state = (unsigned int)SvUV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 32743 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStateCaptureNV", )
  OGLM_AVAIL_CHECK(__glewStateCaptureNV, glStateCaptureNV)
  glStateCaptureNV(state, mode);
  OGLM_CHECK_ERR("glStateCaptureNV", )
#line 66208 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilFillPathInstancedNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilFillPathInstancedNV_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues");
    {
	GLsizei	numPaths = (int)SvIV(ST(0))
;
	GLenum	pathNameType = (int)SvIV(ST(1))
;
	const void *	paths = INT2PTR(const void *,SvIV(ST(2)))
;
	GLuint	pathBase = (unsigned int)SvUV(ST(3))
;
	GLenum	fillMode = (int)SvIV(ST(4))
;
	GLuint	mask = (unsigned int)SvUV(ST(5))
;
	GLenum	transformType = (int)SvIV(ST(6))
;
	const GLfloat *	transformValues = INT2PTR(const GLfloat *,SvIV(ST(7)))
;
#line 32760 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilFillPathInstancedNV", )
  OGLM_AVAIL_CHECK(__glewStencilFillPathInstancedNV, glStencilFillPathInstancedNV)
  glStencilFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues);
  OGLM_CHECK_ERR("glStencilFillPathInstancedNV", )
#line 66243 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilFillPathNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilFillPathNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "path, fillMode, mask");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	fillMode = (int)SvIV(ST(1))
;
	GLuint	mask = (unsigned int)SvUV(ST(2))
;
#line 32772 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilFillPathNV", )
  OGLM_AVAIL_CHECK(__glewStencilFillPathNV, glStencilFillPathNV)
  glStencilFillPathNV(path, fillMode, mask);
  OGLM_CHECK_ERR("glStencilFillPathNV", )
#line 66268 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilFunc); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilFunc)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "func, ref, mask");
    {
	GLenum	func = (int)SvIV(ST(0))
;
	GLint	ref = (int)SvIV(ST(1))
;
	GLuint	mask = (unsigned int)SvUV(ST(2))
;
#line 32784 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilFunc", )
  glStencilFunc(func, ref, mask);
  OGLM_CHECK_ERR("glStencilFunc", )
#line 66292 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilFuncSeparate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilFuncSeparate)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "face, func, ref, mask");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	func = (int)SvIV(ST(1))
;
	GLint	ref = (int)SvIV(ST(2))
;
	GLuint	mask = (unsigned int)SvUV(ST(3))
;
#line 32796 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilFuncSeparate", )
  OGLM_AVAIL_CHECK(__glewStencilFuncSeparate, glStencilFuncSeparate)
  glStencilFuncSeparate(face, func, ref, mask);
  OGLM_CHECK_ERR("glStencilFuncSeparate", )
#line 66319 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilFuncSeparateATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilFuncSeparateATI)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "frontfunc, backfunc, ref, mask");
    {
	GLenum	frontfunc = (int)SvIV(ST(0))
;
	GLenum	backfunc = (int)SvIV(ST(1))
;
	GLint	ref = (int)SvIV(ST(2))
;
	GLuint	mask = (unsigned int)SvUV(ST(3))
;
#line 32809 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilFuncSeparateATI", )
  OGLM_AVAIL_CHECK(__glewStencilFuncSeparateATI, glStencilFuncSeparateATI)
  glStencilFuncSeparateATI(frontfunc, backfunc, ref, mask);
  OGLM_CHECK_ERR("glStencilFuncSeparateATI", )
#line 66346 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilMask); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilMask)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLuint	mask = (unsigned int)SvUV(ST(0))
;
#line 32819 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilMask", )
  glStencilMask(mask);
  OGLM_CHECK_ERR("glStencilMask", )
#line 66366 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilMaskSeparate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilMaskSeparate)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, mask");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLuint	mask = (unsigned int)SvUV(ST(1))
;
#line 32829 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilMaskSeparate", )
  OGLM_AVAIL_CHECK(__glewStencilMaskSeparate, glStencilMaskSeparate)
  glStencilMaskSeparate(face, mask);
  OGLM_CHECK_ERR("glStencilMaskSeparate", )
#line 66389 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilOp); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilOp)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "fail, zfail, zpass");
    {
	GLenum	fail = (int)SvIV(ST(0))
;
	GLenum	zfail = (int)SvIV(ST(1))
;
	GLenum	zpass = (int)SvIV(ST(2))
;
#line 32841 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilOp", )
  glStencilOp(fail, zfail, zpass);
  OGLM_CHECK_ERR("glStencilOp", )
#line 66413 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilOpSeparate); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilOpSeparate)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "face, sfail, dpfail, dppass");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	sfail = (int)SvIV(ST(1))
;
	GLenum	dpfail = (int)SvIV(ST(2))
;
	GLenum	dppass = (int)SvIV(ST(3))
;
#line 32855 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilOpSeparate", )
  OGLM_AVAIL_CHECK(__glewStencilOpSeparate, glStencilOpSeparate)
  glStencilOpSeparate(face, sfail, dpfail, dppass);
  OGLM_CHECK_ERR("glStencilOpSeparate", )
#line 66441 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilOpValueAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilOpValueAMD)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, value");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLuint	value = (unsigned int)SvUV(ST(1))
;
#line 32866 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilOpValueAMD", )
  OGLM_AVAIL_CHECK(__glewStencilOpValueAMD, glStencilOpValueAMD)
  glStencilOpValueAMD(face, value);
  OGLM_CHECK_ERR("glStencilOpValueAMD", )
#line 66464 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilStrokePathInstancedNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilStrokePathInstancedNV_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues");
    {
	GLsizei	numPaths = (int)SvIV(ST(0))
;
	GLenum	pathNameType = (int)SvIV(ST(1))
;
	const void *	paths = INT2PTR(const void *,SvIV(ST(2)))
;
	GLuint	pathBase = (unsigned int)SvUV(ST(3))
;
	GLint	reference = (int)SvIV(ST(4))
;
	GLuint	mask = (unsigned int)SvUV(ST(5))
;
	GLenum	transformType = (int)SvIV(ST(6))
;
	const GLfloat *	transformValues = INT2PTR(const GLfloat *,SvIV(ST(7)))
;
#line 32883 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilStrokePathInstancedNV", )
  OGLM_AVAIL_CHECK(__glewStencilStrokePathInstancedNV, glStencilStrokePathInstancedNV)
  glStencilStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues);
  OGLM_CHECK_ERR("glStencilStrokePathInstancedNV", )
#line 66499 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilStrokePathNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilStrokePathNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "path, reference, mask");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLint	reference = (int)SvIV(ST(1))
;
	GLuint	mask = (unsigned int)SvUV(ST(2))
;
#line 32895 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilStrokePathNV", )
  OGLM_AVAIL_CHECK(__glewStencilStrokePathNV, glStencilStrokePathNV)
  glStencilStrokePathNV(path, reference, mask);
  OGLM_CHECK_ERR("glStencilStrokePathNV", )
#line 66524 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilThenCoverFillPathInstancedNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilThenCoverFillPathInstancedNV_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues");
    {
	GLsizei	numPaths = (int)SvIV(ST(0))
;
	GLenum	pathNameType = (int)SvIV(ST(1))
;
	const void *	paths = INT2PTR(const void *,SvIV(ST(2)))
;
	GLuint	pathBase = (unsigned int)SvUV(ST(3))
;
	GLenum	fillMode = (int)SvIV(ST(4))
;
	GLuint	mask = (unsigned int)SvUV(ST(5))
;
	GLenum	coverMode = (int)SvIV(ST(6))
;
	GLenum	transformType = (int)SvIV(ST(7))
;
	const GLfloat *	transformValues = INT2PTR(const GLfloat *,SvIV(ST(8)))
;
#line 32913 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilThenCoverFillPathInstancedNV", )
  OGLM_AVAIL_CHECK(__glewStencilThenCoverFillPathInstancedNV, glStencilThenCoverFillPathInstancedNV)
  glStencilThenCoverFillPathInstancedNV(numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues);
  OGLM_CHECK_ERR("glStencilThenCoverFillPathInstancedNV", )
#line 66561 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilThenCoverFillPathNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilThenCoverFillPathNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "path, fillMode, mask, coverMode");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLenum	fillMode = (int)SvIV(ST(1))
;
	GLuint	mask = (unsigned int)SvUV(ST(2))
;
	GLenum	coverMode = (int)SvIV(ST(3))
;
#line 32926 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilThenCoverFillPathNV", )
  OGLM_AVAIL_CHECK(__glewStencilThenCoverFillPathNV, glStencilThenCoverFillPathNV)
  glStencilThenCoverFillPathNV(path, fillMode, mask, coverMode);
  OGLM_CHECK_ERR("glStencilThenCoverFillPathNV", )
#line 66588 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilThenCoverStrokePathInstancedNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilThenCoverStrokePathInstancedNV_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues");
    {
	GLsizei	numPaths = (int)SvIV(ST(0))
;
	GLenum	pathNameType = (int)SvIV(ST(1))
;
	const void *	paths = INT2PTR(const void *,SvIV(ST(2)))
;
	GLuint	pathBase = (unsigned int)SvUV(ST(3))
;
	GLint	reference = (int)SvIV(ST(4))
;
	GLuint	mask = (unsigned int)SvUV(ST(5))
;
	GLenum	coverMode = (int)SvIV(ST(6))
;
	GLenum	transformType = (int)SvIV(ST(7))
;
	const GLfloat *	transformValues = INT2PTR(const GLfloat *,SvIV(ST(8)))
;
#line 32944 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilThenCoverStrokePathInstancedNV", )
  OGLM_AVAIL_CHECK(__glewStencilThenCoverStrokePathInstancedNV, glStencilThenCoverStrokePathInstancedNV)
  glStencilThenCoverStrokePathInstancedNV(numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues);
  OGLM_CHECK_ERR("glStencilThenCoverStrokePathInstancedNV", )
#line 66625 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStencilThenCoverStrokePathNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStencilThenCoverStrokePathNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "path, reference, mask, coverMode");
    {
	GLuint	path = (unsigned int)SvUV(ST(0))
;
	GLint	reference = (int)SvIV(ST(1))
;
	GLuint	mask = (unsigned int)SvUV(ST(2))
;
	GLenum	coverMode = (int)SvIV(ST(3))
;
#line 32957 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStencilThenCoverStrokePathNV", )
  OGLM_AVAIL_CHECK(__glewStencilThenCoverStrokePathNV, glStencilThenCoverStrokePathNV)
  glStencilThenCoverStrokePathNV(path, reference, mask, coverMode);
  OGLM_CHECK_ERR("glStencilThenCoverStrokePathNV", )
#line 66652 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStereoParameterfNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStereoParameterfNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 32968 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStereoParameterfNV", )
  OGLM_AVAIL_CHECK(__glewStereoParameterfNV, glStereoParameterfNV)
  glStereoParameterfNV(pname, param);
  OGLM_CHECK_ERR("glStereoParameterfNV", )
#line 66675 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStereoParameteriNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStereoParameteriNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 32979 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStereoParameteriNV", )
  OGLM_AVAIL_CHECK(__glewStereoParameteriNV, glStereoParameteriNV)
  glStereoParameteriNV(pname, param);
  OGLM_CHECK_ERR("glStereoParameteriNV", )
#line 66698 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glStringMarkerGREMEDY_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glStringMarkerGREMEDY_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "len, string");
    {
	GLsizei	len = (int)SvIV(ST(0))
;
	const void *	string = INT2PTR(const void *,SvIV(ST(1)))
;
#line 32990 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glStringMarkerGREMEDY", )
  OGLM_AVAIL_CHECK(__glewStringMarkerGREMEDY, glStringMarkerGREMEDY)
  glStringMarkerGREMEDY(len, string);
  OGLM_CHECK_ERR("glStringMarkerGREMEDY", )
#line 66721 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSubpixelPrecisionBiasNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSubpixelPrecisionBiasNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "xbits, ybits");
    {
	GLuint	xbits = (unsigned int)SvUV(ST(0))
;
	GLuint	ybits = (unsigned int)SvUV(ST(1))
;
#line 33001 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSubpixelPrecisionBiasNV", )
  OGLM_AVAIL_CHECK(__glewSubpixelPrecisionBiasNV, glSubpixelPrecisionBiasNV)
  glSubpixelPrecisionBiasNV(xbits, ybits);
  OGLM_CHECK_ERR("glSubpixelPrecisionBiasNV", )
#line 66744 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSwapMPEGPredictorsSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSwapMPEGPredictorsSGIX)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target0, target1");
    {
	GLenum	target0 = (int)SvIV(ST(0))
;
	GLenum	target1 = (int)SvIV(ST(1))
;
#line 33012 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSwapMPEGPredictorsSGIX", )
  OGLM_AVAIL_CHECK(__glewSwapMPEGPredictorsSGIX, glSwapMPEGPredictorsSGIX)
  glSwapMPEGPredictorsSGIX(target0, target1);
  OGLM_CHECK_ERR("glSwapMPEGPredictorsSGIX", )
#line 66767 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSwizzleEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSwizzleEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "res, in, outX, outY, outZ, outW");
    {
	GLuint	res = (unsigned int)SvUV(ST(0))
;
	GLuint	in = (unsigned int)SvUV(ST(1))
;
	GLenum	outX = (int)SvIV(ST(2))
;
	GLenum	outY = (int)SvIV(ST(3))
;
	GLenum	outZ = (int)SvIV(ST(4))
;
	GLenum	outW = (int)SvIV(ST(5))
;
#line 33027 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSwizzleEXT", )
  OGLM_AVAIL_CHECK(__glewSwizzleEXT, glSwizzleEXT)
  glSwizzleEXT(res, in, outX, outY, outZ, outW);
  OGLM_CHECK_ERR("glSwizzleEXT", )
#line 66798 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glSyncTextureINTEL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glSyncTextureINTEL)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "texture");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
#line 33037 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glSyncTextureINTEL", )
  OGLM_AVAIL_CHECK(__glewSyncTextureINTEL, glSyncTextureINTEL)
  glSyncTextureINTEL(texture);
  OGLM_CHECK_ERR("glSyncTextureINTEL", )
#line 66819 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTagSampleBufferSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTagSampleBufferSGIX)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 33046 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTagSampleBufferSGIX", )
  OGLM_AVAIL_CHECK(__glewTagSampleBufferSGIX, glTagSampleBufferSGIX)
  glTagSampleBufferSGIX();
  OGLM_CHECK_ERR("glTagSampleBufferSGIX", )
#line 66838 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTangentPointerEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTangentPointerEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "type, stride, pointer");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLsizei	stride = (int)SvIV(ST(1))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(2)))
;
#line 33058 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTangentPointerEXT", )
  OGLM_AVAIL_CHECK(__glewTangentPointerEXT, glTangentPointerEXT)
  glTangentPointerEXT(type, stride, pointer);
  OGLM_CHECK_ERR("glTangentPointerEXT", )
#line 66863 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTbufferMask3DFX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTbufferMask3DFX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLuint	mask = (unsigned int)SvUV(ST(0))
;
#line 33068 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTbufferMask3DFX", )
  OGLM_AVAIL_CHECK(__glewTbufferMask3DFX, glTbufferMask3DFX)
  glTbufferMask3DFX(mask);
  OGLM_CHECK_ERR("glTbufferMask3DFX", )
#line 66884 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTessellationFactorAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTessellationFactorAMD)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "factor");
    {
	GLfloat	factor = (float)SvNV(ST(0))
;
#line 33078 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTessellationFactorAMD", )
  OGLM_AVAIL_CHECK(__glewTessellationFactorAMD, glTessellationFactorAMD)
  glTessellationFactorAMD(factor);
  OGLM_CHECK_ERR("glTessellationFactorAMD", )
#line 66905 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTessellationModeAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTessellationModeAMD)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 33088 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTessellationModeAMD", )
  OGLM_AVAIL_CHECK(__glewTessellationModeAMD, glTessellationModeAMD)
  glTessellationModeAMD(mode);
  OGLM_CHECK_ERR("glTessellationModeAMD", )
#line 66926 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTestFenceAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTestFenceAPPLE)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "fence");
    {
	GLuint	fence = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 33098 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTestFenceAPPLE", )
  OGLM_AVAIL_CHECK(__glewTestFenceAPPLE, glTestFenceAPPLE)
  RETVAL = glTestFenceAPPLE(fence);
  OGLM_CHECK_ERR("glTestFenceAPPLE", )
#line 66949 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glTestFenceNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTestFenceNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "fence");
    {
	GLuint	fence = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 33110 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTestFenceNV", )
  OGLM_AVAIL_CHECK(__glewTestFenceNV, glTestFenceNV)
  RETVAL = glTestFenceNV(fence);
  OGLM_CHECK_ERR("glTestFenceNV", )
#line 66974 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glTestObjectAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTestObjectAPPLE)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "object, name");
    {
	GLenum	object = (int)SvIV(ST(0))
;
	GLuint	name = (unsigned int)SvUV(ST(1))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 33123 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTestObjectAPPLE", )
  OGLM_AVAIL_CHECK(__glewTestObjectAPPLE, glTestObjectAPPLE)
  RETVAL = glTestObjectAPPLE(object, name);
  OGLM_CHECK_ERR("glTestObjectAPPLE", )
#line 67001 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glTexAttachMemoryNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexAttachMemoryNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, memory, offset");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	memory = (unsigned int)SvUV(ST(1))
;
	GLuint64	offset = (unsigned int)SvUV(ST(2))
;
#line 33137 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexAttachMemoryNV", )
  OGLM_AVAIL_CHECK(__glewTexAttachMemoryNV, glTexAttachMemoryNV)
  glTexAttachMemoryNV(target, memory, offset);
  OGLM_CHECK_ERR("glTexAttachMemoryNV", )
#line 67028 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexBuffer)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, internalformat, buffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
#line 33152 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexBuffer", )
  OGLM_AVAIL_CHECK(__glewTexBuffer, glTexBuffer)
  glTexBuffer(target, internalformat, buffer);
  OGLM_CHECK_ERR("glTexBuffer", )
#line 67054 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexBufferOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexBufferOES)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, internalformat, buffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
#line 33164 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexBufferOES", )
  OGLM_AVAIL_CHECK(__glewTexBufferOES, glTexBufferOES)
  glTexBufferOES(target, internalformat, buffer);
  OGLM_CHECK_ERR("glTexBufferOES", )
#line 67079 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexBufferRange); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexBufferRange)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, internalformat, buffer, offset, size");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(4))
;
#line 33180 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexBufferRange", )
  OGLM_AVAIL_CHECK(__glewTexBufferRange, glTexBufferRange)
  glTexBufferRange(target, internalformat, buffer, offset, size);
  OGLM_CHECK_ERR("glTexBufferRange", )
#line 67109 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexBufferRangeOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexBufferRangeOES)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "target, internalformat, buffer, offset, size");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(4))
;
#line 33194 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexBufferRangeOES", )
  OGLM_AVAIL_CHECK(__glewTexBufferRangeOES, glTexBufferRangeOES)
  glTexBufferRangeOES(target, internalformat, buffer, offset, size);
  OGLM_CHECK_ERR("glTexBufferRangeOES", )
#line 67138 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexBumpParameterfvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexBumpParameterfvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat *	param = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 33205 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexBumpParameterfvATI", )
  OGLM_AVAIL_CHECK(__glewTexBumpParameterfvATI, glTexBumpParameterfvATI)
  glTexBumpParameterfvATI(pname, param);
  OGLM_CHECK_ERR("glTexBumpParameterfvATI", )
#line 67161 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexBumpParameterivATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexBumpParameterivATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint *	param = INT2PTR(GLint *,SvIV(ST(1)))
;
#line 33216 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexBumpParameterivATI", )
  OGLM_AVAIL_CHECK(__glewTexBumpParameterivATI, glTexBumpParameterivATI)
  glTexBumpParameterivATI(pname, param);
  OGLM_CHECK_ERR("glTexBumpParameterivATI", )
#line 67184 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1d)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "s");
    {
	GLdouble	s = (double)SvNV(ST(0))
;
#line 33226 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1d", )
  glTexCoord1d(s);
  OGLM_CHECK_ERR("glTexCoord1d", )
#line 67204 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 33235 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1dv", )
  glTexCoord1dv(v);
  OGLM_CHECK_ERR("glTexCoord1dv", )
#line 67224 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33243 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,1);
  glTexCoord1dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glTexCoord1dv", free(v);)
  free(v);
#line 67244 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1f)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "s");
    {
	GLfloat	s = (float)SvNV(ST(0))
;
#line 33254 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1f", )
  glTexCoord1f(s);
  OGLM_CHECK_ERR("glTexCoord1f", )
#line 67264 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 33263 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1fv", )
  glTexCoord1fv(v);
  OGLM_CHECK_ERR("glTexCoord1fv", )
#line 67284 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33271 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,1);
  glTexCoord1fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glTexCoord1fv", free(v);)
  free(v);
#line 67304 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1hNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "s");
    {
	GLhalf	s = (float)SvNV(ST(0))
;
#line 33282 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1hNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord1hNV, glTexCoord1hNV)
  glTexCoord1hNV(s);
  OGLM_CHECK_ERR("glTexCoord1hNV", )
#line 67325 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 33292 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1hvNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord1hvNV, glTexCoord1hvNV)
  glTexCoord1hvNV(v);
  OGLM_CHECK_ERR("glTexCoord1hvNV", )
#line 67346 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1hvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33301 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1hvNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord1hvNV, glTexCoord1hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,0,GLhalf,NV,1);
  glTexCoord1hvNV((const GLhalf* )v);
  OGLM_CHECK_ERR("glTexCoord1hvNV", free(v);)
  free(v);
#line 67367 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1i)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "s");
    {
	GLint	s = (int)SvIV(ST(0))
;
#line 33313 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1i", )
  glTexCoord1i(s);
  OGLM_CHECK_ERR("glTexCoord1i", )
#line 67387 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 33322 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1iv", )
  glTexCoord1iv(v);
  OGLM_CHECK_ERR("glTexCoord1iv", )
#line 67407 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33330 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,1);
  glTexCoord1iv((const GLint *)v);
  OGLM_CHECK_ERR("glTexCoord1iv", free(v);)
  free(v);
#line 67427 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "s");
    {
	GLshort	s = (short)SvIV(ST(0))
;
#line 33341 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1s", )
  glTexCoord1s(s);
  OGLM_CHECK_ERR("glTexCoord1s", )
#line 67447 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 33350 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1sv", )
  glTexCoord1sv(v);
  OGLM_CHECK_ERR("glTexCoord1sv", )
#line 67467 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord1sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord1sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33358 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord1sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,1);
  glTexCoord1sv((const GLshort *)v);
  OGLM_CHECK_ERR("glTexCoord1sv", free(v);)
  free(v);
#line 67487 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2d)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "s, t");
    {
	GLdouble	s = (double)SvNV(ST(0))
;
	GLdouble	t = (double)SvNV(ST(1))
;
#line 33370 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2d", )
  glTexCoord2d(s, t);
  OGLM_CHECK_ERR("glTexCoord2d", )
#line 67509 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 33379 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2dv", )
  glTexCoord2dv(v);
  OGLM_CHECK_ERR("glTexCoord2dv", )
#line 67529 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33387 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,2);
  glTexCoord2dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glTexCoord2dv", free(v);)
  free(v);
#line 67549 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2f)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "s, t");
    {
	GLfloat	s = (float)SvNV(ST(0))
;
	GLfloat	t = (float)SvNV(ST(1))
;
#line 33399 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2f", )
  glTexCoord2f(s, t);
  OGLM_CHECK_ERR("glTexCoord2f", )
#line 67571 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor3fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor3fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "s, t, r, g, b, x, y, z");
    {
	GLfloat	s = (float)SvNV(ST(0))
;
	GLfloat	t = (float)SvNV(ST(1))
;
	GLfloat	r = (float)SvNV(ST(2))
;
	GLfloat	g = (float)SvNV(ST(3))
;
	GLfloat	b = (float)SvNV(ST(4))
;
	GLfloat	x = (float)SvNV(ST(5))
;
	GLfloat	y = (float)SvNV(ST(6))
;
	GLfloat	z = (float)SvNV(ST(7))
;
#line 33415 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fColor3fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fSUN)
  glTexCoord2fColor3fVertex3fSUN(s, t, r, g, b, x, y, z);
  OGLM_CHECK_ERR("glTexCoord2fColor3fVertex3fSUN", )
#line 67606 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor3fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor3fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "tc, c, v");
    {
	const GLfloat*	tc = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
	const GLfloat *	c = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 33427 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fColor3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fColor3fVertex3fvSUN, glTexCoord2fColor3fVertex3fvSUN)
  glTexCoord2fColor3fVertex3fvSUN(tc, c, v);
  OGLM_CHECK_ERR("glTexCoord2fColor3fVertex3fvSUN", )
#line 67631 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor3fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor3fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "tcSV, cSV, vSV");
    {
	SV *	tcSV = ST(0)
;
	SV *	cSV = ST(1)
;
	SV *	vSV = ST(2)
;
#line 33439 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fColor3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fColor3fVertex3fvSUN, glTexCoord2fColor3fVertex3fvSUN)
  GLfloat *c = OGLM_GET_ARRAY(c, GLfloat, NV, 3);
  GLfloat* tc = OGLM_GET_ARRAY(tc, GLfloat, NV, 2);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glTexCoord2fColor3fVertex3fvSUN((const GLfloat* )tc, (const GLfloat *)c, (const GLfloat *)v);
  OGLM_CHECK_ERR("glTexCoord2fColor3fVertex3fvSUN", free(c);free(tc);free(v);)
  free(c);free(tc);free(v);
#line 67660 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4fNormal3fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4fNormal3fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "s, t, r, g, b, a, nx, ny, nz, x, y, z");
    {
	GLfloat	s = (float)SvNV(ST(0))
;
	GLfloat	t = (float)SvNV(ST(1))
;
	GLfloat	r = (float)SvNV(ST(2))
;
	GLfloat	g = (float)SvNV(ST(3))
;
	GLfloat	b = (float)SvNV(ST(4))
;
	GLfloat	a = (float)SvNV(ST(5))
;
	GLfloat	nx = (float)SvNV(ST(6))
;
	GLfloat	ny = (float)SvNV(ST(7))
;
	GLfloat	nz = (float)SvNV(ST(8))
;
	GLfloat	x = (float)SvNV(ST(9))
;
	GLfloat	y = (float)SvNV(ST(10))
;
	GLfloat	z = (float)SvNV(ST(11))
;
#line 33464 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fColor4fNormal3fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fSUN)
  glTexCoord2fColor4fNormal3fVertex3fSUN(s, t, r, g, b, a, nx, ny, nz, x, y, z);
  OGLM_CHECK_ERR("glTexCoord2fColor4fNormal3fVertex3fSUN", )
#line 67703 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4fNormal3fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4fNormal3fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "tc, c, n, v");
    {
	const GLfloat*	tc = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
	const GLfloat *	c = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
	const GLfloat *	n = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 33477 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fColor4fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN)
  glTexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, n, v);
  OGLM_CHECK_ERR("glTexCoord2fColor4fNormal3fVertex3fvSUN", )
#line 67730 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4fNormal3fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4fNormal3fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "tcSV, cSV, nSV, vSV");
    {
	SV *	tcSV = ST(0)
;
	SV *	cSV = ST(1)
;
	SV *	nSV = ST(2)
;
	SV *	vSV = ST(3)
;
#line 33490 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fColor4fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN)
  GLfloat *c = OGLM_GET_ARRAY(c, GLfloat, NV, 4);
  GLfloat *n = OGLM_GET_ARRAY(n, GLfloat, NV, 3);
  GLfloat* tc = OGLM_GET_ARRAY(tc, GLfloat, NV, 2);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glTexCoord2fColor4fNormal3fVertex3fvSUN((const GLfloat* )tc, (const GLfloat *)c, (const GLfloat *)n, (const GLfloat *)v);
  OGLM_CHECK_ERR("glTexCoord2fColor4fNormal3fVertex3fvSUN", free(c);free(n);free(tc);free(v);)
  free(c);free(n);free(tc);free(v);
#line 67762 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4ubVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4ubVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "s, t, r, g, b, a, x, y, z");
    {
	GLfloat	s = (float)SvNV(ST(0))
;
	GLfloat	t = (float)SvNV(ST(1))
;
	GLubyte	r = (unsigned int)SvUV(ST(2))
;
	GLubyte	g = (unsigned int)SvUV(ST(3))
;
	GLubyte	b = (unsigned int)SvUV(ST(4))
;
	GLubyte	a = (unsigned int)SvUV(ST(5))
;
	GLfloat	x = (float)SvNV(ST(6))
;
	GLfloat	y = (float)SvNV(ST(7))
;
	GLfloat	z = (float)SvNV(ST(8))
;
#line 33513 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fColor4ubVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fSUN)
  glTexCoord2fColor4ubVertex3fSUN(s, t, r, g, b, a, x, y, z);
  OGLM_CHECK_ERR("glTexCoord2fColor4ubVertex3fSUN", )
#line 67799 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4ubVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4ubVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "tc, c, v");
    {
	const GLfloat*	tc = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
	const GLubyte *        c = (const GLubyte *)SvPV_nolen(ST(1))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 33525 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fColor4ubVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor4ubVertex3fvSUN)
  glTexCoord2fColor4ubVertex3fvSUN(tc, c, v);
  OGLM_CHECK_ERR("glTexCoord2fColor4ubVertex3fvSUN", )
#line 67824 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4ubVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fColor4ubVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "tcSV, cSV, vSV");
    {
	SV *	tcSV = ST(0)
;
	SV *	cSV = ST(1)
;
	SV *	vSV = ST(2)
;
#line 33537 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fColor4ubVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor4ubVertex3fvSUN)
  GLubyte *c = OGLM_GET_ARRAY(c, GLubyte, UV, 4);
  GLfloat* tc = OGLM_GET_ARRAY(tc, GLfloat, NV, 2);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glTexCoord2fColor4ubVertex3fvSUN((const GLfloat* )tc, (const GLubyte *)c, (const GLfloat *)v);
  OGLM_CHECK_ERR("glTexCoord2fColor4ubVertex3fvSUN", free(c);free(tc);free(v);)
  free(c);free(tc);free(v);
#line 67853 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fNormal3fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fNormal3fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "s, t, nx, ny, nz, x, y, z");
    {
	GLfloat	s = (float)SvNV(ST(0))
;
	GLfloat	t = (float)SvNV(ST(1))
;
	GLfloat	nx = (float)SvNV(ST(2))
;
	GLfloat	ny = (float)SvNV(ST(3))
;
	GLfloat	nz = (float)SvNV(ST(4))
;
	GLfloat	x = (float)SvNV(ST(5))
;
	GLfloat	y = (float)SvNV(ST(6))
;
	GLfloat	z = (float)SvNV(ST(7))
;
#line 33558 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fNormal3fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fSUN)
  glTexCoord2fNormal3fVertex3fSUN(s, t, nx, ny, nz, x, y, z);
  OGLM_CHECK_ERR("glTexCoord2fNormal3fVertex3fSUN", )
#line 67888 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fNormal3fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fNormal3fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "tc, n, v");
    {
	const GLfloat*	tc = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
	const GLfloat *	n = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 33570 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fvSUN)
  glTexCoord2fNormal3fVertex3fvSUN(tc, n, v);
  OGLM_CHECK_ERR("glTexCoord2fNormal3fVertex3fvSUN", )
#line 67913 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fNormal3fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fNormal3fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "tcSV, nSV, vSV");
    {
	SV *	tcSV = ST(0)
;
	SV *	nSV = ST(1)
;
	SV *	vSV = ST(2)
;
#line 33582 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fNormal3fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fNormal3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fvSUN)
  GLfloat *n = OGLM_GET_ARRAY(n, GLfloat, NV, 3);
  GLfloat* tc = OGLM_GET_ARRAY(tc, GLfloat, NV, 2);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glTexCoord2fNormal3fVertex3fvSUN((const GLfloat* )tc, (const GLfloat *)n, (const GLfloat *)v);
  OGLM_CHECK_ERR("glTexCoord2fNormal3fVertex3fvSUN", free(n);free(tc);free(v);)
  free(n);free(tc);free(v);
#line 67942 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fVertex3fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fVertex3fSUN)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "s, t, x, y, z");
    {
	GLfloat	s = (float)SvNV(ST(0))
;
	GLfloat	t = (float)SvNV(ST(1))
;
	GLfloat	x = (float)SvNV(ST(2))
;
	GLfloat	y = (float)SvNV(ST(3))
;
	GLfloat	z = (float)SvNV(ST(4))
;
#line 33600 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fVertex3fSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fVertex3fSUN, glTexCoord2fVertex3fSUN)
  glTexCoord2fVertex3fSUN(s, t, x, y, z);
  OGLM_CHECK_ERR("glTexCoord2fVertex3fSUN", )
#line 67971 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fVertex3fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fVertex3fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tc, v");
    {
	const GLfloat*	tc = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 33611 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fVertex3fvSUN, glTexCoord2fVertex3fvSUN)
  glTexCoord2fVertex3fvSUN(tc, v);
  OGLM_CHECK_ERR("glTexCoord2fVertex3fvSUN", )
#line 67994 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fVertex3fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fVertex3fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tcSV, vSV");
    {
	SV *	tcSV = ST(0)
;
	SV *	vSV = ST(1)
;
#line 33622 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fVertex3fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord2fVertex3fvSUN, glTexCoord2fVertex3fvSUN)
  GLfloat* tc = OGLM_GET_ARRAY(tc, GLfloat, NV, 2);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 3);
  glTexCoord2fVertex3fvSUN((const GLfloat* )tc, (const GLfloat *)v);
  OGLM_CHECK_ERR("glTexCoord2fVertex3fvSUN", free(tc);free(v);)
  free(tc);free(v);
#line 68020 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 33635 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fv", )
  glTexCoord2fv(v);
  OGLM_CHECK_ERR("glTexCoord2fv", )
#line 68040 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33643 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,2);
  glTexCoord2fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glTexCoord2fv", free(v);)
  free(v);
#line 68060 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2hNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "s, t");
    {
	GLhalf	s = (float)SvNV(ST(0))
;
	GLhalf	t = (float)SvNV(ST(1))
;
#line 33655 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2hNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord2hNV, glTexCoord2hNV)
  glTexCoord2hNV(s, t);
  OGLM_CHECK_ERR("glTexCoord2hNV", )
#line 68083 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 33665 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2hvNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord2hvNV, glTexCoord2hvNV)
  glTexCoord2hvNV(v);
  OGLM_CHECK_ERR("glTexCoord2hvNV", )
#line 68104 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2hvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33674 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2hvNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord2hvNV, glTexCoord2hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,0,GLhalf,NV,2);
  glTexCoord2hvNV((const GLhalf* )v);
  OGLM_CHECK_ERR("glTexCoord2hvNV", free(v);)
  free(v);
#line 68125 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2i)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "s, t");
    {
	GLint	s = (int)SvIV(ST(0))
;
	GLint	t = (int)SvIV(ST(1))
;
#line 33687 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2i", )
  glTexCoord2i(s, t);
  OGLM_CHECK_ERR("glTexCoord2i", )
#line 68147 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 33696 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2iv", )
  glTexCoord2iv(v);
  OGLM_CHECK_ERR("glTexCoord2iv", )
#line 68167 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33704 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,2);
  glTexCoord2iv((const GLint *)v);
  OGLM_CHECK_ERR("glTexCoord2iv", free(v);)
  free(v);
#line 68187 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "s, t");
    {
	GLshort	s = (short)SvIV(ST(0))
;
	GLshort	t = (short)SvIV(ST(1))
;
#line 33716 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2s", )
  glTexCoord2s(s, t);
  OGLM_CHECK_ERR("glTexCoord2s", )
#line 68209 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 33725 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2sv", )
  glTexCoord2sv(v);
  OGLM_CHECK_ERR("glTexCoord2sv", )
#line 68229 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord2sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord2sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33733 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord2sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,2);
  glTexCoord2sv((const GLshort *)v);
  OGLM_CHECK_ERR("glTexCoord2sv", free(v);)
  free(v);
#line 68249 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3d)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "s, t, r");
    {
	GLdouble	s = (double)SvNV(ST(0))
;
	GLdouble	t = (double)SvNV(ST(1))
;
	GLdouble	r = (double)SvNV(ST(2))
;
#line 33746 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3d", )
  glTexCoord3d(s, t, r);
  OGLM_CHECK_ERR("glTexCoord3d", )
#line 68273 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 33755 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3dv", )
  glTexCoord3dv(v);
  OGLM_CHECK_ERR("glTexCoord3dv", )
#line 68293 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33763 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,3);
  glTexCoord3dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glTexCoord3dv", free(v);)
  free(v);
#line 68313 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3f)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "s, t, r");
    {
	GLfloat	s = (float)SvNV(ST(0))
;
	GLfloat	t = (float)SvNV(ST(1))
;
	GLfloat	r = (float)SvNV(ST(2))
;
#line 33776 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3f", )
  glTexCoord3f(s, t, r);
  OGLM_CHECK_ERR("glTexCoord3f", )
#line 68337 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 33785 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3fv", )
  glTexCoord3fv(v);
  OGLM_CHECK_ERR("glTexCoord3fv", )
#line 68357 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33793 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,3);
  glTexCoord3fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glTexCoord3fv", free(v);)
  free(v);
#line 68377 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3hNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "s, t, r");
    {
	GLhalf	s = (float)SvNV(ST(0))
;
	GLhalf	t = (float)SvNV(ST(1))
;
	GLhalf	r = (float)SvNV(ST(2))
;
#line 33806 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3hNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord3hNV, glTexCoord3hNV)
  glTexCoord3hNV(s, t, r);
  OGLM_CHECK_ERR("glTexCoord3hNV", )
#line 68402 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 33816 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3hvNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord3hvNV, glTexCoord3hvNV)
  glTexCoord3hvNV(v);
  OGLM_CHECK_ERR("glTexCoord3hvNV", )
#line 68423 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3hvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33825 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3hvNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord3hvNV, glTexCoord3hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,0,GLhalf,NV,3);
  glTexCoord3hvNV((const GLhalf* )v);
  OGLM_CHECK_ERR("glTexCoord3hvNV", free(v);)
  free(v);
#line 68444 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3i)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "s, t, r");
    {
	GLint	s = (int)SvIV(ST(0))
;
	GLint	t = (int)SvIV(ST(1))
;
	GLint	r = (int)SvIV(ST(2))
;
#line 33839 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3i", )
  glTexCoord3i(s, t, r);
  OGLM_CHECK_ERR("glTexCoord3i", )
#line 68468 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 33848 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3iv", )
  glTexCoord3iv(v);
  OGLM_CHECK_ERR("glTexCoord3iv", )
#line 68488 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33856 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,3);
  glTexCoord3iv((const GLint *)v);
  OGLM_CHECK_ERR("glTexCoord3iv", free(v);)
  free(v);
#line 68508 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "s, t, r");
    {
	GLshort	s = (short)SvIV(ST(0))
;
	GLshort	t = (short)SvIV(ST(1))
;
	GLshort	r = (short)SvIV(ST(2))
;
#line 33869 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3s", )
  glTexCoord3s(s, t, r);
  OGLM_CHECK_ERR("glTexCoord3s", )
#line 68532 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 33878 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3sv", )
  glTexCoord3sv(v);
  OGLM_CHECK_ERR("glTexCoord3sv", )
#line 68552 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord3sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord3sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33886 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord3sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,3);
  glTexCoord3sv((const GLshort *)v);
  OGLM_CHECK_ERR("glTexCoord3sv", free(v);)
  free(v);
#line 68572 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4d)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "s, t, r, q");
    {
	GLdouble	s = (double)SvNV(ST(0))
;
	GLdouble	t = (double)SvNV(ST(1))
;
	GLdouble	r = (double)SvNV(ST(2))
;
	GLdouble	q = (double)SvNV(ST(3))
;
#line 33900 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4d", )
  glTexCoord4d(s, t, r, q);
  OGLM_CHECK_ERR("glTexCoord4d", )
#line 68598 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 33909 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4dv", )
  glTexCoord4dv(v);
  OGLM_CHECK_ERR("glTexCoord4dv", )
#line 68618 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 33917 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,4);
  glTexCoord4dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glTexCoord4dv", free(v);)
  free(v);
#line 68638 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4f)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "s, t, r, q");
    {
	GLfloat	s = (float)SvNV(ST(0))
;
	GLfloat	t = (float)SvNV(ST(1))
;
	GLfloat	r = (float)SvNV(ST(2))
;
	GLfloat	q = (float)SvNV(ST(3))
;
#line 33931 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4f", )
  glTexCoord4f(s, t, r, q);
  OGLM_CHECK_ERR("glTexCoord4f", )
#line 68664 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fColor4fNormal3fVertex4fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fColor4fNormal3fVertex4fSUN)
{
    dVAR; dXSARGS;
    if (items != 15)
       croak_xs_usage(cv,  "s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w");
    {
	GLfloat	s = (float)SvNV(ST(0))
;
	GLfloat	t = (float)SvNV(ST(1))
;
	GLfloat	p = (float)SvNV(ST(2))
;
	GLfloat	q = (float)SvNV(ST(3))
;
	GLfloat	r = (float)SvNV(ST(4))
;
	GLfloat	g = (float)SvNV(ST(5))
;
	GLfloat	b = (float)SvNV(ST(6))
;
	GLfloat	a = (float)SvNV(ST(7))
;
	GLfloat	nx = (float)SvNV(ST(8))
;
	GLfloat	ny = (float)SvNV(ST(9))
;
	GLfloat	nz = (float)SvNV(ST(10))
;
	GLfloat	x = (float)SvNV(ST(11))
;
	GLfloat	y = (float)SvNV(ST(12))
;
	GLfloat	z = (float)SvNV(ST(13))
;
	GLfloat	w = (float)SvNV(ST(14))
;
#line 33954 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4fColor4fNormal3fVertex4fSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fSUN)
  glTexCoord4fColor4fNormal3fVertex4fSUN(s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w);
  OGLM_CHECK_ERR("glTexCoord4fColor4fNormal3fVertex4fSUN", )
#line 68713 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fColor4fNormal3fVertex4fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fColor4fNormal3fVertex4fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "tc, c, n, v");
    {
	const GLfloat*	tc = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
	const GLfloat *	c = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
	const GLfloat *	n = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 33967 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4fColor4fNormal3fVertex4fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord4fColor4fNormal3fVertex4fvSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN)
  glTexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, n, v);
  OGLM_CHECK_ERR("glTexCoord4fColor4fNormal3fVertex4fvSUN", )
#line 68740 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fColor4fNormal3fVertex4fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fColor4fNormal3fVertex4fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "tcSV, cSV, nSV, vSV");
    {
	SV *	tcSV = ST(0)
;
	SV *	cSV = ST(1)
;
	SV *	nSV = ST(2)
;
	SV *	vSV = ST(3)
;
#line 33980 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4fColor4fNormal3fVertex4fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord4fColor4fNormal3fVertex4fvSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN)
  GLfloat *c = OGLM_GET_ARRAY(c, GLfloat, NV, 4);
  GLfloat *n = OGLM_GET_ARRAY(n, GLfloat, NV, 3);
  GLfloat* tc = OGLM_GET_ARRAY(tc, GLfloat, NV, 4);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 4);
  glTexCoord4fColor4fNormal3fVertex4fvSUN((const GLfloat* )tc, (const GLfloat *)c, (const GLfloat *)n, (const GLfloat *)v);
  OGLM_CHECK_ERR("glTexCoord4fColor4fNormal3fVertex4fvSUN", free(c);free(n);free(tc);free(v);)
  free(c);free(n);free(tc);free(v);
#line 68772 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fVertex4fSUN); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fVertex4fSUN)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "s, t, p, q, x, y, z, w");
    {
	GLfloat	s = (float)SvNV(ST(0))
;
	GLfloat	t = (float)SvNV(ST(1))
;
	GLfloat	p = (float)SvNV(ST(2))
;
	GLfloat	q = (float)SvNV(ST(3))
;
	GLfloat	x = (float)SvNV(ST(4))
;
	GLfloat	y = (float)SvNV(ST(5))
;
	GLfloat	z = (float)SvNV(ST(6))
;
	GLfloat	w = (float)SvNV(ST(7))
;
#line 34002 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4fVertex4fSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord4fVertex4fSUN, glTexCoord4fVertex4fSUN)
  glTexCoord4fVertex4fSUN(s, t, p, q, x, y, z, w);
  OGLM_CHECK_ERR("glTexCoord4fVertex4fSUN", )
#line 68807 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fVertex4fvSUN_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fVertex4fvSUN_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tc, v");
    {
	const GLfloat*	tc = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 34013 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4fVertex4fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord4fVertex4fvSUN, glTexCoord4fVertex4fvSUN)
  glTexCoord4fVertex4fvSUN(tc, v);
  OGLM_CHECK_ERR("glTexCoord4fVertex4fvSUN", )
#line 68830 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fVertex4fvSUN_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fVertex4fvSUN_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tcSV, vSV");
    {
	SV *	tcSV = ST(0)
;
	SV *	vSV = ST(1)
;
#line 34024 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4fVertex4fvSUN", )
  OGLM_AVAIL_CHECK(__glewTexCoord4fVertex4fvSUN, glTexCoord4fVertex4fvSUN)
  GLfloat* tc = OGLM_GET_ARRAY(tc, GLfloat, NV, 4);
  GLfloat *v = OGLM_GET_ARRAY(v, GLfloat, NV, 4);
  glTexCoord4fVertex4fvSUN((const GLfloat* )tc, (const GLfloat *)v);
  OGLM_CHECK_ERR("glTexCoord4fVertex4fvSUN", free(tc);free(v);)
  free(tc);free(v);
#line 68856 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 34037 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4fv", )
  glTexCoord4fv(v);
  OGLM_CHECK_ERR("glTexCoord4fv", )
#line 68876 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 34045 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,4);
  glTexCoord4fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glTexCoord4fv", free(v);)
  free(v);
#line 68896 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4hNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "s, t, r, q");
    {
	GLhalf	s = (float)SvNV(ST(0))
;
	GLhalf	t = (float)SvNV(ST(1))
;
	GLhalf	r = (float)SvNV(ST(2))
;
	GLhalf	q = (float)SvNV(ST(3))
;
#line 34059 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4hNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord4hNV, glTexCoord4hNV)
  glTexCoord4hNV(s, t, r, q);
  OGLM_CHECK_ERR("glTexCoord4hNV", )
#line 68923 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 34069 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4hvNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord4hvNV, glTexCoord4hvNV)
  glTexCoord4hvNV(v);
  OGLM_CHECK_ERR("glTexCoord4hvNV", )
#line 68944 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4hvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 34078 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4hvNV", )
  OGLM_AVAIL_CHECK(__glewTexCoord4hvNV, glTexCoord4hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,0,GLhalf,NV,4);
  glTexCoord4hvNV((const GLhalf* )v);
  OGLM_CHECK_ERR("glTexCoord4hvNV", free(v);)
  free(v);
#line 68965 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4i)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "s, t, r, q");
    {
	GLint	s = (int)SvIV(ST(0))
;
	GLint	t = (int)SvIV(ST(1))
;
	GLint	r = (int)SvIV(ST(2))
;
	GLint	q = (int)SvIV(ST(3))
;
#line 34093 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4i", )
  glTexCoord4i(s, t, r, q);
  OGLM_CHECK_ERR("glTexCoord4i", )
#line 68991 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 34102 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4iv", )
  glTexCoord4iv(v);
  OGLM_CHECK_ERR("glTexCoord4iv", )
#line 69011 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 34110 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,4);
  glTexCoord4iv((const GLint *)v);
  OGLM_CHECK_ERR("glTexCoord4iv", free(v);)
  free(v);
#line 69031 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4s)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "s, t, r, q");
    {
	GLshort	s = (short)SvIV(ST(0))
;
	GLshort	t = (short)SvIV(ST(1))
;
	GLshort	r = (short)SvIV(ST(2))
;
	GLshort	q = (short)SvIV(ST(3))
;
#line 34124 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4s", )
  glTexCoord4s(s, t, r, q);
  OGLM_CHECK_ERR("glTexCoord4s", )
#line 69057 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 34133 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4sv", )
  glTexCoord4sv(v);
  OGLM_CHECK_ERR("glTexCoord4sv", )
#line 69077 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoord4sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoord4sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 34141 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoord4sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,4);
  glTexCoord4sv((const GLshort *)v);
  OGLM_CHECK_ERR("glTexCoord4sv", free(v);)
  free(v);
#line 69097 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordFormatNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordFormatNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "size, type, stride");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
#line 34154 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordFormatNV", )
  OGLM_AVAIL_CHECK(__glewTexCoordFormatNV, glTexCoordFormatNV)
  glTexCoordFormatNV(size, type, stride);
  OGLM_CHECK_ERR("glTexCoordFormatNV", )
#line 69122 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP1ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP1ui)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, coords");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	coords = (unsigned int)SvUV(ST(1))
;
#line 34165 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP1ui", )
  OGLM_AVAIL_CHECK(__glewTexCoordP1ui, glTexCoordP1ui)
  glTexCoordP1ui(type, coords);
  OGLM_CHECK_ERR("glTexCoordP1ui", )
#line 69145 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP1uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP1uiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, coords");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLuint*	coords = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 34176 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP1uiv", )
  OGLM_AVAIL_CHECK(__glewTexCoordP1uiv, glTexCoordP1uiv)
  glTexCoordP1uiv(type, coords);
  OGLM_CHECK_ERR("glTexCoordP1uiv", )
#line 69168 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP1uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP1uiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
#line 34186 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP1uiv", )
  OGLM_AVAIL_CHECK(__glewTexCoordP1uiv, glTexCoordP1uiv)
  GLuint* coords = OGLM_GET_VARARGS(coords,1,GLuint,UV,1);
  glTexCoordP1uiv((GLenum )type, (const GLuint* )coords);
  OGLM_CHECK_ERR("glTexCoordP1uiv", free(coords);)
  free(coords);
#line 69191 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP2ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP2ui)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, coords");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	coords = (unsigned int)SvUV(ST(1))
;
#line 34199 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP2ui", )
  OGLM_AVAIL_CHECK(__glewTexCoordP2ui, glTexCoordP2ui)
  glTexCoordP2ui(type, coords);
  OGLM_CHECK_ERR("glTexCoordP2ui", )
#line 69214 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP2uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP2uiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, coords");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLuint*	coords = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 34210 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP2uiv", )
  OGLM_AVAIL_CHECK(__glewTexCoordP2uiv, glTexCoordP2uiv)
  glTexCoordP2uiv(type, coords);
  OGLM_CHECK_ERR("glTexCoordP2uiv", )
#line 69237 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP2uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP2uiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
#line 34220 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP2uiv", )
  OGLM_AVAIL_CHECK(__glewTexCoordP2uiv, glTexCoordP2uiv)
  GLuint* coords = OGLM_GET_VARARGS(coords,1,GLuint,UV,1);
  glTexCoordP2uiv((GLenum )type, (const GLuint* )coords);
  OGLM_CHECK_ERR("glTexCoordP2uiv", free(coords);)
  free(coords);
#line 69260 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP3ui)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, coords");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	coords = (unsigned int)SvUV(ST(1))
;
#line 34233 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP3ui", )
  OGLM_AVAIL_CHECK(__glewTexCoordP3ui, glTexCoordP3ui)
  glTexCoordP3ui(type, coords);
  OGLM_CHECK_ERR("glTexCoordP3ui", )
#line 69283 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP3uiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, coords");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLuint*	coords = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 34244 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP3uiv", )
  OGLM_AVAIL_CHECK(__glewTexCoordP3uiv, glTexCoordP3uiv)
  glTexCoordP3uiv(type, coords);
  OGLM_CHECK_ERR("glTexCoordP3uiv", )
#line 69306 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP3uiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
#line 34254 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP3uiv", )
  OGLM_AVAIL_CHECK(__glewTexCoordP3uiv, glTexCoordP3uiv)
  GLuint* coords = OGLM_GET_VARARGS(coords,1,GLuint,UV,1);
  glTexCoordP3uiv((GLenum )type, (const GLuint* )coords);
  OGLM_CHECK_ERR("glTexCoordP3uiv", free(coords);)
  free(coords);
#line 69329 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP4ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP4ui)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, coords");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	coords = (unsigned int)SvUV(ST(1))
;
#line 34267 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP4ui", )
  OGLM_AVAIL_CHECK(__glewTexCoordP4ui, glTexCoordP4ui)
  glTexCoordP4ui(type, coords);
  OGLM_CHECK_ERR("glTexCoordP4ui", )
#line 69352 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP4uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP4uiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, coords");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLuint*	coords = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 34278 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP4uiv", )
  OGLM_AVAIL_CHECK(__glewTexCoordP4uiv, glTexCoordP4uiv)
  glTexCoordP4uiv(type, coords);
  OGLM_CHECK_ERR("glTexCoordP4uiv", )
#line 69375 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordP4uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordP4uiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
#line 34288 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordP4uiv", )
  OGLM_AVAIL_CHECK(__glewTexCoordP4uiv, glTexCoordP4uiv)
  GLuint* coords = OGLM_GET_VARARGS(coords,1,GLuint,UV,1);
  glTexCoordP4uiv((GLenum )type, (const GLuint* )coords);
  OGLM_CHECK_ERR("glTexCoordP4uiv", free(coords);)
  free(coords);
#line 69398 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordPointer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordPointer_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "size, type, stride, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(3)))
;
#line 34303 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordPointer", )
  glTexCoordPointer(size, type, stride, pointer);
  OGLM_CHECK_ERR("glTexCoordPointer", )
#line 69424 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordPointerEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordPointerEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "size, type, stride, count, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(4)))
;
#line 34316 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordPointerEXT", )
  OGLM_AVAIL_CHECK(__glewTexCoordPointerEXT, glTexCoordPointerEXT)
  glTexCoordPointerEXT(size, type, stride, count, pointer);
  OGLM_CHECK_ERR("glTexCoordPointerEXT", )
#line 69453 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordPointerListIBM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordPointerListIBM_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "size, type, stride, pointer, ptrstride");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLint	stride = (int)SvIV(ST(2))
;
	const void**	pointer = INT2PTR(const void **,SvIV(ST(3)))
;
	GLint	ptrstride = (int)SvIV(ST(4))
;
#line 34330 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordPointerListIBM", )
  OGLM_AVAIL_CHECK(__glewTexCoordPointerListIBM, glTexCoordPointerListIBM)
  glTexCoordPointerListIBM(size, type, stride, pointer, ptrstride);
  OGLM_CHECK_ERR("glTexCoordPointerListIBM", )
#line 69482 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexCoordPointervINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexCoordPointervINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "size, type, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const void**	pointer = INT2PTR(const void **,SvIV(ST(2)))
;
#line 34342 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexCoordPointervINTEL", )
  OGLM_AVAIL_CHECK(__glewTexCoordPointervINTEL, glTexCoordPointervINTEL)
  glTexCoordPointervINTEL(size, type, pointer);
  OGLM_CHECK_ERR("glTexCoordPointervINTEL", )
#line 69507 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexEnvf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexEnvf)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	param = (float)SvNV(ST(2))
;
#line 34354 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexEnvf", )
  glTexEnvf(target, pname, param);
  OGLM_CHECK_ERR("glTexEnvf", )
#line 69531 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexEnvfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexEnvfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat *	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 34365 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexEnvfv", )
  glTexEnvfv(target, pname, params);
  OGLM_CHECK_ERR("glTexEnvfv", )
#line 69555 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexEnvfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexEnvfv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 34375 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexEnvfv", )
  OGLM_SIZE_ENUM(TextureEnvParameter,pname,1)
  GLfloat *params = OGLM_GET_VARARGS(params,2,GLfloat,NV,pname_count);
  glTexEnvfv((GLenum )target, (GLenum )pname, (const GLfloat *)params);
  OGLM_CHECK_ERR("glTexEnvfv", free(params);)
  free(params);
#line 69580 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexEnvi); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexEnvi)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 34389 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexEnvi", )
  glTexEnvi(target, pname, param);
  OGLM_CHECK_ERR("glTexEnvi", )
#line 69604 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexEnviv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexEnviv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 34400 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexEnviv", )
  glTexEnviv(target, pname, params);
  OGLM_CHECK_ERR("glTexEnviv", )
#line 69628 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexEnviv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexEnviv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 34410 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexEnviv", )
  OGLM_SIZE_ENUM(TextureEnvParameter,pname,1)
  GLint *params = OGLM_GET_VARARGS(params,2,GLint,IV,pname_count);
  glTexEnviv((GLenum )target, (GLenum )pname, (const GLint *)params);
  OGLM_CHECK_ERR("glTexEnviv", free(params);)
  free(params);
#line 69653 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexEnvx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexEnvx)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfixed	param = (int)SvIV(ST(2))
;
#line 34424 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexEnvx", )
  OGLM_AVAIL_CHECK(__glewTexEnvx, glTexEnvx)
  glTexEnvx(target, pname, param);
  OGLM_CHECK_ERR("glTexEnvx", )
#line 69678 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexEnvxv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexEnvxv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfixed*	params = INT2PTR(const GLfixed *,SvIV(ST(2)))
;
#line 34436 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexEnvxv", )
  OGLM_AVAIL_CHECK(__glewTexEnvxv, glTexEnvxv)
  glTexEnvxv(target, pname, params);
  OGLM_CHECK_ERR("glTexEnvxv", )
#line 69703 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexEnvxv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexEnvxv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 34447 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexEnvxv", )
  OGLM_AVAIL_CHECK(__glewTexEnvxv, glTexEnvxv)
  OGLM_SIZE_ENUM(TextureEnvParameter,pname,1)
  GLfixed* params = OGLM_GET_VARARGS(params,2,GLfixed,IV,pname_count);
  glTexEnvxv((GLenum )target, (GLenum )pname, (const GLfixed* )params);
  OGLM_CHECK_ERR("glTexEnvxv", free(params);)
  free(params);
#line 69729 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexEstimateMotionQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexEstimateMotionQCOM)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "ref, target, output");
    {
	GLuint	ref = (unsigned int)SvUV(ST(0))
;
	GLuint	target = (unsigned int)SvUV(ST(1))
;
	GLuint	output = (unsigned int)SvUV(ST(2))
;
#line 34462 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexEstimateMotionQCOM", )
  OGLM_AVAIL_CHECK(__glewTexEstimateMotionQCOM, glTexEstimateMotionQCOM)
  glTexEstimateMotionQCOM(ref, target, output);
  OGLM_CHECK_ERR("glTexEstimateMotionQCOM", )
#line 69754 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexEstimateMotionRegionsQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexEstimateMotionRegionsQCOM)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "ref, target, output, mask");
    {
	GLuint	ref = (unsigned int)SvUV(ST(0))
;
	GLuint	target = (unsigned int)SvUV(ST(1))
;
	GLuint	output = (unsigned int)SvUV(ST(2))
;
	GLuint	mask = (unsigned int)SvUV(ST(3))
;
#line 34475 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexEstimateMotionRegionsQCOM", )
  OGLM_AVAIL_CHECK(__glewTexEstimateMotionRegionsQCOM, glTexEstimateMotionRegionsQCOM)
  glTexEstimateMotionRegionsQCOM(ref, target, output, mask);
  OGLM_CHECK_ERR("glTexEstimateMotionRegionsQCOM", )
#line 69781 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexFilterFuncSGIS_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexFilterFuncSGIS_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, filter, n, weights");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	filter = (int)SvIV(ST(1))
;
	GLsizei	n = (int)SvIV(ST(2))
;
	const GLfloat*	weights = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 34488 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexFilterFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewTexFilterFuncSGIS, glTexFilterFuncSGIS)
  glTexFilterFuncSGIS(target, filter, n, weights);
  OGLM_CHECK_ERR("glTexFilterFuncSGIS", )
#line 69808 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexFilterFuncSGIS_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexFilterFuncSGIS_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, filter, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	filter = (int)SvIV(ST(1))
;
#line 34499 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexFilterFuncSGIS", )
  OGLM_AVAIL_CHECK(__glewTexFilterFuncSGIS, glTexFilterFuncSGIS)
  GLsizei n = items-2;
  GLfloat* weights = OGLM_GET_VARARGS(weights,2,GLfloat,NV,n);
  glTexFilterFuncSGIS((GLenum )target, (GLenum )filter, (GLsizei )n, (const GLfloat* )weights);
  OGLM_CHECK_ERR("glTexFilterFuncSGIS", free(weights);)
  free(weights);
#line 69834 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGend); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGend)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, param");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLdouble	param = (double)SvNV(ST(2))
;
#line 34514 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGend", )
  glTexGend(coord, pname, param);
  OGLM_CHECK_ERR("glTexGend", )
#line 69858 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGendv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGendv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLdouble *	params = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 34525 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGendv", )
  glTexGendv(coord, pname, params);
  OGLM_CHECK_ERR("glTexGendv", )
#line 69882 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGendv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGendv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "coord, pname, ...");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 34535 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGendv", )
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLdouble *params = OGLM_GET_VARARGS(params,2,GLdouble,NV,pname_count);
  glTexGendv((GLenum )coord, (GLenum )pname, (const GLdouble *)params);
  OGLM_CHECK_ERR("glTexGendv", free(params);)
  free(params);
#line 69907 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGenf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGenf)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, param");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	param = (float)SvNV(ST(2))
;
#line 34549 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGenf", )
  glTexGenf(coord, pname, param);
  OGLM_CHECK_ERR("glTexGenf", )
#line 69931 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGenfOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGenfOES)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, param");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	param = (float)SvNV(ST(2))
;
#line 34560 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGenfOES", )
  OGLM_AVAIL_CHECK(__glewTexGenfOES, glTexGenfOES)
  glTexGenfOES(coord, pname, param);
  OGLM_CHECK_ERR("glTexGenfOES", )
#line 69956 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGenfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGenfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat *	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 34572 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGenfv", )
  glTexGenfv(coord, pname, params);
  OGLM_CHECK_ERR("glTexGenfv", )
#line 69980 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGenfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGenfv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "coord, pname, ...");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 34582 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGenfv", )
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLfloat *params = OGLM_GET_VARARGS(params,2,GLfloat,NV,pname_count);
  glTexGenfv((GLenum )coord, (GLenum )pname, (const GLfloat *)params);
  OGLM_CHECK_ERR("glTexGenfv", free(params);)
  free(params);
#line 70005 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGenfvOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGenfvOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 34596 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGenfvOES", )
  OGLM_AVAIL_CHECK(__glewTexGenfvOES, glTexGenfvOES)
  glTexGenfvOES(coord, pname, params);
  OGLM_CHECK_ERR("glTexGenfvOES", )
#line 70030 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGeni); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGeni)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, param");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 34608 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGeni", )
  glTexGeni(coord, pname, param);
  OGLM_CHECK_ERR("glTexGeni", )
#line 70054 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGeniOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGeniOES)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, param");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 34619 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGeniOES", )
  OGLM_AVAIL_CHECK(__glewTexGeniOES, glTexGeniOES)
  glTexGeniOES(coord, pname, param);
  OGLM_CHECK_ERR("glTexGeniOES", )
#line 70079 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGeniv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGeniv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 34631 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGeniv", )
  glTexGeniv(coord, pname, params);
  OGLM_CHECK_ERR("glTexGeniv", )
#line 70103 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGeniv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGeniv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "coord, pname, ...");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 34641 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGeniv", )
  OGLM_SIZE_ENUM(TextureGenParameter,pname,1)
  GLint *params = OGLM_GET_VARARGS(params,2,GLint,IV,pname_count);
  glTexGeniv((GLenum )coord, (GLenum )pname, (const GLint *)params);
  OGLM_CHECK_ERR("glTexGeniv", free(params);)
  free(params);
#line 70128 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGenivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGenivOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 34655 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGenivOES", )
  OGLM_AVAIL_CHECK(__glewTexGenivOES, glTexGenivOES)
  glTexGenivOES(coord, pname, params);
  OGLM_CHECK_ERR("glTexGenivOES", )
#line 70153 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGenxOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGenxOES)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, param");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfixed	param = (int)SvIV(ST(2))
;
#line 34667 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGenxOES", )
  OGLM_AVAIL_CHECK(__glewTexGenxOES, glTexGenxOES)
  glTexGenxOES(coord, pname, param);
  OGLM_CHECK_ERR("glTexGenxOES", )
#line 70178 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexGenxvOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexGenxvOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfixed*	params = INT2PTR(const GLfixed *,SvIV(ST(2)))
;
#line 34679 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexGenxvOES", )
  OGLM_AVAIL_CHECK(__glewTexGenxvOES, glTexGenxvOES)
  glTexGenxvOES(coord, pname, params);
  OGLM_CHECK_ERR("glTexGenxvOES", )
#line 70203 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexImage1D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexImage1D_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "target, level, internalformat, width, border, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLint	border = (int)SvIV(ST(4))
;
	GLenum	format = (int)SvIV(ST(5))
;
	GLenum	type = (int)SvIV(ST(6))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(7)))
;
#line 34696 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexImage1D", )
  glTexImage1D(target, level, internalformat, width, border, format, type, pixels);
  OGLM_CHECK_ERR("glTexImage1D", )
#line 70237 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexImage2D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexImage2D_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "target, level, internalformat, width, height, border, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLint	border = (int)SvIV(ST(5))
;
	GLenum	format = (int)SvIV(ST(6))
;
	GLenum	type = (int)SvIV(ST(7))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(8)))
;
#line 34713 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexImage2D", )
  glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
  OGLM_CHECK_ERR("glTexImage2D", )
#line 70273 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexImage2DMultisample); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexImage2DMultisample)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, samples, internalformat, width, height, fixedsamplelocations");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLboolean	fixedsamplelocations = (int)SvIV(ST(5))
;
#line 34727 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexImage2DMultisample", )
  OGLM_AVAIL_CHECK(__glewTexImage2DMultisample, glTexImage2DMultisample)
  glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
  OGLM_CHECK_ERR("glTexImage2DMultisample", )
#line 70304 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexImage2DMultisampleCoverageNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexImage2DMultisampleCoverageNV)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	coverageSamples = (int)SvIV(ST(1))
;
	GLsizei	colorSamples = (int)SvIV(ST(2))
;
	GLint	internalFormat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLboolean	fixedSampleLocations = (int)SvIV(ST(6))
;
#line 34743 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexImage2DMultisampleCoverageNV", )
  OGLM_AVAIL_CHECK(__glewTexImage2DMultisampleCoverageNV, glTexImage2DMultisampleCoverageNV)
  glTexImage2DMultisampleCoverageNV(target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations);
  OGLM_CHECK_ERR("glTexImage2DMultisampleCoverageNV", )
#line 70337 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexImage3D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexImage3D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 10)
       croak_xs_usage(cv,  "target, level, internalformat, width, height, depth, border, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLint	border = (int)SvIV(ST(6))
;
	GLenum	format = (int)SvIV(ST(7))
;
	GLenum	type = (int)SvIV(ST(8))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(9)))
;
#line 34764 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexImage3D", )
  OGLM_AVAIL_CHECK(__glewTexImage3D, glTexImage3D)
  glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
  OGLM_CHECK_ERR("glTexImage3D", )
#line 70377 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexImage3DMultisample); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexImage3DMultisample)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, samples, internalformat, width, height, depth, fixedsamplelocations");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLboolean	fixedsamplelocations = (int)SvIV(ST(6))
;
#line 34780 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexImage3DMultisample", )
  OGLM_AVAIL_CHECK(__glewTexImage3DMultisample, glTexImage3DMultisample)
  glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
  OGLM_CHECK_ERR("glTexImage3DMultisample", )
#line 70410 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexImage3DMultisampleCoverageNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexImage3DMultisampleCoverageNV)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	coverageSamples = (int)SvIV(ST(1))
;
	GLsizei	colorSamples = (int)SvIV(ST(2))
;
	GLint	internalFormat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLsizei	depth = (int)SvIV(ST(6))
;
	GLboolean	fixedSampleLocations = (int)SvIV(ST(7))
;
#line 34797 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexImage3DMultisampleCoverageNV", )
  OGLM_AVAIL_CHECK(__glewTexImage3DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV)
  glTexImage3DMultisampleCoverageNV(target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations);
  OGLM_CHECK_ERR("glTexImage3DMultisampleCoverageNV", )
#line 70445 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexImage3DNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexImage3DNV_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "target, level, internalFormat, width, height, depth, border, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLint	border = (int)SvIV(ST(6))
;
	GLenum	format = (int)SvIV(ST(7))
;
	GLenum	type = (int)SvIV(ST(8))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(9)))
;
#line 34816 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexImage3DNV", )
  OGLM_AVAIL_CHECK(__glewTexImage3DNV, glTexImage3DNV)
  glTexImage3DNV(target, level, internalFormat, width, height, depth, border, format, type, pixels);
  OGLM_CHECK_ERR("glTexImage3DNV", )
#line 70484 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexImage3DOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexImage3DOES_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "target, level, internalFormat, width, height, depth, border, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLint	border = (int)SvIV(ST(6))
;
	GLenum	format = (int)SvIV(ST(7))
;
	GLenum	type = (int)SvIV(ST(8))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(9)))
;
#line 34835 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexImage3DOES", )
  OGLM_AVAIL_CHECK(__glewTexImage3DOES, glTexImage3DOES)
  glTexImage3DOES(target, level, internalFormat, width, height, depth, border, format, type, pixels);
  OGLM_CHECK_ERR("glTexImage3DOES", )
#line 70523 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexImage4DSGIS_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexImage4DSGIS_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "target, level, internalformat, width, height, depth, size4d, border, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLsizei	size4d = (int)SvIV(ST(6))
;
	GLint	border = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLenum	type = (int)SvIV(ST(9))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(10)))
;
#line 34855 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexImage4DSGIS", )
  OGLM_AVAIL_CHECK(__glewTexImage4DSGIS, glTexImage4DSGIS)
  glTexImage4DSGIS(target, level, internalformat, width, height, depth, size4d, border, format, type, pixels);
  OGLM_CHECK_ERR("glTexImage4DSGIS", )
#line 70564 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexPageCommitmentARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexPageCommitmentARB)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 9)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, width, height, depth, commit");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLboolean	commit = (int)SvIV(ST(8))
;
#line 34875 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexPageCommitmentARB", )
  OGLM_AVAIL_CHECK(__glewTexPageCommitmentARB, glTexPageCommitmentARB)
  glTexPageCommitmentARB(target, level, xoffset, yoffset, zoffset, width, height, depth, commit);
  OGLM_CHECK_ERR("glTexPageCommitmentARB", )
#line 70602 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexPageCommitmentMemNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexPageCommitmentMemNV)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	layer = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLint	zoffset = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLsizei	height = (int)SvIV(ST(7))
;
	GLsizei	depth = (int)SvIV(ST(8))
;
	GLuint	memory = (unsigned int)SvUV(ST(9))
;
	GLuint64	offset = (unsigned int)SvUV(ST(10))
;
	GLboolean	commit = (int)SvIV(ST(11))
;
#line 34896 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexPageCommitmentMemNV", )
  OGLM_AVAIL_CHECK(__glewTexPageCommitmentMemNV, glTexPageCommitmentMemNV)
  glTexPageCommitmentMemNV(target, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit);
  OGLM_CHECK_ERR("glTexPageCommitmentMemNV", )
#line 70645 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterIiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterIiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 34910 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterIiv", )
  OGLM_AVAIL_CHECK(__glewTexParameterIiv, glTexParameterIiv)
  glTexParameterIiv(target, pname, params);
  OGLM_CHECK_ERR("glTexParameterIiv", )
#line 70671 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterIiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterIiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 34923 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterIiv", )
  OGLM_AVAIL_CHECK(__glewTexParameterIiv, glTexParameterIiv)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLint* params = OGLM_GET_VARARGS(params,2,GLint,IV,pname_count);
  glTexParameterIiv((GLenum )target, (GLenum )pname, (const GLint* )params);
  OGLM_CHECK_ERR("glTexParameterIiv", free(params);)
  free(params);
#line 70698 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterIivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterIivOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 34938 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterIivOES", )
  OGLM_AVAIL_CHECK(__glewTexParameterIivOES, glTexParameterIivOES)
  glTexParameterIivOES(target, pname, params);
  OGLM_CHECK_ERR("glTexParameterIivOES", )
#line 70723 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterIuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterIuiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLuint*	params = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 34952 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterIuiv", )
  OGLM_AVAIL_CHECK(__glewTexParameterIuiv, glTexParameterIuiv)
  glTexParameterIuiv(target, pname, params);
  OGLM_CHECK_ERR("glTexParameterIuiv", )
#line 70749 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterIuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterIuiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 34965 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterIuiv", )
  OGLM_AVAIL_CHECK(__glewTexParameterIuiv, glTexParameterIuiv)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLuint* params = OGLM_GET_VARARGS(params,2,GLuint,UV,pname_count);
  glTexParameterIuiv((GLenum )target, (GLenum )pname, (const GLuint* )params);
  OGLM_CHECK_ERR("glTexParameterIuiv", free(params);)
  free(params);
#line 70776 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterIuivOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterIuivOES_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLuint*	params = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 34980 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterIuivOES", )
  OGLM_AVAIL_CHECK(__glewTexParameterIuivOES, glTexParameterIuivOES)
  glTexParameterIuivOES(target, pname, params);
  OGLM_CHECK_ERR("glTexParameterIuivOES", )
#line 70801 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterf)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	param = (float)SvNV(ST(2))
;
#line 34992 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterf", )
  glTexParameterf(target, pname, param);
  OGLM_CHECK_ERR("glTexParameterf", )
#line 70825 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat *	params = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 35003 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterfv", )
  glTexParameterfv(target, pname, params);
  OGLM_CHECK_ERR("glTexParameterfv", )
#line 70849 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterfv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 35013 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterfv", )
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLfloat *params = OGLM_GET_VARARGS(params,2,GLfloat,NV,pname_count);
  glTexParameterfv((GLenum )target, (GLenum )pname, (const GLfloat *)params);
  OGLM_CHECK_ERR("glTexParameterfv", free(params);)
  free(params);
#line 70874 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameteri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameteri)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 35027 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameteri", )
  glTexParameteri(target, pname, param);
  OGLM_CHECK_ERR("glTexParameteri", )
#line 70898 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint *	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 35038 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameteriv", )
  glTexParameteriv(target, pname, params);
  OGLM_CHECK_ERR("glTexParameteriv", )
#line 70922 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameteriv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 35048 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameteriv", )
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLint *params = OGLM_GET_VARARGS(params,2,GLint,IV,pname_count);
  glTexParameteriv((GLenum )target, (GLenum )pname, (const GLint *)params);
  OGLM_CHECK_ERR("glTexParameteriv", free(params);)
  free(params);
#line 70947 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterx); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterx)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, param");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfixed	param = (int)SvIV(ST(2))
;
#line 35062 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterx", )
  OGLM_AVAIL_CHECK(__glewTexParameterx, glTexParameterx)
  glTexParameterx(target, pname, param);
  OGLM_CHECK_ERR("glTexParameterx", )
#line 70972 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterxv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterxv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfixed*	params = INT2PTR(const GLfixed *,SvIV(ST(2)))
;
#line 35074 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterxv", )
  OGLM_AVAIL_CHECK(__glewTexParameterxv, glTexParameterxv)
  glTexParameterxv(target, pname, params);
  OGLM_CHECK_ERR("glTexParameterxv", )
#line 70997 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexParameterxv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexParameterxv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "target, pname, ...");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 35085 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexParameterxv", )
  OGLM_AVAIL_CHECK(__glewTexParameterxv, glTexParameterxv)
  OGLM_SIZE_ENUM(GetTextureParameter,pname,1)
  GLfixed* params = OGLM_GET_VARARGS(params,2,GLfixed,IV,pname_count);
  glTexParameterxv((GLenum )target, (GLenum )pname, (const GLfixed* )params);
  OGLM_CHECK_ERR("glTexParameterxv", free(params);)
  free(params);
#line 71023 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexRenderbufferNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexRenderbufferNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, renderbuffer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	renderbuffer = (unsigned int)SvUV(ST(1))
;
#line 35099 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexRenderbufferNV", )
  OGLM_AVAIL_CHECK(__glewTexRenderbufferNV, glTexRenderbufferNV)
  glTexRenderbufferNV(target, renderbuffer);
  OGLM_CHECK_ERR("glTexRenderbufferNV", )
#line 71046 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexScissorFuncINTEL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexScissorFuncINTEL)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, lfunc, hfunc");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	lfunc = (int)SvIV(ST(1))
;
	GLenum	hfunc = (int)SvIV(ST(2))
;
#line 35111 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexScissorFuncINTEL", )
  OGLM_AVAIL_CHECK(__glewTexScissorFuncINTEL, glTexScissorFuncINTEL)
  glTexScissorFuncINTEL(target, lfunc, hfunc);
  OGLM_CHECK_ERR("glTexScissorFuncINTEL", )
#line 71071 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexScissorINTEL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexScissorINTEL)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, tlow, thigh");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLclampf	tlow = (float)SvNV(ST(1))
;
	GLclampf	thigh = (float)SvNV(ST(2))
;
#line 35123 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexScissorINTEL", )
  OGLM_AVAIL_CHECK(__glewTexScissorINTEL, glTexScissorINTEL)
  glTexScissorINTEL(target, tlow, thigh);
  OGLM_CHECK_ERR("glTexScissorINTEL", )
#line 71096 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorage1D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorage1D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "target, levels, internalformat, width");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
#line 35138 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorage1D", )
  OGLM_AVAIL_CHECK(__glewTexStorage1D, glTexStorage1D)
  glTexStorage1D(target, levels, internalformat, width);
  OGLM_CHECK_ERR("glTexStorage1D", )
#line 71124 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorage2D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorage2D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "target, levels, internalformat, width, height");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 35154 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorage2D", )
  OGLM_AVAIL_CHECK(__glewTexStorage2D, glTexStorage2D)
  glTexStorage2D(target, levels, internalformat, width, height);
  OGLM_CHECK_ERR("glTexStorage2D", )
#line 71154 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorage2DMultisample); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorage2DMultisample)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, samples, internalformat, width, height, fixedsamplelocations");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLboolean	fixedsamplelocations = (int)SvIV(ST(5))
;
#line 35169 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorage2DMultisample", )
  OGLM_AVAIL_CHECK(__glewTexStorage2DMultisample, glTexStorage2DMultisample)
  glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
  OGLM_CHECK_ERR("glTexStorage2DMultisample", )
#line 71185 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorage3D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorage3D)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "target, levels, internalformat, width, height, depth");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
#line 35186 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorage3D", )
  OGLM_AVAIL_CHECK(__glewTexStorage3D, glTexStorage3D)
  glTexStorage3D(target, levels, internalformat, width, height, depth);
  OGLM_CHECK_ERR("glTexStorage3D", )
#line 71217 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorage3DMultisample); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorage3DMultisample)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, samples, internalformat, width, height, depth, fixedsamplelocations");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLboolean	fixedsamplelocations = (int)SvIV(ST(6))
;
#line 35202 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorage3DMultisample", )
  OGLM_AVAIL_CHECK(__glewTexStorage3DMultisample, glTexStorage3DMultisample)
  glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
  OGLM_CHECK_ERR("glTexStorage3DMultisample", )
#line 71250 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorage3DMultisampleOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorage3DMultisampleOES)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, samples, internalformat, width, height, depth, fixedsamplelocations");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLboolean	fixedsamplelocations = (int)SvIV(ST(6))
;
#line 35218 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorage3DMultisampleOES", )
  OGLM_AVAIL_CHECK(__glewTexStorage3DMultisampleOES, glTexStorage3DMultisampleOES)
  glTexStorage3DMultisampleOES(target, samples, internalformat, width, height, depth, fixedsamplelocations);
  OGLM_CHECK_ERR("glTexStorage3DMultisampleOES", )
#line 71283 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorageAttribs2DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorageAttribs2DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, levels, internalformat, width, height, attrib_list");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	const GLint*	attrib_list = INT2PTR(const GLint *,SvIV(ST(5)))
;
#line 35233 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorageAttribs2DEXT", )
  OGLM_AVAIL_CHECK(__glewTexStorageAttribs2DEXT, glTexStorageAttribs2DEXT)
  glTexStorageAttribs2DEXT(target, levels, internalformat, width, height, attrib_list);
  OGLM_CHECK_ERR("glTexStorageAttribs2DEXT", )
#line 71314 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorageAttribs3DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorageAttribs3DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, levels, internalformat, width, height, depth, attrib_list");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	const GLint*	attrib_list = INT2PTR(const GLint *,SvIV(ST(6)))
;
#line 35249 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorageAttribs3DEXT", )
  OGLM_AVAIL_CHECK(__glewTexStorageAttribs3DEXT, glTexStorageAttribs3DEXT)
  glTexStorageAttribs3DEXT(target, levels, internalformat, width, height, depth, attrib_list);
  OGLM_CHECK_ERR("glTexStorageAttribs3DEXT", )
#line 71347 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorageMem1DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorageMem1DEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "target, levels, internalFormat, width, memory, offset");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLuint	memory = (unsigned int)SvUV(ST(4))
;
	GLuint64	offset = (unsigned int)SvUV(ST(5))
;
#line 35264 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorageMem1DEXT", )
  OGLM_AVAIL_CHECK(__glewTexStorageMem1DEXT, glTexStorageMem1DEXT)
  glTexStorageMem1DEXT(target, levels, internalFormat, width, memory, offset);
  OGLM_CHECK_ERR("glTexStorageMem1DEXT", )
#line 71378 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorageMem2DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorageMem2DEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, levels, internalFormat, width, height, memory, offset");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLuint	memory = (unsigned int)SvUV(ST(5))
;
	GLuint64	offset = (unsigned int)SvUV(ST(6))
;
#line 35280 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorageMem2DEXT", )
  OGLM_AVAIL_CHECK(__glewTexStorageMem2DEXT, glTexStorageMem2DEXT)
  glTexStorageMem2DEXT(target, levels, internalFormat, width, height, memory, offset);
  OGLM_CHECK_ERR("glTexStorageMem2DEXT", )
#line 71411 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorageMem2DMultisampleEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorageMem2DMultisampleEXT)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "target, samples, internalFormat, width, height, fixedSampleLocations, memory, offset");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLboolean	fixedSampleLocations = (int)SvIV(ST(5))
;
	GLuint	memory = (unsigned int)SvUV(ST(6))
;
	GLuint64	offset = (unsigned int)SvUV(ST(7))
;
#line 35297 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorageMem2DMultisampleEXT", )
  OGLM_AVAIL_CHECK(__glewTexStorageMem2DMultisampleEXT, glTexStorageMem2DMultisampleEXT)
  glTexStorageMem2DMultisampleEXT(target, samples, internalFormat, width, height, fixedSampleLocations, memory, offset);
  OGLM_CHECK_ERR("glTexStorageMem2DMultisampleEXT", )
#line 71446 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorageMem3DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorageMem3DEXT)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "target, levels, internalFormat, width, height, depth, memory, offset");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLuint	memory = (unsigned int)SvUV(ST(6))
;
	GLuint64	offset = (unsigned int)SvUV(ST(7))
;
#line 35314 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorageMem3DEXT", )
  OGLM_AVAIL_CHECK(__glewTexStorageMem3DEXT, glTexStorageMem3DEXT)
  glTexStorageMem3DEXT(target, levels, internalFormat, width, height, depth, memory, offset);
  OGLM_CHECK_ERR("glTexStorageMem3DEXT", )
#line 71481 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorageMem3DMultisampleEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorageMem3DMultisampleEXT)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "target, samples, internalFormat, width, height, depth, fixedSampleLocations, memory, offset");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLboolean	fixedSampleLocations = (int)SvIV(ST(6))
;
	GLuint	memory = (unsigned int)SvUV(ST(7))
;
	GLuint64	offset = (unsigned int)SvUV(ST(8))
;
#line 35332 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorageMem3DMultisampleEXT", )
  OGLM_AVAIL_CHECK(__glewTexStorageMem3DMultisampleEXT, glTexStorageMem3DMultisampleEXT)
  glTexStorageMem3DMultisampleEXT(target, samples, internalFormat, width, height, depth, fixedSampleLocations, memory, offset);
  OGLM_CHECK_ERR("glTexStorageMem3DMultisampleEXT", )
#line 71518 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexStorageSparseAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexStorageSparseAMD)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "target, internalFormat, width, height, depth, layers, flags");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	internalFormat = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
	GLsizei	depth = (int)SvIV(ST(4))
;
	GLsizei	layers = (int)SvIV(ST(5))
;
	GLbitfield	flags = (int)SvIV(ST(6))
;
#line 35348 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexStorageSparseAMD", )
  OGLM_AVAIL_CHECK(__glewTexStorageSparseAMD, glTexStorageSparseAMD)
  glTexStorageSparseAMD(target, internalFormat, width, height, depth, layers, flags);
  OGLM_CHECK_ERR("glTexStorageSparseAMD", )
#line 71551 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexSubImage1D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexSubImage1D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 7)
       croak_xs_usage(cv,  "target, level, xoffset, width, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLenum	type = (int)SvIV(ST(5))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(6)))
;
#line 35366 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexSubImage1D", )
  glTexSubImage1D(target, level, xoffset, width, format, type, pixels);
  OGLM_CHECK_ERR("glTexSubImage1D", )
#line 71584 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexSubImage2D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexSubImage2D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 9)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, width, height, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLenum	format = (int)SvIV(ST(6))
;
	GLenum	type = (int)SvIV(ST(7))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(8)))
;
#line 35385 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexSubImage2D", )
  glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
  OGLM_CHECK_ERR("glTexSubImage2D", )
#line 71621 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexSubImage3D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexSubImage3D_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 11)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLenum	type = (int)SvIV(ST(9))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(10)))
;
#line 35406 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexSubImage3D", )
  OGLM_AVAIL_CHECK(__glewTexSubImage3D, glTexSubImage3D)
  glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
  OGLM_CHECK_ERR("glTexSubImage3D", )
#line 71663 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexSubImage3DNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexSubImage3DNV_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLenum	type = (int)SvIV(ST(9))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(10)))
;
#line 35426 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexSubImage3DNV", )
  OGLM_AVAIL_CHECK(__glewTexSubImage3DNV, glTexSubImage3DNV)
  glTexSubImage3DNV(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
  OGLM_CHECK_ERR("glTexSubImage3DNV", )
#line 71704 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexSubImage3DOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexSubImage3DOES_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLenum	type = (int)SvIV(ST(9))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(10)))
;
#line 35446 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexSubImage3DOES", )
  OGLM_AVAIL_CHECK(__glewTexSubImage3DOES, glTexSubImage3DOES)
  glTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
  OGLM_CHECK_ERR("glTexSubImage3DOES", )
#line 71745 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexSubImage4DSGIS_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexSubImage4DSGIS_c)
{
    dVAR; dXSARGS;
    if (items != 13)
       croak_xs_usage(cv,  "target, level, xoffset, yoffset, zoffset, woffset, width, height, depth, size4d, format, type, pixels");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLint	woffset = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLsizei	height = (int)SvIV(ST(7))
;
	GLsizei	depth = (int)SvIV(ST(8))
;
	GLsizei	size4d = (int)SvIV(ST(9))
;
	GLenum	format = (int)SvIV(ST(10))
;
	GLenum	type = (int)SvIV(ST(11))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(12)))
;
#line 35468 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexSubImage4DSGIS", )
  OGLM_AVAIL_CHECK(__glewTexSubImage4DSGIS, glTexSubImage4DSGIS)
  glTexSubImage4DSGIS(target, level, xoffset, yoffset, zoffset, woffset, width, height, depth, size4d, format, type, pixels);
  OGLM_CHECK_ERR("glTexSubImage4DSGIS", )
#line 71790 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureAttachMemoryNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureAttachMemoryNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, memory, offset");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLuint	memory = (unsigned int)SvUV(ST(1))
;
	GLuint64	offset = (unsigned int)SvUV(ST(2))
;
#line 35480 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureAttachMemoryNV", )
  OGLM_AVAIL_CHECK(__glewTextureAttachMemoryNV, glTextureAttachMemoryNV)
  glTextureAttachMemoryNV(texture, memory, offset);
  OGLM_CHECK_ERR("glTextureAttachMemoryNV", )
#line 71815 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureBarrier); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureBarrier)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 35489 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureBarrier", )
  OGLM_AVAIL_CHECK(__glewTextureBarrier, glTextureBarrier)
  glTextureBarrier();
  OGLM_CHECK_ERR("glTextureBarrier", )
#line 71834 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureBarrierNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureBarrierNV)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 35498 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureBarrierNV", )
  OGLM_AVAIL_CHECK(__glewTextureBarrierNV, glTextureBarrierNV)
  glTextureBarrierNV();
  OGLM_CHECK_ERR("glTextureBarrierNV", )
#line 71853 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureBuffer)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, internalformat, buffer");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
#line 35510 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureBuffer", )
  OGLM_AVAIL_CHECK(__glewTextureBuffer, glTextureBuffer)
  glTextureBuffer(texture, internalformat, buffer);
  OGLM_CHECK_ERR("glTextureBuffer", )
#line 71878 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureBufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureBufferEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, internalformat, buffer");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLuint	buffer = (unsigned int)SvUV(ST(3))
;
#line 35523 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureBufferEXT", )
  OGLM_AVAIL_CHECK(__glewTextureBufferEXT, glTextureBufferEXT)
  glTextureBufferEXT(texture, target, internalformat, buffer);
  OGLM_CHECK_ERR("glTextureBufferEXT", )
#line 71905 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureBufferRange); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureBufferRange)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texture, internalformat, buffer, offset, size");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	internalformat = (int)SvIV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(4))
;
#line 35537 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureBufferRange", )
  OGLM_AVAIL_CHECK(__glewTextureBufferRange, glTextureBufferRange)
  glTextureBufferRange(texture, internalformat, buffer, offset, size);
  OGLM_CHECK_ERR("glTextureBufferRange", )
#line 71934 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureBufferRangeEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureBufferRangeEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "texture, target, internalformat, buffer, offset, size");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLuint	buffer = (unsigned int)SvUV(ST(3))
;
	GLintptr	offset = (unsigned int)SvUV(ST(4))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(5))
;
#line 35552 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureBufferRangeEXT", )
  OGLM_AVAIL_CHECK(__glewTextureBufferRangeEXT, glTextureBufferRangeEXT)
  glTextureBufferRangeEXT(texture, target, internalformat, buffer, offset, size);
  OGLM_CHECK_ERR("glTextureBufferRangeEXT", )
#line 71965 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureFogSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureFogSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pname");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 35562 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureFogSGIX", )
  OGLM_AVAIL_CHECK(__glewTextureFogSGIX, glTextureFogSGIX)
  glTextureFogSGIX(pname);
  OGLM_CHECK_ERR("glTextureFogSGIX", )
#line 71986 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureFoveationParametersQCOM); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureFoveationParametersQCOM)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, layer, focalPoint, focalX, focalY, gainX, gainY, foveaArea");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLuint	layer = (unsigned int)SvUV(ST(1))
;
	GLuint	focalPoint = (unsigned int)SvUV(ST(2))
;
	GLfloat	focalX = (float)SvNV(ST(3))
;
	GLfloat	focalY = (float)SvNV(ST(4))
;
	GLfloat	gainX = (float)SvNV(ST(5))
;
	GLfloat	gainY = (float)SvNV(ST(6))
;
	GLfloat	foveaArea = (float)SvNV(ST(7))
;
#line 35579 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureFoveationParametersQCOM", )
  OGLM_AVAIL_CHECK(__glewTextureFoveationParametersQCOM, glTextureFoveationParametersQCOM)
  glTextureFoveationParametersQCOM(texture, layer, focalPoint, focalX, focalY, gainX, gainY, foveaArea);
  OGLM_CHECK_ERR("glTextureFoveationParametersQCOM", )
#line 72021 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureImage1DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureImage1DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texture, target, level, internalformat, width, border, format, type, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLint	border = (int)SvIV(ST(5))
;
	GLenum	format = (int)SvIV(ST(6))
;
	GLenum	type = (int)SvIV(ST(7))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(8)))
;
#line 35597 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureImage1DEXT, glTextureImage1DEXT)
  glTextureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels);
  OGLM_CHECK_ERR("glTextureImage1DEXT", )
#line 72058 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureImage2DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureImage2DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "texture, target, level, internalformat, width, height, border, format, type, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLint	border = (int)SvIV(ST(6))
;
	GLenum	format = (int)SvIV(ST(7))
;
	GLenum	type = (int)SvIV(ST(8))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(9)))
;
#line 35616 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureImage2DEXT, glTextureImage2DEXT)
  glTextureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels);
  OGLM_CHECK_ERR("glTextureImage2DEXT", )
#line 72097 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureImage2DMultisampleCoverageNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureImage2DMultisampleCoverageNV)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	coverageSamples = (int)SvIV(ST(2))
;
	GLsizei	colorSamples = (int)SvIV(ST(3))
;
	GLint	internalFormat = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLboolean	fixedSampleLocations = (int)SvIV(ST(7))
;
#line 35633 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureImage2DMultisampleCoverageNV", )
  OGLM_AVAIL_CHECK(__glewTextureImage2DMultisampleCoverageNV, glTextureImage2DMultisampleCoverageNV)
  glTextureImage2DMultisampleCoverageNV(texture, target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations);
  OGLM_CHECK_ERR("glTextureImage2DMultisampleCoverageNV", )
#line 72132 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureImage2DMultisampleNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureImage2DMultisampleNV)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "texture, target, samples, internalFormat, width, height, fixedSampleLocations");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	samples = (int)SvIV(ST(2))
;
	GLint	internalFormat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLboolean	fixedSampleLocations = (int)SvIV(ST(6))
;
#line 35649 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureImage2DMultisampleNV", )
  OGLM_AVAIL_CHECK(__glewTextureImage2DMultisampleNV, glTextureImage2DMultisampleNV)
  glTextureImage2DMultisampleNV(texture, target, samples, internalFormat, width, height, fixedSampleLocations);
  OGLM_CHECK_ERR("glTextureImage2DMultisampleNV", )
#line 72165 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureImage3DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureImage3DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "texture, target, level, internalformat, width, height, depth, border, format, type, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLsizei	depth = (int)SvIV(ST(6))
;
	GLint	border = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLenum	type = (int)SvIV(ST(9))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(10)))
;
#line 35669 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureImage3DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureImage3DEXT, glTextureImage3DEXT)
  glTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels);
  OGLM_CHECK_ERR("glTextureImage3DEXT", )
#line 72206 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureImage3DMultisampleCoverageNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureImage3DMultisampleCoverageNV)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texture, target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	coverageSamples = (int)SvIV(ST(2))
;
	GLsizei	colorSamples = (int)SvIV(ST(3))
;
	GLint	internalFormat = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLboolean	fixedSampleLocations = (int)SvIV(ST(8))
;
#line 35687 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureImage3DMultisampleCoverageNV", )
  OGLM_AVAIL_CHECK(__glewTextureImage3DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV)
  glTextureImage3DMultisampleCoverageNV(texture, target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations);
  OGLM_CHECK_ERR("glTextureImage3DMultisampleCoverageNV", )
#line 72243 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureImage3DMultisampleNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureImage3DMultisampleNV)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, target, samples, internalFormat, width, height, depth, fixedSampleLocations");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	samples = (int)SvIV(ST(2))
;
	GLint	internalFormat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLsizei	depth = (int)SvIV(ST(6))
;
	GLboolean	fixedSampleLocations = (int)SvIV(ST(7))
;
#line 35704 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureImage3DMultisampleNV", )
  OGLM_AVAIL_CHECK(__glewTextureImage3DMultisampleNV, glTextureImage3DMultisampleNV)
  glTextureImage3DMultisampleNV(texture, target, samples, internalFormat, width, height, depth, fixedSampleLocations);
  OGLM_CHECK_ERR("glTextureImage3DMultisampleNV", )
#line 72278 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureLightEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureLightEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pname");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
#line 35714 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureLightEXT", )
  OGLM_AVAIL_CHECK(__glewTextureLightEXT, glTextureLightEXT)
  glTextureLightEXT(pname);
  OGLM_CHECK_ERR("glTextureLightEXT", )
#line 72299 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureMaterialEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureMaterialEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "face, mode");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	mode = (int)SvIV(ST(1))
;
#line 35725 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureMaterialEXT", )
  OGLM_AVAIL_CHECK(__glewTextureMaterialEXT, glTextureMaterialEXT)
  glTextureMaterialEXT(face, mode);
  OGLM_CHECK_ERR("glTextureMaterialEXT", )
#line 72322 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureNormalEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureNormalEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mode");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 35735 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureNormalEXT", )
  OGLM_AVAIL_CHECK(__glewTextureNormalEXT, glTextureNormalEXT)
  glTextureNormalEXT(mode);
  OGLM_CHECK_ERR("glTextureNormalEXT", )
#line 72343 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexturePageCommitmentEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexturePageCommitmentEXT)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texture, level, xoffset, yoffset, zoffset, width, height, depth, commit");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLboolean	commit = (int)SvIV(ST(8))
;
#line 35753 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexturePageCommitmentEXT", )
  OGLM_AVAIL_CHECK(__glewTexturePageCommitmentEXT, glTexturePageCommitmentEXT)
  glTexturePageCommitmentEXT(texture, level, xoffset, yoffset, zoffset, width, height, depth, commit);
  OGLM_CHECK_ERR("glTexturePageCommitmentEXT", )
#line 72380 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTexturePageCommitmentMemNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTexturePageCommitmentMemNV)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	layer = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLint	zoffset = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLsizei	height = (int)SvIV(ST(7))
;
	GLsizei	depth = (int)SvIV(ST(8))
;
	GLuint	memory = (unsigned int)SvUV(ST(9))
;
	GLuint64	offset = (unsigned int)SvUV(ST(10))
;
	GLboolean	commit = (int)SvIV(ST(11))
;
#line 35774 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTexturePageCommitmentMemNV", )
  OGLM_AVAIL_CHECK(__glewTexturePageCommitmentMemNV, glTexturePageCommitmentMemNV)
  glTexturePageCommitmentMemNV(texture, layer, level, xoffset, yoffset, zoffset, width, height, depth, memory, offset, commit);
  OGLM_CHECK_ERR("glTexturePageCommitmentMemNV", )
#line 72423 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 35786 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterIiv", )
  OGLM_AVAIL_CHECK(__glewTextureParameterIiv, glTextureParameterIiv)
  glTextureParameterIiv(texture, pname, params);
  OGLM_CHECK_ERR("glTextureParameterIiv", )
#line 72448 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIiv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "texture, pname, ...");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 35797 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterIiv", )
  OGLM_AVAIL_CHECK(__glewTextureParameterIiv, glTextureParameterIiv)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLint* params = OGLM_GET_VARARGS(params,2,GLint,IV,pname_count);
  glTextureParameterIiv((GLuint )texture, (GLenum )pname, (const GLint* )params);
  OGLM_CHECK_ERR("glTextureParameterIiv", free(params);)
  free(params);
#line 72474 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 35813 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterIivEXT", )
  OGLM_AVAIL_CHECK(__glewTextureParameterIivEXT, glTextureParameterIivEXT)
  glTextureParameterIivEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glTextureParameterIivEXT", )
#line 72501 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texture, target, pname, ...");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 35825 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterIivEXT", )
  OGLM_AVAIL_CHECK(__glewTextureParameterIivEXT, glTextureParameterIivEXT)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLint* params = OGLM_GET_VARARGS(params,3,GLint,IV,pname_count);
  glTextureParameterIivEXT((GLuint )texture, (GLenum )target, (GLenum )pname, (const GLint* )params);
  OGLM_CHECK_ERR("glTextureParameterIivEXT", free(params);)
  free(params);
#line 72529 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIuiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLuint*	params = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 35840 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterIuiv", )
  OGLM_AVAIL_CHECK(__glewTextureParameterIuiv, glTextureParameterIuiv)
  glTextureParameterIuiv(texture, pname, params);
  OGLM_CHECK_ERR("glTextureParameterIuiv", )
#line 72554 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIuiv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "texture, pname, ...");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 35851 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterIuiv", )
  OGLM_AVAIL_CHECK(__glewTextureParameterIuiv, glTextureParameterIuiv)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLuint* params = OGLM_GET_VARARGS(params,2,GLuint,UV,pname_count);
  glTextureParameterIuiv((GLuint )texture, (GLenum )pname, (const GLuint* )params);
  OGLM_CHECK_ERR("glTextureParameterIuiv", free(params);)
  free(params);
#line 72580 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIuivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIuivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLuint*	params = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 35867 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterIuivEXT", )
  OGLM_AVAIL_CHECK(__glewTextureParameterIuivEXT, glTextureParameterIuivEXT)
  glTextureParameterIuivEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glTextureParameterIuivEXT", )
#line 72607 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIuivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterIuivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texture, target, pname, ...");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 35879 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterIuivEXT", )
  OGLM_AVAIL_CHECK(__glewTextureParameterIuivEXT, glTextureParameterIuivEXT)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLuint* params = OGLM_GET_VARARGS(params,3,GLuint,UV,pname_count);
  glTextureParameterIuivEXT((GLuint )texture, (GLenum )target, (GLenum )pname, (const GLuint* )params);
  OGLM_CHECK_ERR("glTextureParameterIuivEXT", free(params);)
  free(params);
#line 72635 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterf)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, pname, param");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	param = (float)SvNV(ST(2))
;
#line 35894 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterf", )
  OGLM_AVAIL_CHECK(__glewTextureParameterf, glTextureParameterf)
  glTextureParameterf(texture, pname, param);
  OGLM_CHECK_ERR("glTextureParameterf", )
#line 72660 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterfEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterfEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, pname, param");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLfloat	param = (float)SvNV(ST(3))
;
#line 35907 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterfEXT", )
  OGLM_AVAIL_CHECK(__glewTextureParameterfEXT, glTextureParameterfEXT)
  glTextureParameterfEXT(texture, target, pname, param);
  OGLM_CHECK_ERR("glTextureParameterfEXT", )
#line 72687 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterfv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, pname, param");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLfloat*	param = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 35919 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterfv", )
  OGLM_AVAIL_CHECK(__glewTextureParameterfv, glTextureParameterfv)
  glTextureParameterfv(texture, pname, param);
  OGLM_CHECK_ERR("glTextureParameterfv", )
#line 72712 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterfv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "texture, pname, ...");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 35930 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterfv", )
  OGLM_AVAIL_CHECK(__glewTextureParameterfv, glTextureParameterfv)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLfloat* param = OGLM_GET_VARARGS(param,2,GLfloat,NV,pname_count);
  glTextureParameterfv((GLuint )texture, (GLenum )pname, (const GLfloat* )param);
  OGLM_CHECK_ERR("glTextureParameterfv", free(param);)
  free(param);
#line 72738 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 35946 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewTextureParameterfvEXT, glTextureParameterfvEXT)
  glTextureParameterfvEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glTextureParameterfvEXT", )
#line 72765 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterfvEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texture, target, pname, ...");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 35958 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterfvEXT", )
  OGLM_AVAIL_CHECK(__glewTextureParameterfvEXT, glTextureParameterfvEXT)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLfloat* params = OGLM_GET_VARARGS(params,3,GLfloat,NV,pname_count);
  glTextureParameterfvEXT((GLuint )texture, (GLenum )target, (GLenum )pname, (const GLfloat* )params);
  OGLM_CHECK_ERR("glTextureParameterfvEXT", free(params);)
  free(params);
#line 72793 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameteri); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameteri)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, pname, param");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 35973 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameteri", )
  OGLM_AVAIL_CHECK(__glewTextureParameteri, glTextureParameteri)
  glTextureParameteri(texture, pname, param);
  OGLM_CHECK_ERR("glTextureParameteri", )
#line 72818 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameteriEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameteriEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, pname, param");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	GLint	param = (int)SvIV(ST(3))
;
#line 35986 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameteriEXT", )
  OGLM_AVAIL_CHECK(__glewTextureParameteriEXT, glTextureParameteriEXT)
  glTextureParameteriEXT(texture, target, pname, param);
  OGLM_CHECK_ERR("glTextureParameteriEXT", )
#line 72845 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameteriv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameteriv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, pname, param");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	const GLint*	param = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 35998 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameteriv", )
  OGLM_AVAIL_CHECK(__glewTextureParameteriv, glTextureParameteriv)
  glTextureParameteriv(texture, pname, param);
  OGLM_CHECK_ERR("glTextureParameteriv", )
#line 72870 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameteriv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameteriv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "texture, pname, ...");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
#line 36009 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameteriv", )
  OGLM_AVAIL_CHECK(__glewTextureParameteriv, glTextureParameteriv)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLint* param = OGLM_GET_VARARGS(param,2,GLint,IV,pname_count);
  glTextureParameteriv((GLuint )texture, (GLenum )pname, (const GLint* )param);
  OGLM_CHECK_ERR("glTextureParameteriv", free(param);)
  free(param);
#line 72896 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, target, pname, params");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 36025 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewTextureParameterivEXT, glTextureParameterivEXT)
  glTextureParameterivEXT(texture, target, pname, params);
  OGLM_CHECK_ERR("glTextureParameterivEXT", )
#line 72923 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureParameterivEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureParameterivEXT_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "texture, target, pname, ...");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
#line 36037 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureParameterivEXT", )
  OGLM_AVAIL_CHECK(__glewTextureParameterivEXT, glTextureParameterivEXT)
  OGLM_SIZE_ENUM(TextureParameterName,pname,1)
  GLint* params = OGLM_GET_VARARGS(params,3,GLint,IV,pname_count);
  glTextureParameterivEXT((GLuint )texture, (GLenum )target, (GLenum )pname, (const GLint* )params);
  OGLM_CHECK_ERR("glTextureParameterivEXT", free(params);)
  free(params);
#line 72951 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureRangeAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureRangeAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, length, pointer");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLsizei	length = (int)SvIV(ST(1))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(2)))
;
#line 36052 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureRangeAPPLE", )
  OGLM_AVAIL_CHECK(__glewTextureRangeAPPLE, glTextureRangeAPPLE)
  glTextureRangeAPPLE(target, length, pointer);
  OGLM_CHECK_ERR("glTextureRangeAPPLE", )
#line 72976 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureRenderbufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureRenderbufferEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "texture, target, renderbuffer");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	renderbuffer = (unsigned int)SvUV(ST(2))
;
#line 36064 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureRenderbufferEXT", )
  OGLM_AVAIL_CHECK(__glewTextureRenderbufferEXT, glTextureRenderbufferEXT)
  glTextureRenderbufferEXT(texture, target, renderbuffer);
  OGLM_CHECK_ERR("glTextureRenderbufferEXT", )
#line 73001 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorage1D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorage1D)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "texture, levels, internalformat, width");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
#line 36077 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorage1D", )
  OGLM_AVAIL_CHECK(__glewTextureStorage1D, glTextureStorage1D)
  glTextureStorage1D(texture, levels, internalformat, width);
  OGLM_CHECK_ERR("glTextureStorage1D", )
#line 73028 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorage1DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorage1DEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texture, target, levels, internalformat, width");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	levels = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
#line 36091 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorage1DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureStorage1DEXT, glTextureStorage1DEXT)
  glTextureStorage1DEXT(texture, target, levels, internalformat, width);
  OGLM_CHECK_ERR("glTextureStorage1DEXT", )
#line 73057 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorage2D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorage2D)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "texture, levels, internalformat, width, height");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
#line 36105 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorage2D", )
  OGLM_AVAIL_CHECK(__glewTextureStorage2D, glTextureStorage2D)
  glTextureStorage2D(texture, levels, internalformat, width, height);
  OGLM_CHECK_ERR("glTextureStorage2D", )
#line 73086 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorage2DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorage2DEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "texture, target, levels, internalformat, width, height");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	levels = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
#line 36120 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorage2DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureStorage2DEXT, glTextureStorage2DEXT)
  glTextureStorage2DEXT(texture, target, levels, internalformat, width, height);
  OGLM_CHECK_ERR("glTextureStorage2DEXT", )
#line 73117 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorage2DMultisample); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorage2DMultisample)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "texture, samples, internalformat, width, height, fixedsamplelocations");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLboolean	fixedsamplelocations = (int)SvIV(ST(5))
;
#line 36135 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorage2DMultisample", )
  OGLM_AVAIL_CHECK(__glewTextureStorage2DMultisample, glTextureStorage2DMultisample)
  glTextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations);
  OGLM_CHECK_ERR("glTextureStorage2DMultisample", )
#line 73148 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorage2DMultisampleEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorage2DMultisampleEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "texture, target, samples, internalformat, width, height, fixedsamplelocations");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	samples = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLboolean	fixedsamplelocations = (int)SvIV(ST(6))
;
#line 36151 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorage2DMultisampleEXT", )
  OGLM_AVAIL_CHECK(__glewTextureStorage2DMultisampleEXT, glTextureStorage2DMultisampleEXT)
  glTextureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations);
  OGLM_CHECK_ERR("glTextureStorage2DMultisampleEXT", )
#line 73181 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorage3D); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorage3D)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "texture, levels, internalformat, width, height, depth");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
#line 36166 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorage3D", )
  OGLM_AVAIL_CHECK(__glewTextureStorage3D, glTextureStorage3D)
  glTextureStorage3D(texture, levels, internalformat, width, height, depth);
  OGLM_CHECK_ERR("glTextureStorage3D", )
#line 73212 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorage3DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorage3DEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "texture, target, levels, internalformat, width, height, depth");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	levels = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLsizei	depth = (int)SvIV(ST(6))
;
#line 36182 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorage3DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureStorage3DEXT, glTextureStorage3DEXT)
  glTextureStorage3DEXT(texture, target, levels, internalformat, width, height, depth);
  OGLM_CHECK_ERR("glTextureStorage3DEXT", )
#line 73245 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorage3DMultisample); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorage3DMultisample)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "texture, samples, internalformat, width, height, depth, fixedsamplelocations");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalformat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLboolean	fixedsamplelocations = (int)SvIV(ST(6))
;
#line 36198 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorage3DMultisample", )
  OGLM_AVAIL_CHECK(__glewTextureStorage3DMultisample, glTextureStorage3DMultisample)
  glTextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations);
  OGLM_CHECK_ERR("glTextureStorage3DMultisample", )
#line 73278 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorage3DMultisampleEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorage3DMultisampleEXT)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, target, samples, internalformat, width, height, depth, fixedsamplelocations");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	samples = (int)SvIV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLsizei	depth = (int)SvIV(ST(6))
;
	GLboolean	fixedsamplelocations = (int)SvIV(ST(7))
;
#line 36215 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorage3DMultisampleEXT", )
  OGLM_AVAIL_CHECK(__glewTextureStorage3DMultisampleEXT, glTextureStorage3DMultisampleEXT)
  glTextureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations);
  OGLM_CHECK_ERR("glTextureStorage3DMultisampleEXT", )
#line 73313 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorageMem1DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorageMem1DEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "texture, levels, internalFormat, width, memory, offset");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLuint	memory = (unsigned int)SvUV(ST(4))
;
	GLuint64	offset = (unsigned int)SvUV(ST(5))
;
#line 36230 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorageMem1DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureStorageMem1DEXT, glTextureStorageMem1DEXT)
  glTextureStorageMem1DEXT(texture, levels, internalFormat, width, memory, offset);
  OGLM_CHECK_ERR("glTextureStorageMem1DEXT", )
#line 73344 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorageMem2DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorageMem2DEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "texture, levels, internalFormat, width, height, memory, offset");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLuint	memory = (unsigned int)SvUV(ST(5))
;
	GLuint64	offset = (unsigned int)SvUV(ST(6))
;
#line 36246 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorageMem2DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureStorageMem2DEXT, glTextureStorageMem2DEXT)
  glTextureStorageMem2DEXT(texture, levels, internalFormat, width, height, memory, offset);
  OGLM_CHECK_ERR("glTextureStorageMem2DEXT", )
#line 73377 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorageMem2DMultisampleEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorageMem2DMultisampleEXT)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, samples, internalFormat, width, height, fixedSampleLocations, memory, offset");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLboolean	fixedSampleLocations = (int)SvIV(ST(5))
;
	GLuint	memory = (unsigned int)SvUV(ST(6))
;
	GLuint64	offset = (unsigned int)SvUV(ST(7))
;
#line 36263 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorageMem2DMultisampleEXT", )
  OGLM_AVAIL_CHECK(__glewTextureStorageMem2DMultisampleEXT, glTextureStorageMem2DMultisampleEXT)
  glTextureStorageMem2DMultisampleEXT(texture, samples, internalFormat, width, height, fixedSampleLocations, memory, offset);
  OGLM_CHECK_ERR("glTextureStorageMem2DMultisampleEXT", )
#line 73412 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorageMem3DEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorageMem3DEXT)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, levels, internalFormat, width, height, depth, memory, offset");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLsizei	levels = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLuint	memory = (unsigned int)SvUV(ST(6))
;
	GLuint64	offset = (unsigned int)SvUV(ST(7))
;
#line 36280 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorageMem3DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureStorageMem3DEXT, glTextureStorageMem3DEXT)
  glTextureStorageMem3DEXT(texture, levels, internalFormat, width, height, depth, memory, offset);
  OGLM_CHECK_ERR("glTextureStorageMem3DEXT", )
#line 73447 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorageMem3DMultisampleEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorageMem3DMultisampleEXT)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texture, samples, internalFormat, width, height, depth, fixedSampleLocations, memory, offset");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLsizei	samples = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLboolean	fixedSampleLocations = (int)SvIV(ST(6))
;
	GLuint	memory = (unsigned int)SvUV(ST(7))
;
	GLuint64	offset = (unsigned int)SvUV(ST(8))
;
#line 36298 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorageMem3DMultisampleEXT", )
  OGLM_AVAIL_CHECK(__glewTextureStorageMem3DMultisampleEXT, glTextureStorageMem3DMultisampleEXT)
  glTextureStorageMem3DMultisampleEXT(texture, samples, internalFormat, width, height, depth, fixedSampleLocations, memory, offset);
  OGLM_CHECK_ERR("glTextureStorageMem3DMultisampleEXT", )
#line 73484 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureStorageSparseAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureStorageSparseAMD)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, target, internalFormat, width, height, depth, layers, flags");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLenum	internalFormat = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLsizei	height = (int)SvIV(ST(4))
;
	GLsizei	depth = (int)SvIV(ST(5))
;
	GLsizei	layers = (int)SvIV(ST(6))
;
	GLbitfield	flags = (int)SvIV(ST(7))
;
#line 36315 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureStorageSparseAMD", )
  OGLM_AVAIL_CHECK(__glewTextureStorageSparseAMD, glTextureStorageSparseAMD)
  glTextureStorageSparseAMD(texture, target, internalFormat, width, height, depth, layers, flags);
  OGLM_CHECK_ERR("glTextureStorageSparseAMD", )
#line 73519 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage1D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage1D_c)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "texture, level, xoffset, width, format, type, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLsizei	width = (int)SvIV(ST(3))
;
	GLenum	format = (int)SvIV(ST(4))
;
	GLenum	type = (int)SvIV(ST(5))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(6)))
;
#line 36331 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureSubImage1D", )
  OGLM_AVAIL_CHECK(__glewTextureSubImage1D, glTextureSubImage1D)
  glTextureSubImage1D(texture, level, xoffset, width, format, type, pixels);
  OGLM_CHECK_ERR("glTextureSubImage1D", )
#line 73552 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage1DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage1DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, target, level, xoffset, width, format, type, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLenum	format = (int)SvIV(ST(5))
;
	GLenum	type = (int)SvIV(ST(6))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(7)))
;
#line 36348 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureSubImage1DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureSubImage1DEXT, glTextureSubImage1DEXT)
  glTextureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels);
  OGLM_CHECK_ERR("glTextureSubImage1DEXT", )
#line 73587 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage2D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage2D_c)
{
    dVAR; dXSARGS;
    if (items != 9)
       croak_xs_usage(cv,  "texture, level, xoffset, yoffset, width, height, format, type, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLsizei	width = (int)SvIV(ST(4))
;
	GLsizei	height = (int)SvIV(ST(5))
;
	GLenum	format = (int)SvIV(ST(6))
;
	GLenum	type = (int)SvIV(ST(7))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(8)))
;
#line 36366 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureSubImage2D", )
  OGLM_AVAIL_CHECK(__glewTextureSubImage2D, glTextureSubImage2D)
  glTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels);
  OGLM_CHECK_ERR("glTextureSubImage2D", )
#line 73624 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage2DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage2DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 10)
       croak_xs_usage(cv,  "texture, target, level, xoffset, yoffset, width, height, format, type, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLenum	format = (int)SvIV(ST(7))
;
	GLenum	type = (int)SvIV(ST(8))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(9)))
;
#line 36385 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureSubImage2DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureSubImage2DEXT, glTextureSubImage2DEXT)
  glTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels);
  OGLM_CHECK_ERR("glTextureSubImage2DEXT", )
#line 73663 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage3D_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage3D_c)
{
    dVAR; dXSARGS;
    if (items != 11)
       croak_xs_usage(cv,  "texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
	GLint	xoffset = (int)SvIV(ST(2))
;
	GLint	yoffset = (int)SvIV(ST(3))
;
	GLint	zoffset = (int)SvIV(ST(4))
;
	GLsizei	width = (int)SvIV(ST(5))
;
	GLsizei	height = (int)SvIV(ST(6))
;
	GLsizei	depth = (int)SvIV(ST(7))
;
	GLenum	format = (int)SvIV(ST(8))
;
	GLenum	type = (int)SvIV(ST(9))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(10)))
;
#line 36405 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureSubImage3D", )
  OGLM_AVAIL_CHECK(__glewTextureSubImage3D, glTextureSubImage3D)
  glTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
  OGLM_CHECK_ERR("glTextureSubImage3D", )
#line 73704 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage3DEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureSubImage3DEXT_c)
{
    dVAR; dXSARGS;
    if (items != 12)
       croak_xs_usage(cv,  "texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLint	level = (int)SvIV(ST(2))
;
	GLint	xoffset = (int)SvIV(ST(3))
;
	GLint	yoffset = (int)SvIV(ST(4))
;
	GLint	zoffset = (int)SvIV(ST(5))
;
	GLsizei	width = (int)SvIV(ST(6))
;
	GLsizei	height = (int)SvIV(ST(7))
;
	GLsizei	depth = (int)SvIV(ST(8))
;
	GLenum	format = (int)SvIV(ST(9))
;
	GLenum	type = (int)SvIV(ST(10))
;
	const void *	pixels = INT2PTR(const void *,SvIV(ST(11)))
;
#line 36426 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureSubImage3DEXT", )
  OGLM_AVAIL_CHECK(__glewTextureSubImage3DEXT, glTextureSubImage3DEXT)
  glTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
  OGLM_CHECK_ERR("glTextureSubImage3DEXT", )
#line 73747 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureView); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureView)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 8)
       croak_xs_usage(cv,  "texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	origtexture = (unsigned int)SvUV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLuint	minlevel = (unsigned int)SvUV(ST(4))
;
	GLuint	numlevels = (unsigned int)SvUV(ST(5))
;
	GLuint	minlayer = (unsigned int)SvUV(ST(6))
;
	GLuint	numlayers = (unsigned int)SvUV(ST(7))
;
#line 36445 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureView", )
  OGLM_AVAIL_CHECK(__glewTextureView, glTextureView)
  glTextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers);
  OGLM_CHECK_ERR("glTextureView", )
#line 73783 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTextureViewOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTextureViewOES)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLuint	origtexture = (unsigned int)SvUV(ST(2))
;
	GLenum	internalformat = (int)SvIV(ST(3))
;
	GLuint	minlevel = (unsigned int)SvUV(ST(4))
;
	GLuint	numlevels = (unsigned int)SvUV(ST(5))
;
	GLuint	minlayer = (unsigned int)SvUV(ST(6))
;
	GLuint	numlayers = (unsigned int)SvUV(ST(7))
;
#line 36462 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTextureViewOES", )
  OGLM_AVAIL_CHECK(__glewTextureViewOES, glTextureViewOES)
  glTextureViewOES(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers);
  OGLM_CHECK_ERR("glTextureViewOES", )
#line 73818 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTrackMatrixNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTrackMatrixNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "target, address, matrix, transform");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLuint	address = (unsigned int)SvUV(ST(1))
;
	GLenum	matrix = (int)SvIV(ST(2))
;
	GLenum	transform = (int)SvIV(ST(3))
;
#line 36475 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTrackMatrixNV", )
  OGLM_AVAIL_CHECK(__glewTrackMatrixNV, glTrackMatrixNV)
  glTrackMatrixNV(target, address, matrix, transform);
  OGLM_CHECK_ERR("glTrackMatrixNV", )
#line 73845 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackAttribsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackAttribsNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "count, attribs, bufferMode");
    {
	GLuint	count = (unsigned int)SvUV(ST(0))
;
	const GLint *	attribs = INT2PTR(const GLint *,SvIV(ST(1)))
;
	GLenum	bufferMode = (int)SvIV(ST(2))
;
#line 36487 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTransformFeedbackAttribsNV", )
  OGLM_AVAIL_CHECK(__glewTransformFeedbackAttribsNV, glTransformFeedbackAttribsNV)
  glTransformFeedbackAttribsNV(count, attribs, bufferMode);
  OGLM_CHECK_ERR("glTransformFeedbackAttribsNV", )
#line 73870 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackBufferBase); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackBufferBase)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "xfb, index, buffer");
    {
	GLuint	xfb = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
#line 36499 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTransformFeedbackBufferBase", )
  OGLM_AVAIL_CHECK(__glewTransformFeedbackBufferBase, glTransformFeedbackBufferBase)
  glTransformFeedbackBufferBase(xfb, index, buffer);
  OGLM_CHECK_ERR("glTransformFeedbackBufferBase", )
#line 73895 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackBufferRange); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackBufferRange)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "xfb, index, buffer, offset, size");
    {
	GLuint	xfb = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
	GLsizeiptr	size = (unsigned int)SvUV(ST(4))
;
#line 36513 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTransformFeedbackBufferRange", )
  OGLM_AVAIL_CHECK(__glewTransformFeedbackBufferRange, glTransformFeedbackBufferRange)
  glTransformFeedbackBufferRange(xfb, index, buffer, offset, size);
  OGLM_CHECK_ERR("glTransformFeedbackBufferRange", )
#line 73924 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackVaryings_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackVaryings_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "program, count, varyings, bufferMode");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLchar *const*	varyings = (const GLchar * const *)SvPV_nolen(ST(2))
;
	GLenum	bufferMode = (int)SvIV(ST(3))
;
#line 36528 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTransformFeedbackVaryings", )
  OGLM_AVAIL_CHECK(__glewTransformFeedbackVaryings, glTransformFeedbackVaryings)
  glTransformFeedbackVaryings(program, count, varyings, bufferMode);
  OGLM_CHECK_ERR("glTransformFeedbackVaryings", )
#line 73952 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackVaryings_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackVaryings_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "program, bufferMode, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	bufferMode = (int)SvIV(ST(1))
;
#line 36541 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTransformFeedbackVaryings", )
  OGLM_AVAIL_CHECK(__glewTransformFeedbackVaryings, glTransformFeedbackVaryings)
  GLsizei count = items-2;
  GLchar ** varyings = OGLM_GET_VARARGS(varyings,2,GLchar*,PV_nolen,count);
  glTransformFeedbackVaryings((GLuint )program, (GLsizei )count, (const GLchar *const* )varyings, (GLenum )bufferMode);
  OGLM_CHECK_ERR("glTransformFeedbackVaryings", free(varyings);)
  free(varyings);
#line 73979 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackVaryingsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackVaryingsNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "program, count, locations, bufferMode");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint *	locations = INT2PTR(const GLint *,SvIV(ST(2)))
;
	GLenum	bufferMode = (int)SvIV(ST(3))
;
#line 36557 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTransformFeedbackVaryingsNV", )
  OGLM_AVAIL_CHECK(__glewTransformFeedbackVaryingsNV, glTransformFeedbackVaryingsNV)
  glTransformFeedbackVaryingsNV(program, count, locations, bufferMode);
  OGLM_CHECK_ERR("glTransformFeedbackVaryingsNV", )
#line 74006 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackVaryingsNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTransformFeedbackVaryingsNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "program, bufferMode, ...");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLenum	bufferMode = (int)SvIV(ST(1))
;
#line 36568 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTransformFeedbackVaryingsNV", )
  OGLM_AVAIL_CHECK(__glewTransformFeedbackVaryingsNV, glTransformFeedbackVaryingsNV)
  GLsizei count = items-2;
  GLint *locations = OGLM_GET_VARARGS(locations,2,GLint,IV,count);
  glTransformFeedbackVaryingsNV((GLuint )program, (GLsizei )count, (const GLint *)locations, (GLenum )bufferMode);
  OGLM_CHECK_ERR("glTransformFeedbackVaryingsNV", free(locations);)
  free(locations);
#line 74032 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTransformPathNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTransformPathNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "resultPath, srcPath, transformType, transformValues");
    {
	GLuint	resultPath = (unsigned int)SvUV(ST(0))
;
	GLuint	srcPath = (unsigned int)SvUV(ST(1))
;
	GLenum	transformType = (int)SvIV(ST(2))
;
	const GLfloat*	transformValues = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 36584 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTransformPathNV", )
  OGLM_AVAIL_CHECK(__glewTransformPathNV, glTransformPathNV)
  glTransformPathNV(resultPath, srcPath, transformType, transformValues);
  OGLM_CHECK_ERR("glTransformPathNV", )
#line 74059 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTranslated); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTranslated)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLdouble	x = (double)SvNV(ST(0))
;
	GLdouble	y = (double)SvNV(ST(1))
;
	GLdouble	z = (double)SvNV(ST(2))
;
#line 36596 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTranslated", )
  glTranslated(x, y, z);
  OGLM_CHECK_ERR("glTranslated", )
#line 74083 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTranslatef); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTranslatef)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLfloat	x = (float)SvNV(ST(0))
;
	GLfloat	y = (float)SvNV(ST(1))
;
	GLfloat	z = (float)SvNV(ST(2))
;
#line 36607 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTranslatef", )
  glTranslatef(x, y, z);
  OGLM_CHECK_ERR("glTranslatef", )
#line 74107 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glTranslatex); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glTranslatex)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLfixed	x = (int)SvIV(ST(0))
;
	GLfixed	y = (int)SvIV(ST(1))
;
	GLfixed	z = (int)SvIV(ST(2))
;
#line 36618 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glTranslatex", )
  OGLM_AVAIL_CHECK(__glewTranslatex, glTranslatex)
  glTranslatex(x, y, z);
  OGLM_CHECK_ERR("glTranslatex", )
#line 74132 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1d)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "location, x");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
#line 36629 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1d", )
  OGLM_AVAIL_CHECK(__glewUniform1d, glUniform1d)
  glUniform1d(location, x);
  OGLM_CHECK_ERR("glUniform1d", )
#line 74155 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1dv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 36641 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1dv", )
  OGLM_AVAIL_CHECK(__glewUniform1dv, glUniform1dv)
  glUniform1dv(location, count, value);
  OGLM_CHECK_ERR("glUniform1dv", )
#line 74180 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1dv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 36652 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1dv", )
  OGLM_AVAIL_CHECK(__glewUniform1dv, glUniform1dv)
  GLdouble* value = OGLM_GET_VARARGS(value,2,GLdouble,NV,count*1);
  glUniform1dv((GLint )location, (GLsizei )count, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniform1dv", free(value);)
  free(value);
#line 74205 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "location, v0");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLfloat	v0 = (float)SvNV(ST(1))
;
#line 36667 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1f", )
  OGLM_AVAIL_CHECK(__glewUniform1f, glUniform1f)
  glUniform1f(location, v0);
  OGLM_CHECK_ERR("glUniform1f", )
#line 74229 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 36681 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1fv", )
  OGLM_AVAIL_CHECK(__glewUniform1fv, glUniform1fv)
  glUniform1fv(location, count, value);
  OGLM_CHECK_ERR("glUniform1fv", )
#line 74255 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 36694 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1fv", )
  OGLM_AVAIL_CHECK(__glewUniform1fv, glUniform1fv)
  GLfloat* value = OGLM_GET_VARARGS(value,2,GLfloat,NV,count*1);
  glUniform1fv((GLint )location, (GLsizei )count, (const GLfloat* )value);
  OGLM_CHECK_ERR("glUniform1fv", free(value);)
  free(value);
#line 74281 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "location, v0");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint	v0 = (int)SvIV(ST(1))
;
#line 36709 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1i", )
  OGLM_AVAIL_CHECK(__glewUniform1i, glUniform1i)
  glUniform1i(location, v0);
  OGLM_CHECK_ERR("glUniform1i", )
#line 74305 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1i64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1i64ARB)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "location, x");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint64	x = (unsigned int)SvUV(ST(1))
;
#line 36720 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1i64ARB", )
  OGLM_AVAIL_CHECK(__glewUniform1i64ARB, glUniform1i64ARB)
  glUniform1i64ARB(location, x);
  OGLM_CHECK_ERR("glUniform1i64ARB", )
#line 74328 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1i64NV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "location, x");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(1))
;
#line 36731 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1i64NV", )
  OGLM_AVAIL_CHECK(__glewUniform1i64NV, glUniform1i64NV)
  glUniform1i64NV(location, x);
  OGLM_CHECK_ERR("glUniform1i64NV", )
#line 74351 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1i64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1i64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint64*	value = INT2PTR(const GLint64 *,SvIV(ST(2)))
;
#line 36743 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1i64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform1i64vARB, glUniform1i64vARB)
  glUniform1i64vARB(location, count, value);
  OGLM_CHECK_ERR("glUniform1i64vARB", )
#line 74376 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1i64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1i64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 36754 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1i64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform1i64vARB, glUniform1i64vARB)
  GLint64* value = OGLM_GET_VARARGS(value,2,GLint64,IV,count*1);
  glUniform1i64vARB((GLint )location, (GLsizei )count, (const GLint64* )value);
  OGLM_CHECK_ERR("glUniform1i64vARB", free(value);)
  free(value);
#line 74401 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint64EXT*	value = INT2PTR(const GLint64EXT *,SvIV(ST(2)))
;
#line 36768 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1i64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform1i64vNV, glUniform1i64vNV)
  glUniform1i64vNV(location, count, value);
  OGLM_CHECK_ERR("glUniform1i64vNV", )
#line 74426 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 36779 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1i64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform1i64vNV, glUniform1i64vNV)
  GLint64EXT* value = OGLM_GET_VARARGS(value,2,GLint64EXT,IV,count*1);
  glUniform1i64vNV((GLint )location, (GLsizei )count, (const GLint64EXT* )value);
  OGLM_CHECK_ERR("glUniform1i64vNV", free(value);)
  free(value);
#line 74451 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint*	value = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 36795 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1iv", )
  OGLM_AVAIL_CHECK(__glewUniform1iv, glUniform1iv)
  glUniform1iv(location, count, value);
  OGLM_CHECK_ERR("glUniform1iv", )
#line 74477 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 36808 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1iv", )
  OGLM_AVAIL_CHECK(__glewUniform1iv, glUniform1iv)
  GLint* value = OGLM_GET_VARARGS(value,2,GLint,IV,count*1);
  glUniform1iv((GLint )location, (GLsizei )count, (const GLint* )value);
  OGLM_CHECK_ERR("glUniform1iv", free(value);)
  free(value);
#line 74503 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "location, v0");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint	v0 = (unsigned int)SvUV(ST(1))
;
#line 36823 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1ui", )
  OGLM_AVAIL_CHECK(__glewUniform1ui, glUniform1ui)
  glUniform1ui(location, v0);
  OGLM_CHECK_ERR("glUniform1ui", )
#line 74527 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64ARB)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "location, x");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint64	x = (unsigned int)SvUV(ST(1))
;
#line 36834 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1ui64ARB", )
  OGLM_AVAIL_CHECK(__glewUniform1ui64ARB, glUniform1ui64ARB)
  glUniform1ui64ARB(location, x);
  OGLM_CHECK_ERR("glUniform1ui64ARB", )
#line 74550 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64NV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "location, x");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(1))
;
#line 36845 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1ui64NV", )
  OGLM_AVAIL_CHECK(__glewUniform1ui64NV, glUniform1ui64NV)
  glUniform1ui64NV(location, x);
  OGLM_CHECK_ERR("glUniform1ui64NV", )
#line 74573 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint64*	value = INT2PTR(const GLuint64 *,SvIV(ST(2)))
;
#line 36857 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1ui64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform1ui64vARB, glUniform1ui64vARB)
  glUniform1ui64vARB(location, count, value);
  OGLM_CHECK_ERR("glUniform1ui64vARB", )
#line 74598 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 36868 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1ui64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform1ui64vARB, glUniform1ui64vARB)
  GLuint64* value = OGLM_GET_VARARGS(value,2,GLuint64,UV,count*1);
  glUniform1ui64vARB((GLint )location, (GLsizei )count, (const GLuint64* )value);
  OGLM_CHECK_ERR("glUniform1ui64vARB", free(value);)
  free(value);
#line 74623 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint64EXT*	value = INT2PTR(const GLuint64EXT *,SvIV(ST(2)))
;
#line 36882 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1ui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform1ui64vNV, glUniform1ui64vNV)
  glUniform1ui64vNV(location, count, value);
  OGLM_CHECK_ERR("glUniform1ui64vNV", )
#line 74648 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 36893 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1ui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform1ui64vNV, glUniform1ui64vNV)
  GLuint64EXT* value = OGLM_GET_VARARGS(value,2,GLuint64EXT,UV,count*1);
  glUniform1ui64vNV((GLint )location, (GLsizei )count, (const GLuint64EXT* )value);
  OGLM_CHECK_ERR("glUniform1ui64vNV", free(value);)
  free(value);
#line 74673 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 36909 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1uiv", )
  OGLM_AVAIL_CHECK(__glewUniform1uiv, glUniform1uiv)
  glUniform1uiv(location, count, value);
  OGLM_CHECK_ERR("glUniform1uiv", )
#line 74699 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform1uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform1uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 36922 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform1uiv", )
  OGLM_AVAIL_CHECK(__glewUniform1uiv, glUniform1uiv)
  GLuint* value = OGLM_GET_VARARGS(value,2,GLuint,UV,count*1);
  glUniform1uiv((GLint )location, (GLsizei )count, (const GLuint* )value);
  OGLM_CHECK_ERR("glUniform1uiv", free(value);)
  free(value);
#line 74725 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2d)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, x, y");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
#line 36936 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2d", )
  OGLM_AVAIL_CHECK(__glewUniform2d, glUniform2d)
  glUniform2d(location, x, y);
  OGLM_CHECK_ERR("glUniform2d", )
#line 74750 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2dv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 36948 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2dv", )
  OGLM_AVAIL_CHECK(__glewUniform2dv, glUniform2dv)
  glUniform2dv(location, count, value);
  OGLM_CHECK_ERR("glUniform2dv", )
#line 74775 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2dv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 36959 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2dv", )
  OGLM_AVAIL_CHECK(__glewUniform2dv, glUniform2dv)
  GLdouble* value = OGLM_GET_VARARGS(value,2,GLdouble,NV,count*2);
  glUniform2dv((GLint )location, (GLsizei )count, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniform2dv", free(value);)
  free(value);
#line 74800 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, v0, v1");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLfloat	v0 = (float)SvNV(ST(1))
;
	GLfloat	v1 = (float)SvNV(ST(2))
;
#line 36975 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2f", )
  OGLM_AVAIL_CHECK(__glewUniform2f, glUniform2f)
  glUniform2f(location, v0, v1);
  OGLM_CHECK_ERR("glUniform2f", )
#line 74826 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 36989 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2fv", )
  OGLM_AVAIL_CHECK(__glewUniform2fv, glUniform2fv)
  glUniform2fv(location, count, value);
  OGLM_CHECK_ERR("glUniform2fv", )
#line 74852 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37002 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2fv", )
  OGLM_AVAIL_CHECK(__glewUniform2fv, glUniform2fv)
  GLfloat* value = OGLM_GET_VARARGS(value,2,GLfloat,NV,count*2);
  glUniform2fv((GLint )location, (GLsizei )count, (const GLfloat* )value);
  OGLM_CHECK_ERR("glUniform2fv", free(value);)
  free(value);
#line 74878 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, v0, v1");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint	v0 = (int)SvIV(ST(1))
;
	GLint	v1 = (int)SvIV(ST(2))
;
#line 37018 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2i", )
  OGLM_AVAIL_CHECK(__glewUniform2i, glUniform2i)
  glUniform2i(location, v0, v1);
  OGLM_CHECK_ERR("glUniform2i", )
#line 74904 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2i64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2i64ARB)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, x, y");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint64	x = (unsigned int)SvUV(ST(1))
;
	GLint64	y = (unsigned int)SvUV(ST(2))
;
#line 37030 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2i64ARB", )
  OGLM_AVAIL_CHECK(__glewUniform2i64ARB, glUniform2i64ARB)
  glUniform2i64ARB(location, x, y);
  OGLM_CHECK_ERR("glUniform2i64ARB", )
#line 74929 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2i64NV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, x, y");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLint64EXT	y = (unsigned int)SvUV(ST(2))
;
#line 37042 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2i64NV", )
  OGLM_AVAIL_CHECK(__glewUniform2i64NV, glUniform2i64NV)
  glUniform2i64NV(location, x, y);
  OGLM_CHECK_ERR("glUniform2i64NV", )
#line 74954 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2i64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2i64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint64*	value = INT2PTR(const GLint64 *,SvIV(ST(2)))
;
#line 37054 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2i64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform2i64vARB, glUniform2i64vARB)
  glUniform2i64vARB(location, count, value);
  OGLM_CHECK_ERR("glUniform2i64vARB", )
#line 74979 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2i64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2i64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37065 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2i64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform2i64vARB, glUniform2i64vARB)
  GLint64* value = OGLM_GET_VARARGS(value,2,GLint64,IV,count*2);
  glUniform2i64vARB((GLint )location, (GLsizei )count, (const GLint64* )value);
  OGLM_CHECK_ERR("glUniform2i64vARB", free(value);)
  free(value);
#line 75004 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint64EXT*	value = INT2PTR(const GLint64EXT *,SvIV(ST(2)))
;
#line 37079 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2i64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform2i64vNV, glUniform2i64vNV)
  glUniform2i64vNV(location, count, value);
  OGLM_CHECK_ERR("glUniform2i64vNV", )
#line 75029 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37090 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2i64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform2i64vNV, glUniform2i64vNV)
  GLint64EXT* value = OGLM_GET_VARARGS(value,2,GLint64EXT,IV,count*2);
  glUniform2i64vNV((GLint )location, (GLsizei )count, (const GLint64EXT* )value);
  OGLM_CHECK_ERR("glUniform2i64vNV", free(value);)
  free(value);
#line 75054 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint*	value = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 37106 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2iv", )
  OGLM_AVAIL_CHECK(__glewUniform2iv, glUniform2iv)
  glUniform2iv(location, count, value);
  OGLM_CHECK_ERR("glUniform2iv", )
#line 75080 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37119 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2iv", )
  OGLM_AVAIL_CHECK(__glewUniform2iv, glUniform2iv)
  GLint* value = OGLM_GET_VARARGS(value,2,GLint,IV,count*2);
  glUniform2iv((GLint )location, (GLsizei )count, (const GLint* )value);
  OGLM_CHECK_ERR("glUniform2iv", free(value);)
  free(value);
#line 75106 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, v0, v1");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint	v0 = (unsigned int)SvUV(ST(1))
;
	GLuint	v1 = (unsigned int)SvUV(ST(2))
;
#line 37135 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2ui", )
  OGLM_AVAIL_CHECK(__glewUniform2ui, glUniform2ui)
  glUniform2ui(location, v0, v1);
  OGLM_CHECK_ERR("glUniform2ui", )
#line 75132 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64ARB)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, x, y");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint64	x = (unsigned int)SvUV(ST(1))
;
	GLuint64	y = (unsigned int)SvUV(ST(2))
;
#line 37147 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2ui64ARB", )
  OGLM_AVAIL_CHECK(__glewUniform2ui64ARB, glUniform2ui64ARB)
  glUniform2ui64ARB(location, x, y);
  OGLM_CHECK_ERR("glUniform2ui64ARB", )
#line 75157 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64NV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, x, y");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLuint64EXT	y = (unsigned int)SvUV(ST(2))
;
#line 37159 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2ui64NV", )
  OGLM_AVAIL_CHECK(__glewUniform2ui64NV, glUniform2ui64NV)
  glUniform2ui64NV(location, x, y);
  OGLM_CHECK_ERR("glUniform2ui64NV", )
#line 75182 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint64*	value = INT2PTR(const GLuint64 *,SvIV(ST(2)))
;
#line 37171 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2ui64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform2ui64vARB, glUniform2ui64vARB)
  glUniform2ui64vARB(location, count, value);
  OGLM_CHECK_ERR("glUniform2ui64vARB", )
#line 75207 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37182 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2ui64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform2ui64vARB, glUniform2ui64vARB)
  GLuint64* value = OGLM_GET_VARARGS(value,2,GLuint64,UV,count*2);
  glUniform2ui64vARB((GLint )location, (GLsizei )count, (const GLuint64* )value);
  OGLM_CHECK_ERR("glUniform2ui64vARB", free(value);)
  free(value);
#line 75232 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint64EXT*	value = INT2PTR(const GLuint64EXT *,SvIV(ST(2)))
;
#line 37196 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2ui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform2ui64vNV, glUniform2ui64vNV)
  glUniform2ui64vNV(location, count, value);
  OGLM_CHECK_ERR("glUniform2ui64vNV", )
#line 75257 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37207 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2ui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform2ui64vNV, glUniform2ui64vNV)
  GLuint64EXT* value = OGLM_GET_VARARGS(value,2,GLuint64EXT,UV,count*2);
  glUniform2ui64vNV((GLint )location, (GLsizei )count, (const GLuint64EXT* )value);
  OGLM_CHECK_ERR("glUniform2ui64vNV", free(value);)
  free(value);
#line 75282 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 37223 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2uiv", )
  OGLM_AVAIL_CHECK(__glewUniform2uiv, glUniform2uiv)
  glUniform2uiv(location, count, value);
  OGLM_CHECK_ERR("glUniform2uiv", )
#line 75308 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform2uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform2uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37236 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform2uiv", )
  OGLM_AVAIL_CHECK(__glewUniform2uiv, glUniform2uiv)
  GLuint* value = OGLM_GET_VARARGS(value,2,GLuint,UV,count*2);
  glUniform2uiv((GLint )location, (GLsizei )count, (const GLuint* )value);
  OGLM_CHECK_ERR("glUniform2uiv", free(value);)
  free(value);
#line 75334 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3d)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, x, y, z");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
	GLdouble	z = (double)SvNV(ST(3))
;
#line 37251 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3d", )
  OGLM_AVAIL_CHECK(__glewUniform3d, glUniform3d)
  glUniform3d(location, x, y, z);
  OGLM_CHECK_ERR("glUniform3d", )
#line 75361 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3dv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 37263 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3dv", )
  OGLM_AVAIL_CHECK(__glewUniform3dv, glUniform3dv)
  glUniform3dv(location, count, value);
  OGLM_CHECK_ERR("glUniform3dv", )
#line 75386 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3dv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37274 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3dv", )
  OGLM_AVAIL_CHECK(__glewUniform3dv, glUniform3dv)
  GLdouble* value = OGLM_GET_VARARGS(value,2,GLdouble,NV,count*3);
  glUniform3dv((GLint )location, (GLsizei )count, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniform3dv", free(value);)
  free(value);
#line 75411 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, v0, v1, v2");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLfloat	v0 = (float)SvNV(ST(1))
;
	GLfloat	v1 = (float)SvNV(ST(2))
;
	GLfloat	v2 = (float)SvNV(ST(3))
;
#line 37291 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3f", )
  OGLM_AVAIL_CHECK(__glewUniform3f, glUniform3f)
  glUniform3f(location, v0, v1, v2);
  OGLM_CHECK_ERR("glUniform3f", )
#line 75439 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 37305 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3fv", )
  OGLM_AVAIL_CHECK(__glewUniform3fv, glUniform3fv)
  glUniform3fv(location, count, value);
  OGLM_CHECK_ERR("glUniform3fv", )
#line 75465 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37318 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3fv", )
  OGLM_AVAIL_CHECK(__glewUniform3fv, glUniform3fv)
  GLfloat* value = OGLM_GET_VARARGS(value,2,GLfloat,NV,count*3);
  glUniform3fv((GLint )location, (GLsizei )count, (const GLfloat* )value);
  OGLM_CHECK_ERR("glUniform3fv", free(value);)
  free(value);
#line 75491 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, v0, v1, v2");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint	v0 = (int)SvIV(ST(1))
;
	GLint	v1 = (int)SvIV(ST(2))
;
	GLint	v2 = (int)SvIV(ST(3))
;
#line 37335 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3i", )
  OGLM_AVAIL_CHECK(__glewUniform3i, glUniform3i)
  glUniform3i(location, v0, v1, v2);
  OGLM_CHECK_ERR("glUniform3i", )
#line 75519 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3i64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3i64ARB)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, x, y, z");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint64	x = (unsigned int)SvUV(ST(1))
;
	GLint64	y = (unsigned int)SvUV(ST(2))
;
	GLint64	z = (unsigned int)SvUV(ST(3))
;
#line 37348 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3i64ARB", )
  OGLM_AVAIL_CHECK(__glewUniform3i64ARB, glUniform3i64ARB)
  glUniform3i64ARB(location, x, y, z);
  OGLM_CHECK_ERR("glUniform3i64ARB", )
#line 75546 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3i64NV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, x, y, z");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLint64EXT	y = (unsigned int)SvUV(ST(2))
;
	GLint64EXT	z = (unsigned int)SvUV(ST(3))
;
#line 37361 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3i64NV", )
  OGLM_AVAIL_CHECK(__glewUniform3i64NV, glUniform3i64NV)
  glUniform3i64NV(location, x, y, z);
  OGLM_CHECK_ERR("glUniform3i64NV", )
#line 75573 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3i64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3i64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint64*	value = INT2PTR(const GLint64 *,SvIV(ST(2)))
;
#line 37373 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3i64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform3i64vARB, glUniform3i64vARB)
  glUniform3i64vARB(location, count, value);
  OGLM_CHECK_ERR("glUniform3i64vARB", )
#line 75598 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3i64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3i64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37384 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3i64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform3i64vARB, glUniform3i64vARB)
  GLint64* value = OGLM_GET_VARARGS(value,2,GLint64,IV,count*3);
  glUniform3i64vARB((GLint )location, (GLsizei )count, (const GLint64* )value);
  OGLM_CHECK_ERR("glUniform3i64vARB", free(value);)
  free(value);
#line 75623 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint64EXT*	value = INT2PTR(const GLint64EXT *,SvIV(ST(2)))
;
#line 37398 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3i64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform3i64vNV, glUniform3i64vNV)
  glUniform3i64vNV(location, count, value);
  OGLM_CHECK_ERR("glUniform3i64vNV", )
#line 75648 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37409 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3i64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform3i64vNV, glUniform3i64vNV)
  GLint64EXT* value = OGLM_GET_VARARGS(value,2,GLint64EXT,IV,count*3);
  glUniform3i64vNV((GLint )location, (GLsizei )count, (const GLint64EXT* )value);
  OGLM_CHECK_ERR("glUniform3i64vNV", free(value);)
  free(value);
#line 75673 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint*	value = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 37425 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3iv", )
  OGLM_AVAIL_CHECK(__glewUniform3iv, glUniform3iv)
  glUniform3iv(location, count, value);
  OGLM_CHECK_ERR("glUniform3iv", )
#line 75699 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37438 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3iv", )
  OGLM_AVAIL_CHECK(__glewUniform3iv, glUniform3iv)
  GLint* value = OGLM_GET_VARARGS(value,2,GLint,IV,count*3);
  glUniform3iv((GLint )location, (GLsizei )count, (const GLint* )value);
  OGLM_CHECK_ERR("glUniform3iv", free(value);)
  free(value);
#line 75725 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, v0, v1, v2");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint	v0 = (unsigned int)SvUV(ST(1))
;
	GLuint	v1 = (unsigned int)SvUV(ST(2))
;
	GLuint	v2 = (unsigned int)SvUV(ST(3))
;
#line 37455 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3ui", )
  OGLM_AVAIL_CHECK(__glewUniform3ui, glUniform3ui)
  glUniform3ui(location, v0, v1, v2);
  OGLM_CHECK_ERR("glUniform3ui", )
#line 75753 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64ARB)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, x, y, z");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint64	x = (unsigned int)SvUV(ST(1))
;
	GLuint64	y = (unsigned int)SvUV(ST(2))
;
	GLuint64	z = (unsigned int)SvUV(ST(3))
;
#line 37468 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3ui64ARB", )
  OGLM_AVAIL_CHECK(__glewUniform3ui64ARB, glUniform3ui64ARB)
  glUniform3ui64ARB(location, x, y, z);
  OGLM_CHECK_ERR("glUniform3ui64ARB", )
#line 75780 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64NV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, x, y, z");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLuint64EXT	y = (unsigned int)SvUV(ST(2))
;
	GLuint64EXT	z = (unsigned int)SvUV(ST(3))
;
#line 37481 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3ui64NV", )
  OGLM_AVAIL_CHECK(__glewUniform3ui64NV, glUniform3ui64NV)
  glUniform3ui64NV(location, x, y, z);
  OGLM_CHECK_ERR("glUniform3ui64NV", )
#line 75807 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint64*	value = INT2PTR(const GLuint64 *,SvIV(ST(2)))
;
#line 37493 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3ui64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform3ui64vARB, glUniform3ui64vARB)
  glUniform3ui64vARB(location, count, value);
  OGLM_CHECK_ERR("glUniform3ui64vARB", )
#line 75832 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37504 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3ui64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform3ui64vARB, glUniform3ui64vARB)
  GLuint64* value = OGLM_GET_VARARGS(value,2,GLuint64,UV,count*3);
  glUniform3ui64vARB((GLint )location, (GLsizei )count, (const GLuint64* )value);
  OGLM_CHECK_ERR("glUniform3ui64vARB", free(value);)
  free(value);
#line 75857 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint64EXT*	value = INT2PTR(const GLuint64EXT *,SvIV(ST(2)))
;
#line 37518 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3ui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform3ui64vNV, glUniform3ui64vNV)
  glUniform3ui64vNV(location, count, value);
  OGLM_CHECK_ERR("glUniform3ui64vNV", )
#line 75882 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37529 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3ui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform3ui64vNV, glUniform3ui64vNV)
  GLuint64EXT* value = OGLM_GET_VARARGS(value,2,GLuint64EXT,UV,count*3);
  glUniform3ui64vNV((GLint )location, (GLsizei )count, (const GLuint64EXT* )value);
  OGLM_CHECK_ERR("glUniform3ui64vNV", free(value);)
  free(value);
#line 75907 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 37545 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3uiv", )
  OGLM_AVAIL_CHECK(__glewUniform3uiv, glUniform3uiv)
  glUniform3uiv(location, count, value);
  OGLM_CHECK_ERR("glUniform3uiv", )
#line 75933 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform3uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37558 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform3uiv", )
  OGLM_AVAIL_CHECK(__glewUniform3uiv, glUniform3uiv)
  GLuint* value = OGLM_GET_VARARGS(value,2,GLuint,UV,count*3);
  glUniform3uiv((GLint )location, (GLsizei )count, (const GLuint* )value);
  OGLM_CHECK_ERR("glUniform3uiv", free(value);)
  free(value);
#line 75959 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4d)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "location, x, y, z, w");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
	GLdouble	z = (double)SvNV(ST(3))
;
	GLdouble	w = (double)SvNV(ST(4))
;
#line 37574 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4d", )
  OGLM_AVAIL_CHECK(__glewUniform4d, glUniform4d)
  glUniform4d(location, x, y, z, w);
  OGLM_CHECK_ERR("glUniform4d", )
#line 75988 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4dv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 37586 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4dv", )
  OGLM_AVAIL_CHECK(__glewUniform4dv, glUniform4dv)
  glUniform4dv(location, count, value);
  OGLM_CHECK_ERR("glUniform4dv", )
#line 76013 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4dv_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37597 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4dv", )
  OGLM_AVAIL_CHECK(__glewUniform4dv, glUniform4dv)
  GLdouble* value = OGLM_GET_VARARGS(value,2,GLdouble,NV,count*4);
  glUniform4dv((GLint )location, (GLsizei )count, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniform4dv", free(value);)
  free(value);
#line 76038 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "location, v0, v1, v2, v3");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLfloat	v0 = (float)SvNV(ST(1))
;
	GLfloat	v1 = (float)SvNV(ST(2))
;
	GLfloat	v2 = (float)SvNV(ST(3))
;
	GLfloat	v3 = (float)SvNV(ST(4))
;
#line 37615 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4f", )
  OGLM_AVAIL_CHECK(__glewUniform4f, glUniform4f)
  glUniform4f(location, v0, v1, v2, v3);
  OGLM_CHECK_ERR("glUniform4f", )
#line 76068 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 37629 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4fv", )
  OGLM_AVAIL_CHECK(__glewUniform4fv, glUniform4fv)
  glUniform4fv(location, count, value);
  OGLM_CHECK_ERR("glUniform4fv", )
#line 76094 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37642 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4fv", )
  OGLM_AVAIL_CHECK(__glewUniform4fv, glUniform4fv)
  GLfloat* value = OGLM_GET_VARARGS(value,2,GLfloat,NV,count*4);
  glUniform4fv((GLint )location, (GLsizei )count, (const GLfloat* )value);
  OGLM_CHECK_ERR("glUniform4fv", free(value);)
  free(value);
#line 76120 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "location, v0, v1, v2, v3");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint	v0 = (int)SvIV(ST(1))
;
	GLint	v1 = (int)SvIV(ST(2))
;
	GLint	v2 = (int)SvIV(ST(3))
;
	GLint	v3 = (int)SvIV(ST(4))
;
#line 37660 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4i", )
  OGLM_AVAIL_CHECK(__glewUniform4i, glUniform4i)
  glUniform4i(location, v0, v1, v2, v3);
  OGLM_CHECK_ERR("glUniform4i", )
#line 76150 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4i64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4i64ARB)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "location, x, y, z, w");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint64	x = (unsigned int)SvUV(ST(1))
;
	GLint64	y = (unsigned int)SvUV(ST(2))
;
	GLint64	z = (unsigned int)SvUV(ST(3))
;
	GLint64	w = (unsigned int)SvUV(ST(4))
;
#line 37674 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4i64ARB", )
  OGLM_AVAIL_CHECK(__glewUniform4i64ARB, glUniform4i64ARB)
  glUniform4i64ARB(location, x, y, z, w);
  OGLM_CHECK_ERR("glUniform4i64ARB", )
#line 76179 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4i64NV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "location, x, y, z, w");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLint64EXT	y = (unsigned int)SvUV(ST(2))
;
	GLint64EXT	z = (unsigned int)SvUV(ST(3))
;
	GLint64EXT	w = (unsigned int)SvUV(ST(4))
;
#line 37688 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4i64NV", )
  OGLM_AVAIL_CHECK(__glewUniform4i64NV, glUniform4i64NV)
  glUniform4i64NV(location, x, y, z, w);
  OGLM_CHECK_ERR("glUniform4i64NV", )
#line 76208 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4i64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4i64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint64*	value = INT2PTR(const GLint64 *,SvIV(ST(2)))
;
#line 37700 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4i64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform4i64vARB, glUniform4i64vARB)
  glUniform4i64vARB(location, count, value);
  OGLM_CHECK_ERR("glUniform4i64vARB", )
#line 76233 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4i64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4i64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37711 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4i64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform4i64vARB, glUniform4i64vARB)
  GLint64* value = OGLM_GET_VARARGS(value,2,GLint64,IV,count*4);
  glUniform4i64vARB((GLint )location, (GLsizei )count, (const GLint64* )value);
  OGLM_CHECK_ERR("glUniform4i64vARB", free(value);)
  free(value);
#line 76258 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint64EXT*	value = INT2PTR(const GLint64EXT *,SvIV(ST(2)))
;
#line 37725 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4i64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform4i64vNV, glUniform4i64vNV)
  glUniform4i64vNV(location, count, value);
  OGLM_CHECK_ERR("glUniform4i64vNV", )
#line 76283 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37736 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4i64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform4i64vNV, glUniform4i64vNV)
  GLint64EXT* value = OGLM_GET_VARARGS(value,2,GLint64EXT,IV,count*4);
  glUniform4i64vNV((GLint )location, (GLsizei )count, (const GLint64EXT* )value);
  OGLM_CHECK_ERR("glUniform4i64vNV", free(value);)
  free(value);
#line 76308 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint*	value = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 37752 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4iv", )
  OGLM_AVAIL_CHECK(__glewUniform4iv, glUniform4iv)
  glUniform4iv(location, count, value);
  OGLM_CHECK_ERR("glUniform4iv", )
#line 76334 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37765 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4iv", )
  OGLM_AVAIL_CHECK(__glewUniform4iv, glUniform4iv)
  GLint* value = OGLM_GET_VARARGS(value,2,GLint,IV,count*4);
  glUniform4iv((GLint )location, (GLsizei )count, (const GLint* )value);
  OGLM_CHECK_ERR("glUniform4iv", free(value);)
  free(value);
#line 76360 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "location, v0, v1, v2, v3");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint	v0 = (unsigned int)SvUV(ST(1))
;
	GLuint	v1 = (unsigned int)SvUV(ST(2))
;
	GLuint	v2 = (unsigned int)SvUV(ST(3))
;
	GLuint	v3 = (unsigned int)SvUV(ST(4))
;
#line 37783 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4ui", )
  OGLM_AVAIL_CHECK(__glewUniform4ui, glUniform4ui)
  glUniform4ui(location, v0, v1, v2, v3);
  OGLM_CHECK_ERR("glUniform4ui", )
#line 76390 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64ARB)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "location, x, y, z, w");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint64	x = (unsigned int)SvUV(ST(1))
;
	GLuint64	y = (unsigned int)SvUV(ST(2))
;
	GLuint64	z = (unsigned int)SvUV(ST(3))
;
	GLuint64	w = (unsigned int)SvUV(ST(4))
;
#line 37797 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4ui64ARB", )
  OGLM_AVAIL_CHECK(__glewUniform4ui64ARB, glUniform4ui64ARB)
  glUniform4ui64ARB(location, x, y, z, w);
  OGLM_CHECK_ERR("glUniform4ui64ARB", )
#line 76419 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64NV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "location, x, y, z, w");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLuint64EXT	y = (unsigned int)SvUV(ST(2))
;
	GLuint64EXT	z = (unsigned int)SvUV(ST(3))
;
	GLuint64EXT	w = (unsigned int)SvUV(ST(4))
;
#line 37811 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4ui64NV", )
  OGLM_AVAIL_CHECK(__glewUniform4ui64NV, glUniform4ui64NV)
  glUniform4ui64NV(location, x, y, z, w);
  OGLM_CHECK_ERR("glUniform4ui64NV", )
#line 76448 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint64*	value = INT2PTR(const GLuint64 *,SvIV(ST(2)))
;
#line 37823 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4ui64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform4ui64vARB, glUniform4ui64vARB)
  glUniform4ui64vARB(location, count, value);
  OGLM_CHECK_ERR("glUniform4ui64vARB", )
#line 76473 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64vARB_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37834 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4ui64vARB", )
  OGLM_AVAIL_CHECK(__glewUniform4ui64vARB, glUniform4ui64vARB)
  GLuint64* value = OGLM_GET_VARARGS(value,2,GLuint64,UV,count*4);
  glUniform4ui64vARB((GLint )location, (GLsizei )count, (const GLuint64* )value);
  OGLM_CHECK_ERR("glUniform4ui64vARB", free(value);)
  free(value);
#line 76498 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint64EXT*	value = INT2PTR(const GLuint64EXT *,SvIV(ST(2)))
;
#line 37848 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4ui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform4ui64vNV, glUniform4ui64vNV)
  glUniform4ui64vNV(location, count, value);
  OGLM_CHECK_ERR("glUniform4ui64vNV", )
#line 76523 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37859 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4ui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniform4ui64vNV, glUniform4ui64vNV)
  GLuint64EXT* value = OGLM_GET_VARARGS(value,2,GLuint64EXT,UV,count*4);
  glUniform4ui64vNV((GLint )location, (GLsizei )count, (const GLuint64EXT* )value);
  OGLM_CHECK_ERR("glUniform4ui64vNV", free(value);)
  free(value);
#line 76548 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 37875 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4uiv", )
  OGLM_AVAIL_CHECK(__glewUniform4uiv, glUniform4uiv)
  glUniform4uiv(location, count, value);
  OGLM_CHECK_ERR("glUniform4uiv", )
#line 76574 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniform4uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniform4uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 37888 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniform4uiv", )
  OGLM_AVAIL_CHECK(__glewUniform4uiv, glUniform4uiv)
  GLuint* value = OGLM_GET_VARARGS(value,2,GLuint,UV,count*4);
  glUniform4uiv((GLint )location, (GLsizei )count, (const GLuint* )value);
  OGLM_CHECK_ERR("glUniform4uiv", free(value);)
  free(value);
#line 76600 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformBlockBinding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformBlockBinding)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, uniformBlockIndex, uniformBlockBinding");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLuint	uniformBlockIndex = (unsigned int)SvUV(ST(1))
;
	GLuint	uniformBlockBinding = (unsigned int)SvUV(ST(2))
;
#line 37902 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformBlockBinding", )
  OGLM_AVAIL_CHECK(__glewUniformBlockBinding, glUniformBlockBinding)
  glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
  OGLM_CHECK_ERR("glUniformBlockBinding", )
#line 76625 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformBufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformBufferEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "program, location, buffer");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
#line 37914 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformBufferEXT", )
  OGLM_AVAIL_CHECK(__glewUniformBufferEXT, glUniformBufferEXT)
  glUniformBufferEXT(program, location, buffer);
  OGLM_CHECK_ERR("glUniformBufferEXT", )
#line 76650 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64ARB)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "location, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint64	value = (unsigned int)SvUV(ST(1))
;
#line 37927 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformHandleui64ARB", )
  OGLM_AVAIL_CHECK(__glewUniformHandleui64ARB, glUniformHandleui64ARB)
  glUniformHandleui64ARB(location, value);
  OGLM_CHECK_ERR("glUniformHandleui64ARB", )
#line 76674 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64NV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "location, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint64	value = (unsigned int)SvUV(ST(1))
;
#line 37938 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformHandleui64NV", )
  OGLM_AVAIL_CHECK(__glewUniformHandleui64NV, glUniformHandleui64NV)
  glUniformHandleui64NV(location, value);
  OGLM_CHECK_ERR("glUniformHandleui64NV", )
#line 76697 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64vARB_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint64*	value = INT2PTR(const GLuint64 *,SvIV(ST(2)))
;
#line 37952 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformHandleui64vARB", )
  OGLM_AVAIL_CHECK(__glewUniformHandleui64vARB, glUniformHandleui64vARB)
  glUniformHandleui64vARB(location, count, value);
  OGLM_CHECK_ERR("glUniformHandleui64vARB", )
#line 76723 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64vARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64vARB_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "location, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
#line 37964 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformHandleui64vARB", )
  OGLM_AVAIL_CHECK(__glewUniformHandleui64vARB, glUniformHandleui64vARB)
  GLsizei count = items-1;
  GLuint64* value = OGLM_GET_VARARGS(value,1,GLuint64,UV,count);
  glUniformHandleui64vARB((GLint )location, (GLsizei )count, (const GLuint64* )value);
  OGLM_CHECK_ERR("glUniformHandleui64vARB", free(value);)
  free(value);
#line 76748 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint64*	value = INT2PTR(const GLuint64 *,SvIV(ST(2)))
;
#line 37979 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformHandleui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniformHandleui64vNV, glUniformHandleui64vNV)
  glUniformHandleui64vNV(location, count, value);
  OGLM_CHECK_ERR("glUniformHandleui64vNV", )
#line 76773 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformHandleui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "location, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
#line 37989 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformHandleui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniformHandleui64vNV, glUniformHandleui64vNV)
  GLsizei count = items-1;
  GLuint64* value = OGLM_GET_VARARGS(value,1,GLuint64,UV,count);
  glUniformHandleui64vNV((GLint )location, (GLsizei )count, (const GLuint64* )value);
  OGLM_CHECK_ERR("glUniformHandleui64vNV", free(value);)
  free(value);
#line 76797 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 38005 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2dv, glUniformMatrix2dv)
  glUniformMatrix2dv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix2dv", )
#line 76824 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38017 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2dv, glUniformMatrix2dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*4);
  glUniformMatrix2dv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniformMatrix2dv", free(value);)
  free(value);
#line 76851 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 38034 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2fv, glUniformMatrix2fv)
  glUniformMatrix2fv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix2fv", )
#line 76879 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38048 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2fv, glUniformMatrix2fv)
  GLfloat* value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*4);
  glUniformMatrix2fv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glUniformMatrix2fv", free(value);)
  free(value);
#line 76907 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x3dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 38063 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2x3dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2x3dv, glUniformMatrix2x3dv)
  glUniformMatrix2x3dv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix2x3dv", )
#line 76934 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x3dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38075 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2x3dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2x3dv, glUniformMatrix2x3dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*6);
  glUniformMatrix2x3dv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniformMatrix2x3dv", free(value);)
  free(value);
#line 76961 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLfloat *	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 38092 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2x3fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2x3fv, glUniformMatrix2x3fv)
  glUniformMatrix2x3fv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix2x3fv", )
#line 76989 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38106 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2x3fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2x3fv, glUniformMatrix2x3fv)
  GLfloat *value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*6);
  glUniformMatrix2x3fv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat *)value);
  OGLM_CHECK_ERR("glUniformMatrix2x3fv", free(value);)
  free(value);
#line 77017 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x4dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 38121 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2x4dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2x4dv, glUniformMatrix2x4dv)
  glUniformMatrix2x4dv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix2x4dv", )
#line 77044 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x4dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38133 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2x4dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2x4dv, glUniformMatrix2x4dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*8);
  glUniformMatrix2x4dv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniformMatrix2x4dv", free(value);)
  free(value);
#line 77071 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x4fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLfloat *	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 38150 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2x4fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2x4fv, glUniformMatrix2x4fv)
  glUniformMatrix2x4fv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix2x4fv", )
#line 77099 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix2x4fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38164 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix2x4fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix2x4fv, glUniformMatrix2x4fv)
  GLfloat *value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*8);
  glUniformMatrix2x4fv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat *)value);
  OGLM_CHECK_ERR("glUniformMatrix2x4fv", free(value);)
  free(value);
#line 77127 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 38179 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3dv, glUniformMatrix3dv)
  glUniformMatrix3dv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix3dv", )
#line 77154 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38191 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3dv, glUniformMatrix3dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*9);
  glUniformMatrix3dv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniformMatrix3dv", free(value);)
  free(value);
#line 77181 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 38208 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3fv, glUniformMatrix3fv)
  glUniformMatrix3fv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix3fv", )
#line 77209 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38222 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3fv, glUniformMatrix3fv)
  GLfloat* value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*9);
  glUniformMatrix3fv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glUniformMatrix3fv", free(value);)
  free(value);
#line 77237 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x2dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 38237 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3x2dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3x2dv, glUniformMatrix3x2dv)
  glUniformMatrix3x2dv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix3x2dv", )
#line 77264 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x2dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38249 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3x2dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3x2dv, glUniformMatrix3x2dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*6);
  glUniformMatrix3x2dv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniformMatrix3x2dv", free(value);)
  free(value);
#line 77291 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x2fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLfloat *	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 38266 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3x2fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3x2fv, glUniformMatrix3x2fv)
  glUniformMatrix3x2fv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix3x2fv", )
#line 77319 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x2fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38280 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3x2fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3x2fv, glUniformMatrix3x2fv)
  GLfloat *value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*6);
  glUniformMatrix3x2fv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat *)value);
  OGLM_CHECK_ERR("glUniformMatrix3x2fv", free(value);)
  free(value);
#line 77347 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x4dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 38295 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3x4dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3x4dv, glUniformMatrix3x4dv)
  glUniformMatrix3x4dv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix3x4dv", )
#line 77374 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x4dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38307 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3x4dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3x4dv, glUniformMatrix3x4dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*12);
  glUniformMatrix3x4dv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniformMatrix3x4dv", free(value);)
  free(value);
#line 77401 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x4fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLfloat *	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 38324 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3x4fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3x4fv, glUniformMatrix3x4fv)
  glUniformMatrix3x4fv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix3x4fv", )
#line 77429 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix3x4fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38338 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix3x4fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix3x4fv, glUniformMatrix3x4fv)
  GLfloat *value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*12);
  glUniformMatrix3x4fv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat *)value);
  OGLM_CHECK_ERR("glUniformMatrix3x4fv", free(value);)
  free(value);
#line 77457 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 38353 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4dv, glUniformMatrix4dv)
  glUniformMatrix4dv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix4dv", )
#line 77484 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38365 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4dv, glUniformMatrix4dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*16);
  glUniformMatrix4dv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniformMatrix4dv", free(value);)
  free(value);
#line 77511 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLfloat*	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 38382 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4fv, glUniformMatrix4fv)
  glUniformMatrix4fv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix4fv", )
#line 77539 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38396 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4fv, glUniformMatrix4fv)
  GLfloat* value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*16);
  glUniformMatrix4fv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat* )value);
  OGLM_CHECK_ERR("glUniformMatrix4fv", free(value);)
  free(value);
#line 77567 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x2dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 38411 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4x2dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4x2dv, glUniformMatrix4x2dv)
  glUniformMatrix4x2dv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix4x2dv", )
#line 77594 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x2dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38423 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4x2dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4x2dv, glUniformMatrix4x2dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*8);
  glUniformMatrix4x2dv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniformMatrix4x2dv", free(value);)
  free(value);
#line 77621 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x2fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLfloat *	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 38440 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4x2fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4x2fv, glUniformMatrix4x2fv)
  glUniformMatrix4x2fv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix4x2fv", )
#line 77649 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x2fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38454 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4x2fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4x2fv, glUniformMatrix4x2fv)
  GLfloat *value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*8);
  glUniformMatrix4x2fv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat *)value);
  OGLM_CHECK_ERR("glUniformMatrix4x2fv", free(value);)
  free(value);
#line 77677 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x3dv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLdouble*	value = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 38469 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4x3dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4x3dv, glUniformMatrix4x3dv)
  glUniformMatrix4x3dv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix4x3dv", )
#line 77704 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x3dv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38481 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4x3dv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4x3dv, glUniformMatrix4x3dv)
  GLdouble* value = OGLM_GET_VARARGS(value,3,GLdouble,NV,count*12);
  glUniformMatrix4x3dv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLdouble* )value);
  OGLM_CHECK_ERR("glUniformMatrix4x3dv", free(value);)
  free(value);
#line 77731 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "location, count, transpose, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
	const GLfloat *	value = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 38498 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4x3fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4x3fv, glUniformMatrix4x3fv)
  glUniformMatrix4x3fv(location, count, transpose, value);
  OGLM_CHECK_ERR("glUniformMatrix4x3fv", )
#line 77759 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformMatrix4x3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 3)
       croak_xs_usage(cv,  "location, count, transpose, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	GLboolean	transpose = (int)SvIV(ST(2))
;
#line 38512 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformMatrix4x3fv", )
  OGLM_AVAIL_CHECK(__glewUniformMatrix4x3fv, glUniformMatrix4x3fv)
  GLfloat *value = OGLM_GET_VARARGS(value,3,GLfloat,NV,count*12);
  glUniformMatrix4x3fv((GLint )location, (GLsizei )count, (GLboolean )transpose, (const GLfloat *)value);
  OGLM_CHECK_ERR("glUniformMatrix4x3fv", free(value);)
  free(value);
#line 77787 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformSubroutinesuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformSubroutinesuiv_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "shadertype, count, indices");
    {
	GLenum	shadertype = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint*	indices = INT2PTR(const GLuint *,SvIV(ST(2)))
;
#line 38526 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformSubroutinesuiv", )
  OGLM_AVAIL_CHECK(__glewUniformSubroutinesuiv, glUniformSubroutinesuiv)
  glUniformSubroutinesuiv(shadertype, count, indices);
  OGLM_CHECK_ERR("glUniformSubroutinesuiv", )
#line 77812 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformSubroutinesuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformSubroutinesuiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "shadertype, ...");
    {
	GLenum	shadertype = (int)SvIV(ST(0))
;
#line 38536 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformSubroutinesuiv", )
  OGLM_AVAIL_CHECK(__glewUniformSubroutinesuiv, glUniformSubroutinesuiv)
  GLsizei count = items-1;
  GLuint* indices = OGLM_GET_VARARGS(indices,1,GLuint,UV,count);
  glUniformSubroutinesuiv((GLenum )shadertype, (GLsizei )count, (const GLuint* )indices);
  OGLM_CHECK_ERR("glUniformSubroutinesuiv", free(indices);)
  free(indices);
#line 77836 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformui64NV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "location, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLuint64EXT	value = (unsigned int)SvUV(ST(1))
;
#line 38550 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformui64NV", )
  OGLM_AVAIL_CHECK(__glewUniformui64NV, glUniformui64NV)
  glUniformui64NV(location, value);
  OGLM_CHECK_ERR("glUniformui64NV", )
#line 77859 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLuint64EXT*	value = INT2PTR(const GLuint64EXT *,SvIV(ST(2)))
;
#line 38562 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniformui64vNV, glUniformui64vNV)
  glUniformui64vNV(location, count, value);
  OGLM_CHECK_ERR("glUniformui64vNV", )
#line 77884 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUniformui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUniformui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "location, count, ...");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 38573 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUniformui64vNV", )
  OGLM_AVAIL_CHECK(__glewUniformui64vNV, glUniformui64vNV)
  GLuint64EXT* value = OGLM_GET_VARARGS(value,2,GLuint64EXT,UV,count*1);
  glUniformui64vNV((GLint )location, (GLsizei )count, (const GLuint64EXT* )value);
  OGLM_CHECK_ERR("glUniformui64vNV", free(value);)
  free(value);
#line 77909 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUnlockArraysEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUnlockArraysEXT)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 38584 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUnlockArraysEXT", )
  OGLM_AVAIL_CHECK(__glewUnlockArraysEXT, glUnlockArraysEXT)
  glUnlockArraysEXT();
  OGLM_CHECK_ERR("glUnlockArraysEXT", )
#line 77928 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUnmapBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUnmapBuffer)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 38596 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUnmapBuffer", )
  OGLM_AVAIL_CHECK(__glewUnmapBuffer, glUnmapBuffer)
  RETVAL = glUnmapBuffer(target);
  OGLM_CHECK_ERR("glUnmapBuffer", )
#line 77952 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glUnmapBufferOES); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUnmapBufferOES)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "target");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 38608 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUnmapBufferOES", )
  OGLM_AVAIL_CHECK(__glewUnmapBufferOES, glUnmapBufferOES)
  RETVAL = glUnmapBufferOES(target);
  OGLM_CHECK_ERR("glUnmapBufferOES", )
#line 77977 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glUnmapNamedBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUnmapNamedBuffer)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "buffer");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 38620 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUnmapNamedBuffer", )
  OGLM_AVAIL_CHECK(__glewUnmapNamedBuffer, glUnmapNamedBuffer)
  RETVAL = glUnmapNamedBuffer(buffer);
  OGLM_CHECK_ERR("glUnmapNamedBuffer", )
#line 78002 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glUnmapNamedBufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUnmapNamedBufferEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "buffer");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLboolean	RETVAL;
	dXSTARG;
#line 38632 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUnmapNamedBufferEXT", )
  OGLM_AVAIL_CHECK(__glewUnmapNamedBufferEXT, glUnmapNamedBufferEXT)
  RETVAL = glUnmapNamedBufferEXT(buffer);
  OGLM_CHECK_ERR("glUnmapNamedBufferEXT", )
#line 78027 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glUnmapObjectBufferATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUnmapObjectBufferATI)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "buffer");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
#line 38644 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUnmapObjectBufferATI", )
  OGLM_AVAIL_CHECK(__glewUnmapObjectBufferATI, glUnmapObjectBufferATI)
  glUnmapObjectBufferATI(buffer);
  OGLM_CHECK_ERR("glUnmapObjectBufferATI", )
#line 78050 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUnmapTexture2DINTEL); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUnmapTexture2DINTEL)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "texture, level");
    {
	GLuint	texture = (unsigned int)SvUV(ST(0))
;
	GLint	level = (int)SvIV(ST(1))
;
#line 38655 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUnmapTexture2DINTEL", )
  OGLM_AVAIL_CHECK(__glewUnmapTexture2DINTEL, glUnmapTexture2DINTEL)
  glUnmapTexture2DINTEL(texture, level);
  OGLM_CHECK_ERR("glUnmapTexture2DINTEL", )
#line 78073 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUpdateObjectBufferATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUpdateObjectBufferATI_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "buffer, offset, size, pointer, preserve");
    {
	GLuint	buffer = (unsigned int)SvUV(ST(0))
;
	GLuint	offset = (unsigned int)SvUV(ST(1))
;
	GLsizei	size = (int)SvIV(ST(2))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(3)))
;
	GLenum	preserve = (int)SvIV(ST(4))
;
#line 38669 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUpdateObjectBufferATI", )
  OGLM_AVAIL_CHECK(__glewUpdateObjectBufferATI, glUpdateObjectBufferATI)
  glUpdateObjectBufferATI(buffer, offset, size, pointer, preserve);
  OGLM_CHECK_ERR("glUpdateObjectBufferATI", )
#line 78102 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUploadGpuMaskNVX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUploadGpuMaskNVX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "mask");
    {
	GLbitfield	mask = (int)SvIV(ST(0))
;
#line 38679 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUploadGpuMaskNVX", )
  OGLM_AVAIL_CHECK(__glewUploadGpuMaskNVX, glUploadGpuMaskNVX)
  glUploadGpuMaskNVX(mask);
  OGLM_CHECK_ERR("glUploadGpuMaskNVX", )
#line 78123 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUseProgram); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUseProgram)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "program");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
#line 38689 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUseProgram", )
  OGLM_AVAIL_CHECK(__glewUseProgram, glUseProgram)
  glUseProgram(program);
  OGLM_CHECK_ERR("glUseProgram", )
#line 78144 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUseProgramObjectARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUseProgramObjectARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "programObj");
    {
	GLhandleARB	programObj = (unsigned int)SvUV(ST(0))
;
#line 38699 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUseProgramObjectARB", )
  OGLM_AVAIL_CHECK(__glewUseProgramObjectARB, glUseProgramObjectARB)
  glUseProgramObjectARB(programObj);
  OGLM_CHECK_ERR("glUseProgramObjectARB", )
#line 78165 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUseProgramStages); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUseProgramStages)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "pipeline, stages, program");
    {
	GLuint	pipeline = (unsigned int)SvUV(ST(0))
;
	GLbitfield	stages = (int)SvIV(ST(1))
;
	GLuint	program = (unsigned int)SvUV(ST(2))
;
#line 38711 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUseProgramStages", )
  OGLM_AVAIL_CHECK(__glewUseProgramStages, glUseProgramStages)
  glUseProgramStages(pipeline, stages, program);
  OGLM_CHECK_ERR("glUseProgramStages", )
#line 78190 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glUseShaderProgramEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glUseShaderProgramEXT)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, program");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	program = (unsigned int)SvUV(ST(1))
;
#line 38722 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glUseShaderProgramEXT", )
  OGLM_AVAIL_CHECK(__glewUseShaderProgramEXT, glUseShaderProgramEXT)
  glUseShaderProgramEXT(type, program);
  OGLM_CHECK_ERR("glUseShaderProgramEXT", )
#line 78213 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVDPAUFiniNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVDPAUFiniNV)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
#line 38731 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVDPAUFiniNV", )
  OGLM_AVAIL_CHECK(__glewVDPAUFiniNV, glVDPAUFiniNV)
  glVDPAUFiniNV();
  OGLM_CHECK_ERR("glVDPAUFiniNV", )
#line 78232 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVDPAUGetSurfaceivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVDPAUGetSurfaceivNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "surface, pname, count, length, values");
    {
	GLvdpauSurfaceNV	surface = INT2PTR(GLvdpauSurfaceNV,SvIV(ST(0)))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	GLsizei*	length = INT2PTR(GLsizei *,SvIV(ST(3)))
;
	GLint *	values = INT2PTR(GLint *,SvIV(ST(4)))
;
#line 38745 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVDPAUGetSurfaceivNV", )
  OGLM_AVAIL_CHECK(__glewVDPAUGetSurfaceivNV, glVDPAUGetSurfaceivNV)
  glVDPAUGetSurfaceivNV(surface, pname, count, length, values);
  OGLM_CHECK_ERR("glVDPAUGetSurfaceivNV", )
#line 78261 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVDPAUInitNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVDPAUInitNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "vdpDevice, getProcAddress");
    {
	const void*	vdpDevice = INT2PTR(const void *,SvIV(ST(0)))
;
	const void*	getProcAddress = INT2PTR(const void *,SvIV(ST(1)))
;
#line 38756 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVDPAUInitNV", )
  OGLM_AVAIL_CHECK(__glewVDPAUInitNV, glVDPAUInitNV)
  glVDPAUInitNV(vdpDevice, getProcAddress);
  OGLM_CHECK_ERR("glVDPAUInitNV", )
#line 78284 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVDPAUIsSurfaceNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVDPAUIsSurfaceNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "surface");
    {
	GLvdpauSurfaceNV	surface = INT2PTR(GLvdpauSurfaceNV,SvIV(ST(0)))
;
#line 38766 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVDPAUIsSurfaceNV", )
  OGLM_AVAIL_CHECK(__glewVDPAUIsSurfaceNV, glVDPAUIsSurfaceNV)
  glVDPAUIsSurfaceNV(surface);
  OGLM_CHECK_ERR("glVDPAUIsSurfaceNV", )
#line 78305 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVDPAUMapSurfacesNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVDPAUMapSurfacesNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "numSurfaces, surfaces");
    {
	GLsizei	numSurfaces = (int)SvIV(ST(0))
;
	const GLvdpauSurfaceNV*	surfaces = INT2PTR(const GLvdpauSurfaceNV *,SvIV(ST(1)))
;
#line 38777 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVDPAUMapSurfacesNV", )
  OGLM_AVAIL_CHECK(__glewVDPAUMapSurfacesNV, glVDPAUMapSurfacesNV)
  glVDPAUMapSurfacesNV(numSurfaces, surfaces);
  OGLM_CHECK_ERR("glVDPAUMapSurfacesNV", )
#line 78328 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVDPAURegisterOutputSurfaceNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVDPAURegisterOutputSurfaceNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "vdpSurface, target, numTextureNames, textureNames");
    {
	const void*	vdpSurface = INT2PTR(const void *,SvIV(ST(0)))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	numTextureNames = (int)SvIV(ST(2))
;
	const GLuint *	textureNames = INT2PTR(const GLuint *,SvIV(ST(3)))
;
	GLvdpauSurfaceNV	RETVAL;
	dXSTARG;
#line 38790 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVDPAURegisterOutputSurfaceNV", )
  OGLM_AVAIL_CHECK(__glewVDPAURegisterOutputSurfaceNV, glVDPAURegisterOutputSurfaceNV)
  RETVAL = glVDPAURegisterOutputSurfaceNV(vdpSurface, target, numTextureNames, textureNames);
  OGLM_CHECK_ERR("glVDPAURegisterOutputSurfaceNV", )
#line 78357 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glVDPAURegisterVideoSurfaceNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVDPAURegisterVideoSurfaceNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "vdpSurface, target, numTextureNames, textureNames");
    {
	const void*	vdpSurface = INT2PTR(const void *,SvIV(ST(0)))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	numTextureNames = (int)SvIV(ST(2))
;
	const GLuint *	textureNames = INT2PTR(const GLuint *,SvIV(ST(3)))
;
	GLvdpauSurfaceNV	RETVAL;
	dXSTARG;
#line 38805 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVDPAURegisterVideoSurfaceNV", )
  OGLM_AVAIL_CHECK(__glewVDPAURegisterVideoSurfaceNV, glVDPAURegisterVideoSurfaceNV)
  RETVAL = glVDPAURegisterVideoSurfaceNV(vdpSurface, target, numTextureNames, textureNames);
  OGLM_CHECK_ERR("glVDPAURegisterVideoSurfaceNV", )
#line 78388 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glVDPAURegisterVideoSurfaceWithPictureStructureNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVDPAURegisterVideoSurfaceWithPictureStructureNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "vdpSurface, target, numTextureNames, textureNames, isFrameStructure");
    {
	const void *	vdpSurface = INT2PTR(const void *,SvIV(ST(0)))
;
	GLenum	target = (int)SvIV(ST(1))
;
	GLsizei	numTextureNames = (int)SvIV(ST(2))
;
	const GLuint *	textureNames = INT2PTR(const GLuint *,SvIV(ST(3)))
;
	GLboolean	isFrameStructure = (int)SvIV(ST(4))
;
	GLvdpauSurfaceNV	RETVAL;
	dXSTARG;
#line 38821 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVDPAURegisterVideoSurfaceWithPictureStructureNV", )
  OGLM_AVAIL_CHECK(__glewVDPAURegisterVideoSurfaceWithPictureStructureNV, glVDPAURegisterVideoSurfaceWithPictureStructureNV)
  RETVAL = glVDPAURegisterVideoSurfaceWithPictureStructureNV(vdpSurface, target, numTextureNames, textureNames, isFrameStructure);
  OGLM_CHECK_ERR("glVDPAURegisterVideoSurfaceWithPictureStructureNV", )
#line 78421 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi(PTR2IV(RETVAL));
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glVDPAUSurfaceAccessNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVDPAUSurfaceAccessNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "surface, access");
    {
	GLvdpauSurfaceNV	surface = INT2PTR(GLvdpauSurfaceNV,SvIV(ST(0)))
;
	GLenum	access = (int)SvIV(ST(1))
;
#line 38834 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVDPAUSurfaceAccessNV", )
  OGLM_AVAIL_CHECK(__glewVDPAUSurfaceAccessNV, glVDPAUSurfaceAccessNV)
  glVDPAUSurfaceAccessNV(surface, access);
  OGLM_CHECK_ERR("glVDPAUSurfaceAccessNV", )
#line 78446 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVDPAUUnmapSurfacesNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVDPAUUnmapSurfacesNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "numSurface, surfaces");
    {
	GLsizei	numSurface = (int)SvIV(ST(0))
;
	const GLvdpauSurfaceNV*	surfaces = INT2PTR(const GLvdpauSurfaceNV *,SvIV(ST(1)))
;
#line 38845 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVDPAUUnmapSurfacesNV", )
  OGLM_AVAIL_CHECK(__glewVDPAUUnmapSurfacesNV, glVDPAUUnmapSurfacesNV)
  glVDPAUUnmapSurfacesNV(numSurface, surfaces);
  OGLM_CHECK_ERR("glVDPAUUnmapSurfacesNV", )
#line 78469 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVDPAUUnregisterSurfaceNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVDPAUUnregisterSurfaceNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "surface");
    {
	GLvdpauSurfaceNV	surface = INT2PTR(GLvdpauSurfaceNV,SvIV(ST(0)))
;
#line 38855 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVDPAUUnregisterSurfaceNV", )
  OGLM_AVAIL_CHECK(__glewVDPAUUnregisterSurfaceNV, glVDPAUUnregisterSurfaceNV)
  glVDPAUUnregisterSurfaceNV(surface);
  OGLM_CHECK_ERR("glVDPAUUnregisterSurfaceNV", )
#line 78490 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glValidateProgram); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glValidateProgram)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "program");
    {
	GLuint	program = (unsigned int)SvUV(ST(0))
;
#line 38865 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glValidateProgram", )
  OGLM_AVAIL_CHECK(__glewValidateProgram, glValidateProgram)
  glValidateProgram(program);
  OGLM_CHECK_ERR("glValidateProgram", )
#line 78511 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glValidateProgramARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glValidateProgramARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "programObj");
    {
	GLhandleARB	programObj = (unsigned int)SvUV(ST(0))
;
#line 38875 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glValidateProgramARB", )
  OGLM_AVAIL_CHECK(__glewValidateProgramARB, glValidateProgramARB)
  glValidateProgramARB(programObj);
  OGLM_CHECK_ERR("glValidateProgramARB", )
#line 78532 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glValidateProgramPipeline); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glValidateProgramPipeline)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "pipeline");
    {
	GLuint	pipeline = (unsigned int)SvUV(ST(0))
;
#line 38885 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glValidateProgramPipeline", )
  OGLM_AVAIL_CHECK(__glewValidateProgramPipeline, glValidateProgramPipeline)
  glValidateProgramPipeline(pipeline);
  OGLM_CHECK_ERR("glValidateProgramPipeline", )
#line 78553 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVariantArrayObjectATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVariantArrayObjectATI)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "id, type, stride, buffer, offset");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	GLuint	buffer = (unsigned int)SvUV(ST(3))
;
	GLuint	offset = (unsigned int)SvUV(ST(4))
;
#line 38899 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVariantArrayObjectATI", )
  OGLM_AVAIL_CHECK(__glewVariantArrayObjectATI, glVariantArrayObjectATI)
  glVariantArrayObjectATI(id, type, stride, buffer, offset);
  OGLM_CHECK_ERR("glVariantArrayObjectATI", )
#line 78582 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVariantPointerEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVariantPointerEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "id, type, stride, addr");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLuint	stride = (unsigned int)SvUV(ST(2))
;
	void *	addr = INT2PTR(void *,SvIV(ST(3)))
;
#line 38912 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVariantPointerEXT", )
  OGLM_AVAIL_CHECK(__glewVariantPointerEXT, glVariantPointerEXT)
  glVariantPointerEXT(id, type, stride, addr);
  OGLM_CHECK_ERR("glVariantPointerEXT", )
#line 78609 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVariantbvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVariantbvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, addr");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLbyte *	addr = INT2PTR(GLbyte *,SvIV(ST(1)))
;
#line 38923 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVariantbvEXT", )
  OGLM_AVAIL_CHECK(__glewVariantbvEXT, glVariantbvEXT)
  glVariantbvEXT(id, addr);
  OGLM_CHECK_ERR("glVariantbvEXT", )
#line 78632 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVariantdvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVariantdvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, addr");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLdouble *	addr = INT2PTR(GLdouble *,SvIV(ST(1)))
;
#line 38934 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVariantdvEXT", )
  OGLM_AVAIL_CHECK(__glewVariantdvEXT, glVariantdvEXT)
  glVariantdvEXT(id, addr);
  OGLM_CHECK_ERR("glVariantdvEXT", )
#line 78655 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVariantfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVariantfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, addr");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLfloat *	addr = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 38945 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVariantfvEXT", )
  OGLM_AVAIL_CHECK(__glewVariantfvEXT, glVariantfvEXT)
  glVariantfvEXT(id, addr);
  OGLM_CHECK_ERR("glVariantfvEXT", )
#line 78678 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVariantivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVariantivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, addr");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLint *	addr = INT2PTR(GLint *,SvIV(ST(1)))
;
#line 38956 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVariantivEXT", )
  OGLM_AVAIL_CHECK(__glewVariantivEXT, glVariantivEXT)
  glVariantivEXT(id, addr);
  OGLM_CHECK_ERR("glVariantivEXT", )
#line 78701 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVariantsvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVariantsvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, addr");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLshort *	addr = INT2PTR(GLshort *,SvIV(ST(1)))
;
#line 38967 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVariantsvEXT", )
  OGLM_AVAIL_CHECK(__glewVariantsvEXT, glVariantsvEXT)
  glVariantsvEXT(id, addr);
  OGLM_CHECK_ERR("glVariantsvEXT", )
#line 78724 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVariantubvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVariantubvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, addr");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLubyte *	addr = INT2PTR(GLubyte *,SvIV(ST(1)))
;
#line 38978 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVariantubvEXT", )
  OGLM_AVAIL_CHECK(__glewVariantubvEXT, glVariantubvEXT)
  glVariantubvEXT(id, addr);
  OGLM_CHECK_ERR("glVariantubvEXT", )
#line 78747 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVariantuivEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVariantuivEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, addr");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLuint *	addr = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 38989 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVariantuivEXT", )
  OGLM_AVAIL_CHECK(__glewVariantuivEXT, glVariantuivEXT)
  glVariantuivEXT(id, addr);
  OGLM_CHECK_ERR("glVariantuivEXT", )
#line 78770 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVariantusvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVariantusvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "id, addr");
    {
	GLuint	id = (unsigned int)SvUV(ST(0))
;
	GLushort *	addr = INT2PTR(GLushort *,SvIV(ST(1)))
;
#line 39000 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVariantusvEXT", )
  OGLM_AVAIL_CHECK(__glewVariantusvEXT, glVariantusvEXT)
  glVariantusvEXT(id, addr);
  OGLM_CHECK_ERR("glVariantusvEXT", )
#line 78793 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVectorOperationSGIX); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVectorOperationSGIX)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "operation");
    {
	GLenum	operation = (int)SvIV(ST(0))
;
#line 39010 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVectorOperationSGIX", )
  OGLM_AVAIL_CHECK(__glewVectorOperationSGIX, glVectorOperationSGIX)
  glVectorOperationSGIX(operation);
  OGLM_CHECK_ERR("glVectorOperationSGIX", )
#line 78814 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2d)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLdouble	x = (double)SvNV(ST(0))
;
	GLdouble	y = (double)SvNV(ST(1))
;
#line 39021 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2d", )
  glVertex2d(x, y);
  OGLM_CHECK_ERR("glVertex2d", )
#line 78836 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 39030 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2dv", )
  glVertex2dv(v);
  OGLM_CHECK_ERR("glVertex2dv", )
#line 78856 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39038 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,2);
  glVertex2dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glVertex2dv", free(v);)
  free(v);
#line 78876 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2f)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLfloat	x = (float)SvNV(ST(0))
;
	GLfloat	y = (float)SvNV(ST(1))
;
#line 39050 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2f", )
  glVertex2f(x, y);
  OGLM_CHECK_ERR("glVertex2f", )
#line 78898 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 39059 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2fv", )
  glVertex2fv(v);
  OGLM_CHECK_ERR("glVertex2fv", )
#line 78918 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39067 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,2);
  glVertex2fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glVertex2fv", free(v);)
  free(v);
#line 78938 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2hNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLhalf	x = (float)SvNV(ST(0))
;
	GLhalf	y = (float)SvNV(ST(1))
;
#line 39079 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2hNV", )
  OGLM_AVAIL_CHECK(__glewVertex2hNV, glVertex2hNV)
  glVertex2hNV(x, y);
  OGLM_CHECK_ERR("glVertex2hNV", )
#line 78961 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 39089 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2hvNV", )
  OGLM_AVAIL_CHECK(__glewVertex2hvNV, glVertex2hvNV)
  glVertex2hvNV(v);
  OGLM_CHECK_ERR("glVertex2hvNV", )
#line 78982 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2hvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39098 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2hvNV", )
  OGLM_AVAIL_CHECK(__glewVertex2hvNV, glVertex2hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,0,GLhalf,NV,2);
  glVertex2hvNV((const GLhalf* )v);
  OGLM_CHECK_ERR("glVertex2hvNV", free(v);)
  free(v);
#line 79003 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2i)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
#line 39111 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2i", )
  glVertex2i(x, y);
  OGLM_CHECK_ERR("glVertex2i", )
#line 79025 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 39120 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2iv", )
  glVertex2iv(v);
  OGLM_CHECK_ERR("glVertex2iv", )
#line 79045 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39128 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,2);
  glVertex2iv((const GLint *)v);
  OGLM_CHECK_ERR("glVertex2iv", free(v);)
  free(v);
#line 79065 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLshort	x = (short)SvIV(ST(0))
;
	GLshort	y = (short)SvIV(ST(1))
;
#line 39140 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2s", )
  glVertex2s(x, y);
  OGLM_CHECK_ERR("glVertex2s", )
#line 79087 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 39149 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2sv", )
  glVertex2sv(v);
  OGLM_CHECK_ERR("glVertex2sv", )
#line 79107 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex2sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex2sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39157 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex2sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,2);
  glVertex2sv((const GLshort *)v);
  OGLM_CHECK_ERR("glVertex2sv", free(v);)
  free(v);
#line 79127 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3d)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLdouble	x = (double)SvNV(ST(0))
;
	GLdouble	y = (double)SvNV(ST(1))
;
	GLdouble	z = (double)SvNV(ST(2))
;
#line 39170 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3d", )
  glVertex3d(x, y, z);
  OGLM_CHECK_ERR("glVertex3d", )
#line 79151 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 39179 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3dv", )
  glVertex3dv(v);
  OGLM_CHECK_ERR("glVertex3dv", )
#line 79171 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39187 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,3);
  glVertex3dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glVertex3dv", free(v);)
  free(v);
#line 79191 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3f)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLfloat	x = (float)SvNV(ST(0))
;
	GLfloat	y = (float)SvNV(ST(1))
;
	GLfloat	z = (float)SvNV(ST(2))
;
#line 39200 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3f", )
  glVertex3f(x, y, z);
  OGLM_CHECK_ERR("glVertex3f", )
#line 79215 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 39209 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3fv", )
  glVertex3fv(v);
  OGLM_CHECK_ERR("glVertex3fv", )
#line 79235 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39217 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,3);
  glVertex3fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glVertex3fv", free(v);)
  free(v);
#line 79255 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3hNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLhalf	x = (float)SvNV(ST(0))
;
	GLhalf	y = (float)SvNV(ST(1))
;
	GLhalf	z = (float)SvNV(ST(2))
;
#line 39230 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3hNV", )
  OGLM_AVAIL_CHECK(__glewVertex3hNV, glVertex3hNV)
  glVertex3hNV(x, y, z);
  OGLM_CHECK_ERR("glVertex3hNV", )
#line 79280 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 39240 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3hvNV", )
  OGLM_AVAIL_CHECK(__glewVertex3hvNV, glVertex3hvNV)
  glVertex3hvNV(v);
  OGLM_CHECK_ERR("glVertex3hvNV", )
#line 79301 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3hvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39249 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3hvNV", )
  OGLM_AVAIL_CHECK(__glewVertex3hvNV, glVertex3hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,0,GLhalf,NV,3);
  glVertex3hvNV((const GLhalf* )v);
  OGLM_CHECK_ERR("glVertex3hvNV", free(v);)
  free(v);
#line 79322 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3i)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLint	z = (int)SvIV(ST(2))
;
#line 39263 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3i", )
  glVertex3i(x, y, z);
  OGLM_CHECK_ERR("glVertex3i", )
#line 79346 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 39272 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3iv", )
  glVertex3iv(v);
  OGLM_CHECK_ERR("glVertex3iv", )
#line 79366 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39280 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,3);
  glVertex3iv((const GLint *)v);
  OGLM_CHECK_ERR("glVertex3iv", free(v);)
  free(v);
#line 79386 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLshort	x = (short)SvIV(ST(0))
;
	GLshort	y = (short)SvIV(ST(1))
;
	GLshort	z = (short)SvIV(ST(2))
;
#line 39293 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3s", )
  glVertex3s(x, y, z);
  OGLM_CHECK_ERR("glVertex3s", )
#line 79410 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 39302 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3sv", )
  glVertex3sv(v);
  OGLM_CHECK_ERR("glVertex3sv", )
#line 79430 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex3sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex3sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39310 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex3sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,3);
  glVertex3sv((const GLshort *)v);
  OGLM_CHECK_ERR("glVertex3sv", free(v);)
  free(v);
#line 79450 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4d)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLdouble	x = (double)SvNV(ST(0))
;
	GLdouble	y = (double)SvNV(ST(1))
;
	GLdouble	z = (double)SvNV(ST(2))
;
	GLdouble	w = (double)SvNV(ST(3))
;
#line 39324 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4d", )
  glVertex4d(x, y, z, w);
  OGLM_CHECK_ERR("glVertex4d", )
#line 79476 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4dv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 39333 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4dv", )
  glVertex4dv(v);
  OGLM_CHECK_ERR("glVertex4dv", )
#line 79496 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4dv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39341 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4dv", )
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,4);
  glVertex4dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glVertex4dv", free(v);)
  free(v);
#line 79516 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4f)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLfloat	x = (float)SvNV(ST(0))
;
	GLfloat	y = (float)SvNV(ST(1))
;
	GLfloat	z = (float)SvNV(ST(2))
;
	GLfloat	w = (float)SvNV(ST(3))
;
#line 39355 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4f", )
  glVertex4f(x, y, z, w);
  OGLM_CHECK_ERR("glVertex4f", )
#line 79542 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4fv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 39364 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4fv", )
  glVertex4fv(v);
  OGLM_CHECK_ERR("glVertex4fv", )
#line 79562 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4fv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39372 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4fv", )
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,4);
  glVertex4fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glVertex4fv", free(v);)
  free(v);
#line 79582 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4hNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLhalf	x = (float)SvNV(ST(0))
;
	GLhalf	y = (float)SvNV(ST(1))
;
	GLhalf	z = (float)SvNV(ST(2))
;
	GLhalf	w = (float)SvNV(ST(3))
;
#line 39386 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4hNV", )
  OGLM_AVAIL_CHECK(__glewVertex4hNV, glVertex4hNV)
  glVertex4hNV(x, y, z, w);
  OGLM_CHECK_ERR("glVertex4hNV", )
#line 79609 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 39396 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4hvNV", )
  OGLM_AVAIL_CHECK(__glewVertex4hvNV, glVertex4hvNV)
  glVertex4hvNV(v);
  OGLM_CHECK_ERR("glVertex4hvNV", )
#line 79630 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4hvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39405 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4hvNV", )
  OGLM_AVAIL_CHECK(__glewVertex4hvNV, glVertex4hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,0,GLhalf,NV,4);
  glVertex4hvNV((const GLhalf* )v);
  OGLM_CHECK_ERR("glVertex4hvNV", free(v);)
  free(v);
#line 79651 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4i)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLint	z = (int)SvIV(ST(2))
;
	GLint	w = (int)SvIV(ST(3))
;
#line 39420 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4i", )
  glVertex4i(x, y, z, w);
  OGLM_CHECK_ERR("glVertex4i", )
#line 79677 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4iv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 39429 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4iv", )
  glVertex4iv(v);
  OGLM_CHECK_ERR("glVertex4iv", )
#line 79697 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4iv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39437 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4iv", )
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,4);
  glVertex4iv((const GLint *)v);
  OGLM_CHECK_ERR("glVertex4iv", free(v);)
  free(v);
#line 79717 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4s)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLshort	x = (short)SvIV(ST(0))
;
	GLshort	y = (short)SvIV(ST(1))
;
	GLshort	z = (short)SvIV(ST(2))
;
	GLshort	w = (short)SvIV(ST(3))
;
#line 39451 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4s", )
  glVertex4s(x, y, z, w);
  OGLM_CHECK_ERR("glVertex4s", )
#line 79743 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4sv_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 39460 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4sv", )
  glVertex4sv(v);
  OGLM_CHECK_ERR("glVertex4sv", )
#line 79763 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertex4sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertex4sv_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 39468 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertex4sv", )
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,4);
  glVertex4sv((const GLshort *)v);
  OGLM_CHECK_ERR("glVertex4sv", free(v);)
  free(v);
#line 79783 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayAttribBinding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayAttribBinding)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "vaobj, attribindex, bindingindex");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	attribindex = (unsigned int)SvUV(ST(1))
;
	GLuint	bindingindex = (unsigned int)SvUV(ST(2))
;
#line 39481 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayAttribBinding", )
  OGLM_AVAIL_CHECK(__glewVertexArrayAttribBinding, glVertexArrayAttribBinding)
  glVertexArrayAttribBinding(vaobj, attribindex, bindingindex);
  OGLM_CHECK_ERR("glVertexArrayAttribBinding", )
#line 79808 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayAttribFormat); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayAttribFormat)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "vaobj, attribindex, size, type, normalized, relativeoffset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	attribindex = (unsigned int)SvUV(ST(1))
;
	GLint	size = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLboolean	normalized = (int)SvIV(ST(4))
;
	GLuint	relativeoffset = (unsigned int)SvUV(ST(5))
;
#line 39496 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayAttribFormat", )
  OGLM_AVAIL_CHECK(__glewVertexArrayAttribFormat, glVertexArrayAttribFormat)
  glVertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset);
  OGLM_CHECK_ERR("glVertexArrayAttribFormat", )
#line 79839 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayAttribIFormat); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayAttribIFormat)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "vaobj, attribindex, size, type, relativeoffset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	attribindex = (unsigned int)SvUV(ST(1))
;
	GLint	size = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLuint	relativeoffset = (unsigned int)SvUV(ST(4))
;
#line 39510 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayAttribIFormat", )
  OGLM_AVAIL_CHECK(__glewVertexArrayAttribIFormat, glVertexArrayAttribIFormat)
  glVertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset);
  OGLM_CHECK_ERR("glVertexArrayAttribIFormat", )
#line 79868 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayAttribLFormat); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayAttribLFormat)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "vaobj, attribindex, size, type, relativeoffset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	attribindex = (unsigned int)SvUV(ST(1))
;
	GLint	size = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLuint	relativeoffset = (unsigned int)SvUV(ST(4))
;
#line 39524 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayAttribLFormat", )
  OGLM_AVAIL_CHECK(__glewVertexArrayAttribLFormat, glVertexArrayAttribLFormat)
  glVertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset);
  OGLM_CHECK_ERR("glVertexArrayAttribLFormat", )
#line 79897 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayBindVertexBufferEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayBindVertexBufferEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "vaobj, bindingindex, buffer, offset, stride");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	bindingindex = (unsigned int)SvUV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
#line 39538 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayBindVertexBufferEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayBindVertexBufferEXT, glVertexArrayBindVertexBufferEXT)
  glVertexArrayBindVertexBufferEXT(vaobj, bindingindex, buffer, offset, stride);
  OGLM_CHECK_ERR("glVertexArrayBindVertexBufferEXT", )
#line 79926 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayBindingDivisor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayBindingDivisor)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "vaobj, bindingindex, divisor");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	bindingindex = (unsigned int)SvUV(ST(1))
;
	GLuint	divisor = (unsigned int)SvUV(ST(2))
;
#line 39550 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayBindingDivisor", )
  OGLM_AVAIL_CHECK(__glewVertexArrayBindingDivisor, glVertexArrayBindingDivisor)
  glVertexArrayBindingDivisor(vaobj, bindingindex, divisor);
  OGLM_CHECK_ERR("glVertexArrayBindingDivisor", )
#line 79951 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayColorOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayColorOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "vaobj, buffer, size, type, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLint	size = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
	GLintptr	offset = (unsigned int)SvUV(ST(5))
;
#line 39565 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayColorOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayColorOffsetEXT, glVertexArrayColorOffsetEXT)
  glVertexArrayColorOffsetEXT(vaobj, buffer, size, type, stride, offset);
  OGLM_CHECK_ERR("glVertexArrayColorOffsetEXT", )
#line 79982 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayEdgeFlagOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayEdgeFlagOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "vaobj, buffer, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
#line 39578 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayEdgeFlagOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayEdgeFlagOffsetEXT, glVertexArrayEdgeFlagOffsetEXT)
  glVertexArrayEdgeFlagOffsetEXT(vaobj, buffer, stride, offset);
  OGLM_CHECK_ERR("glVertexArrayEdgeFlagOffsetEXT", )
#line 80009 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayElementBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayElementBuffer)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "vaobj, buffer");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
#line 39589 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayElementBuffer", )
  OGLM_AVAIL_CHECK(__glewVertexArrayElementBuffer, glVertexArrayElementBuffer)
  glVertexArrayElementBuffer(vaobj, buffer);
  OGLM_CHECK_ERR("glVertexArrayElementBuffer", )
#line 80032 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayFogCoordOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayFogCoordOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "vaobj, buffer, type, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
	GLintptr	offset = (unsigned int)SvUV(ST(4))
;
#line 39603 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayFogCoordOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayFogCoordOffsetEXT, glVertexArrayFogCoordOffsetEXT)
  glVertexArrayFogCoordOffsetEXT(vaobj, buffer, type, stride, offset);
  OGLM_CHECK_ERR("glVertexArrayFogCoordOffsetEXT", )
#line 80061 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayIndexOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayIndexOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "vaobj, buffer, type, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
	GLintptr	offset = (unsigned int)SvUV(ST(4))
;
#line 39617 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayIndexOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayIndexOffsetEXT, glVertexArrayIndexOffsetEXT)
  glVertexArrayIndexOffsetEXT(vaobj, buffer, type, stride, offset);
  OGLM_CHECK_ERR("glVertexArrayIndexOffsetEXT", )
#line 80090 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayMultiTexCoordOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayMultiTexCoordOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "vaobj, buffer, texunit, size, type, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLenum	texunit = (int)SvIV(ST(2))
;
	GLint	size = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	GLsizei	stride = (int)SvIV(ST(5))
;
	GLintptr	offset = (unsigned int)SvUV(ST(6))
;
#line 39633 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayMultiTexCoordOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayMultiTexCoordOffsetEXT, glVertexArrayMultiTexCoordOffsetEXT)
  glVertexArrayMultiTexCoordOffsetEXT(vaobj, buffer, texunit, size, type, stride, offset);
  OGLM_CHECK_ERR("glVertexArrayMultiTexCoordOffsetEXT", )
#line 80123 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayNormalOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayNormalOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "vaobj, buffer, type, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
	GLintptr	offset = (unsigned int)SvUV(ST(4))
;
#line 39647 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayNormalOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayNormalOffsetEXT, glVertexArrayNormalOffsetEXT)
  glVertexArrayNormalOffsetEXT(vaobj, buffer, type, stride, offset);
  OGLM_CHECK_ERR("glVertexArrayNormalOffsetEXT", )
#line 80152 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayParameteriAPPLE); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayParameteriAPPLE)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 39658 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayParameteriAPPLE", )
  OGLM_AVAIL_CHECK(__glewVertexArrayParameteriAPPLE, glVertexArrayParameteriAPPLE)
  glVertexArrayParameteriAPPLE(pname, param);
  OGLM_CHECK_ERR("glVertexArrayParameteriAPPLE", )
#line 80175 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayRangeAPPLE_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayRangeAPPLE_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "length, pointer");
    {
	GLsizei	length = (int)SvIV(ST(0))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(1)))
;
#line 39669 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayRangeAPPLE", )
  OGLM_AVAIL_CHECK(__glewVertexArrayRangeAPPLE, glVertexArrayRangeAPPLE)
  glVertexArrayRangeAPPLE(length, pointer);
  OGLM_CHECK_ERR("glVertexArrayRangeAPPLE", )
#line 80198 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayRangeNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayRangeNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "length, pointer");
    {
	GLsizei	length = (int)SvIV(ST(0))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(1)))
;
#line 39680 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayRangeNV", )
  OGLM_AVAIL_CHECK(__glewVertexArrayRangeNV, glVertexArrayRangeNV)
  glVertexArrayRangeNV(length, pointer);
  OGLM_CHECK_ERR("glVertexArrayRangeNV", )
#line 80221 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArraySecondaryColorOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArraySecondaryColorOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "vaobj, buffer, size, type, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLint	size = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
	GLintptr	offset = (unsigned int)SvUV(ST(5))
;
#line 39695 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArraySecondaryColorOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArraySecondaryColorOffsetEXT, glVertexArraySecondaryColorOffsetEXT)
  glVertexArraySecondaryColorOffsetEXT(vaobj, buffer, size, type, stride, offset);
  OGLM_CHECK_ERR("glVertexArraySecondaryColorOffsetEXT", )
#line 80252 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayTexCoordOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayTexCoordOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "vaobj, buffer, size, type, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLint	size = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
	GLintptr	offset = (unsigned int)SvUV(ST(5))
;
#line 39710 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayTexCoordOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayTexCoordOffsetEXT, glVertexArrayTexCoordOffsetEXT)
  glVertexArrayTexCoordOffsetEXT(vaobj, buffer, size, type, stride, offset);
  OGLM_CHECK_ERR("glVertexArrayTexCoordOffsetEXT", )
#line 80283 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribBindingEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribBindingEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "vaobj, attribindex, bindingindex");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	attribindex = (unsigned int)SvUV(ST(1))
;
	GLuint	bindingindex = (unsigned int)SvUV(ST(2))
;
#line 39722 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexAttribBindingEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexAttribBindingEXT, glVertexArrayVertexAttribBindingEXT)
  glVertexArrayVertexAttribBindingEXT(vaobj, attribindex, bindingindex);
  OGLM_CHECK_ERR("glVertexArrayVertexAttribBindingEXT", )
#line 80308 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribDivisorEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribDivisorEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "vaobj, index, divisor");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLuint	divisor = (unsigned int)SvUV(ST(2))
;
#line 39734 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexAttribDivisorEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexAttribDivisorEXT, glVertexArrayVertexAttribDivisorEXT)
  glVertexArrayVertexAttribDivisorEXT(vaobj, index, divisor);
  OGLM_CHECK_ERR("glVertexArrayVertexAttribDivisorEXT", )
#line 80333 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribFormatEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribFormatEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "vaobj, attribindex, size, type, normalized, relativeoffset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	attribindex = (unsigned int)SvUV(ST(1))
;
	GLint	size = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLboolean	normalized = (int)SvIV(ST(4))
;
	GLuint	relativeoffset = (unsigned int)SvUV(ST(5))
;
#line 39749 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexAttribFormatEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexAttribFormatEXT, glVertexArrayVertexAttribFormatEXT)
  glVertexArrayVertexAttribFormatEXT(vaobj, attribindex, size, type, normalized, relativeoffset);
  OGLM_CHECK_ERR("glVertexArrayVertexAttribFormatEXT", )
#line 80364 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribIFormatEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribIFormatEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "vaobj, attribindex, size, type, relativeoffset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	attribindex = (unsigned int)SvUV(ST(1))
;
	GLint	size = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLuint	relativeoffset = (unsigned int)SvUV(ST(4))
;
#line 39763 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexAttribIFormatEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexAttribIFormatEXT, glVertexArrayVertexAttribIFormatEXT)
  glVertexArrayVertexAttribIFormatEXT(vaobj, attribindex, size, type, relativeoffset);
  OGLM_CHECK_ERR("glVertexArrayVertexAttribIFormatEXT", )
#line 80393 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribIOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribIOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "vaobj, buffer, index, size, type, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLint	size = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	GLsizei	stride = (int)SvIV(ST(5))
;
	GLintptr	offset = (unsigned int)SvUV(ST(6))
;
#line 39779 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexAttribIOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexAttribIOffsetEXT, glVertexArrayVertexAttribIOffsetEXT)
  glVertexArrayVertexAttribIOffsetEXT(vaobj, buffer, index, size, type, stride, offset);
  OGLM_CHECK_ERR("glVertexArrayVertexAttribIOffsetEXT", )
#line 80426 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribLFormatEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribLFormatEXT)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "vaobj, attribindex, size, type, relativeoffset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	attribindex = (unsigned int)SvUV(ST(1))
;
	GLint	size = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLuint	relativeoffset = (unsigned int)SvUV(ST(4))
;
#line 39793 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexAttribLFormatEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexAttribLFormatEXT, glVertexArrayVertexAttribLFormatEXT)
  glVertexArrayVertexAttribLFormatEXT(vaobj, attribindex, size, type, relativeoffset);
  OGLM_CHECK_ERR("glVertexArrayVertexAttribLFormatEXT", )
#line 80455 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribLOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribLOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "vaobj, buffer, index, size, type, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLint	size = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	GLsizei	stride = (int)SvIV(ST(5))
;
	GLintptr	offset = (unsigned int)SvUV(ST(6))
;
#line 39809 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexAttribLOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexAttribLOffsetEXT, glVertexArrayVertexAttribLOffsetEXT)
  glVertexArrayVertexAttribLOffsetEXT(vaobj, buffer, index, size, type, stride, offset);
  OGLM_CHECK_ERR("glVertexArrayVertexAttribLOffsetEXT", )
#line 80488 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexAttribOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 8)
       croak_xs_usage(cv,  "vaobj, buffer, index, size, type, normalized, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLuint	index = (unsigned int)SvUV(ST(2))
;
	GLint	size = (int)SvIV(ST(3))
;
	GLenum	type = (int)SvIV(ST(4))
;
	GLboolean	normalized = (int)SvIV(ST(5))
;
	GLsizei	stride = (int)SvIV(ST(6))
;
	GLintptr	offset = (unsigned int)SvUV(ST(7))
;
#line 39826 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexAttribOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexAttribOffsetEXT, glVertexArrayVertexAttribOffsetEXT)
  glVertexArrayVertexAttribOffsetEXT(vaobj, buffer, index, size, type, normalized, stride, offset);
  OGLM_CHECK_ERR("glVertexArrayVertexAttribOffsetEXT", )
#line 80523 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexBindingDivisorEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexBindingDivisorEXT)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "vaobj, bindingindex, divisor");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	bindingindex = (unsigned int)SvUV(ST(1))
;
	GLuint	divisor = (unsigned int)SvUV(ST(2))
;
#line 39838 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexBindingDivisorEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexBindingDivisorEXT, glVertexArrayVertexBindingDivisorEXT)
  glVertexArrayVertexBindingDivisorEXT(vaobj, bindingindex, divisor);
  OGLM_CHECK_ERR("glVertexArrayVertexBindingDivisorEXT", )
#line 80548 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexBuffer); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexBuffer)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "vaobj, bindingindex, buffer, offset, stride");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	bindingindex = (unsigned int)SvUV(ST(1))
;
	GLuint	buffer = (unsigned int)SvUV(ST(2))
;
	GLintptr	offset = (unsigned int)SvUV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
#line 39852 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexBuffer", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexBuffer, glVertexArrayVertexBuffer)
  glVertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride);
  OGLM_CHECK_ERR("glVertexArrayVertexBuffer", )
#line 80577 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexBuffers_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexBuffers_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "vaobj, first, count, buffers, offsets, strides");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	first = (unsigned int)SvUV(ST(1))
;
	GLsizei	count = (int)SvIV(ST(2))
;
	const GLuint*	buffers = INT2PTR(const GLuint *,SvIV(ST(3)))
;
	const GLintptr *	offsets = INT2PTR(const GLintptr *,SvIV(ST(4)))
;
	const GLsizei *	strides = INT2PTR(const GLsizei *,SvIV(ST(5)))
;
#line 39867 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexBuffers", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexBuffers, glVertexArrayVertexBuffers)
  glVertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides);
  OGLM_CHECK_ERR("glVertexArrayVertexBuffers", )
#line 80608 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexOffsetEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexArrayVertexOffsetEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "vaobj, buffer, size, type, stride, offset");
    {
	GLuint	vaobj = (unsigned int)SvUV(ST(0))
;
	GLuint	buffer = (unsigned int)SvUV(ST(1))
;
	GLint	size = (int)SvIV(ST(2))
;
	GLenum	type = (int)SvIV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
	GLintptr	offset = (unsigned int)SvUV(ST(5))
;
#line 39882 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexArrayVertexOffsetEXT", )
  OGLM_AVAIL_CHECK(__glewVertexArrayVertexOffsetEXT, glVertexArrayVertexOffsetEXT)
  glVertexArrayVertexOffsetEXT(vaobj, buffer, size, type, stride, offset);
  OGLM_CHECK_ERR("glVertexArrayVertexOffsetEXT", )
#line 80639 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, x");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
#line 39896 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1d", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1d, glVertexAttrib1d)
  glVertexAttrib1d(index, x);
  OGLM_CHECK_ERR("glVertexAttrib1d", )
#line 80663 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 39910 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1dv, glVertexAttrib1dv)
  glVertexAttrib1dv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib1dv", )
#line 80687 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 39923 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1dv, glVertexAttrib1dv)
  GLdouble* v = OGLM_GET_VARARGS(v,1,GLdouble,NV,1);
  glVertexAttrib1dv((GLuint )index, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttrib1dv", free(v);)
  free(v);
#line 80711 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, x");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
#line 39939 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1f", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1f, glVertexAttrib1f)
  glVertexAttrib1f(index, x);
  OGLM_CHECK_ERR("glVertexAttrib1f", )
#line 80735 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 39953 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1fv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1fv, glVertexAttrib1fv)
  glVertexAttrib1fv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib1fv", )
#line 80759 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 39966 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1fv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1fv, glVertexAttrib1fv)
  GLfloat* v = OGLM_GET_VARARGS(v,1,GLfloat,NV,1);
  glVertexAttrib1fv((GLuint )index, (const GLfloat* )v);
  OGLM_CHECK_ERR("glVertexAttrib1fv", free(v);)
  free(v);
#line 80783 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1hNV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, x");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLhalf	x = (float)SvNV(ST(1))
;
#line 39979 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1hNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1hNV, glVertexAttrib1hNV)
  glVertexAttrib1hNV(index, x);
  OGLM_CHECK_ERR("glVertexAttrib1hNV", )
#line 80806 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(1)))
;
#line 39990 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1hvNV, glVertexAttrib1hvNV)
  glVertexAttrib1hvNV(index, v);
  OGLM_CHECK_ERR("glVertexAttrib1hvNV", )
#line 80829 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40000 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1hvNV, glVertexAttrib1hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,1);
  glVertexAttrib1hvNV((GLuint )index, (const GLhalf* )v);
  OGLM_CHECK_ERR("glVertexAttrib1hvNV", free(v);)
  free(v);
#line 80852 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1s)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, x");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLshort	x = (short)SvIV(ST(1))
;
#line 40016 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1s", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1s, glVertexAttrib1s)
  glVertexAttrib1s(index, x);
  OGLM_CHECK_ERR("glVertexAttrib1s", )
#line 80876 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLshort*	v = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 40030 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1sv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1sv, glVertexAttrib1sv)
  glVertexAttrib1sv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib1sv", )
#line 80900 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib1sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40043 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib1sv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib1sv, glVertexAttrib1sv)
  GLshort* v = OGLM_GET_VARARGS(v,1,GLshort,IV,1);
  glVertexAttrib1sv((GLuint )index, (const GLshort* )v);
  OGLM_CHECK_ERR("glVertexAttrib1sv", free(v);)
  free(v);
#line 80924 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, x, y");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
#line 40060 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2d", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2d, glVertexAttrib2d)
  glVertexAttrib2d(index, x, y);
  OGLM_CHECK_ERR("glVertexAttrib2d", )
#line 80950 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 40074 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2dv, glVertexAttrib2dv)
  glVertexAttrib2dv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib2dv", )
#line 80974 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40087 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2dv, glVertexAttrib2dv)
  GLdouble* v = OGLM_GET_VARARGS(v,1,GLdouble,NV,2);
  glVertexAttrib2dv((GLuint )index, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttrib2dv", free(v);)
  free(v);
#line 80998 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, x, y");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
#line 40104 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2f", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2f, glVertexAttrib2f)
  glVertexAttrib2f(index, x, y);
  OGLM_CHECK_ERR("glVertexAttrib2f", )
#line 81024 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 40118 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2fv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2fv, glVertexAttrib2fv)
  glVertexAttrib2fv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib2fv", )
#line 81048 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40131 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2fv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2fv, glVertexAttrib2fv)
  GLfloat* v = OGLM_GET_VARARGS(v,1,GLfloat,NV,2);
  glVertexAttrib2fv((GLuint )index, (const GLfloat* )v);
  OGLM_CHECK_ERR("glVertexAttrib2fv", free(v);)
  free(v);
#line 81072 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2hNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, x, y");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLhalf	x = (float)SvNV(ST(1))
;
	GLhalf	y = (float)SvNV(ST(2))
;
#line 40145 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2hNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2hNV, glVertexAttrib2hNV)
  glVertexAttrib2hNV(index, x, y);
  OGLM_CHECK_ERR("glVertexAttrib2hNV", )
#line 81097 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(1)))
;
#line 40156 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2hvNV, glVertexAttrib2hvNV)
  glVertexAttrib2hvNV(index, v);
  OGLM_CHECK_ERR("glVertexAttrib2hvNV", )
#line 81120 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40166 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2hvNV, glVertexAttrib2hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,2);
  glVertexAttrib2hvNV((GLuint )index, (const GLhalf* )v);
  OGLM_CHECK_ERR("glVertexAttrib2hvNV", free(v);)
  free(v);
#line 81143 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2s)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, x, y");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLshort	x = (short)SvIV(ST(1))
;
	GLshort	y = (short)SvIV(ST(2))
;
#line 40183 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2s", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2s, glVertexAttrib2s)
  glVertexAttrib2s(index, x, y);
  OGLM_CHECK_ERR("glVertexAttrib2s", )
#line 81169 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLshort*	v = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 40197 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2sv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2sv, glVertexAttrib2sv)
  glVertexAttrib2sv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib2sv", )
#line 81193 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib2sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40210 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib2sv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib2sv, glVertexAttrib2sv)
  GLshort* v = OGLM_GET_VARARGS(v,1,GLshort,IV,2);
  glVertexAttrib2sv((GLuint )index, (const GLshort* )v);
  OGLM_CHECK_ERR("glVertexAttrib2sv", free(v);)
  free(v);
#line 81217 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "index, x, y, z");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
	GLdouble	z = (double)SvNV(ST(3))
;
#line 40228 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3d", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3d, glVertexAttrib3d)
  glVertexAttrib3d(index, x, y, z);
  OGLM_CHECK_ERR("glVertexAttrib3d", )
#line 81245 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 40242 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3dv, glVertexAttrib3dv)
  glVertexAttrib3dv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib3dv", )
#line 81269 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40255 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3dv, glVertexAttrib3dv)
  GLdouble* v = OGLM_GET_VARARGS(v,1,GLdouble,NV,3);
  glVertexAttrib3dv((GLuint )index, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttrib3dv", free(v);)
  free(v);
#line 81293 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "index, x, y, z");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
	GLfloat	z = (float)SvNV(ST(3))
;
#line 40273 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3f", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3f, glVertexAttrib3f)
  glVertexAttrib3f(index, x, y, z);
  OGLM_CHECK_ERR("glVertexAttrib3f", )
#line 81321 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 40287 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3fv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3fv, glVertexAttrib3fv)
  glVertexAttrib3fv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib3fv", )
#line 81345 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40300 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3fv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3fv, glVertexAttrib3fv)
  GLfloat* v = OGLM_GET_VARARGS(v,1,GLfloat,NV,3);
  glVertexAttrib3fv((GLuint )index, (const GLfloat* )v);
  OGLM_CHECK_ERR("glVertexAttrib3fv", free(v);)
  free(v);
#line 81369 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3hNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, x, y, z");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLhalf	x = (float)SvNV(ST(1))
;
	GLhalf	y = (float)SvNV(ST(2))
;
	GLhalf	z = (float)SvNV(ST(3))
;
#line 40315 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3hNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3hNV, glVertexAttrib3hNV)
  glVertexAttrib3hNV(index, x, y, z);
  OGLM_CHECK_ERR("glVertexAttrib3hNV", )
#line 81396 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(1)))
;
#line 40326 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3hvNV, glVertexAttrib3hvNV)
  glVertexAttrib3hvNV(index, v);
  OGLM_CHECK_ERR("glVertexAttrib3hvNV", )
#line 81419 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40336 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3hvNV, glVertexAttrib3hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,3);
  glVertexAttrib3hvNV((GLuint )index, (const GLhalf* )v);
  OGLM_CHECK_ERR("glVertexAttrib3hvNV", free(v);)
  free(v);
#line 81442 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3s)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "index, x, y, z");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLshort	x = (short)SvIV(ST(1))
;
	GLshort	y = (short)SvIV(ST(2))
;
	GLshort	z = (short)SvIV(ST(3))
;
#line 40354 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3s", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3s, glVertexAttrib3s)
  glVertexAttrib3s(index, x, y, z);
  OGLM_CHECK_ERR("glVertexAttrib3s", )
#line 81470 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLshort*	v = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 40368 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3sv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3sv, glVertexAttrib3sv)
  glVertexAttrib3sv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib3sv", )
#line 81494 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib3sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40381 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib3sv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib3sv, glVertexAttrib3sv)
  GLshort* v = OGLM_GET_VARARGS(v,1,GLshort,IV,3);
  glVertexAttrib3sv((GLuint )index, (const GLshort* )v);
  OGLM_CHECK_ERR("glVertexAttrib3sv", free(v);)
  free(v);
#line 81518 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nbv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nbv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLbyte*	v = INT2PTR(const GLbyte *,SvIV(ST(1)))
;
#line 40396 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Nbv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Nbv, glVertexAttrib4Nbv)
  glVertexAttrib4Nbv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4Nbv", )
#line 81542 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nbv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nbv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40408 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Nbv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Nbv, glVertexAttrib4Nbv)
  GLbyte* v = OGLM_GET_VARARGS(v,1,GLbyte,IV,4);
  glVertexAttrib4Nbv((GLuint )index, (const GLbyte* )v);
  OGLM_CHECK_ERR("glVertexAttrib4Nbv", free(v);)
  free(v);
#line 81566 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Niv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Niv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLint*	v = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 40423 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Niv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Niv, glVertexAttrib4Niv)
  glVertexAttrib4Niv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4Niv", )
#line 81590 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Niv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Niv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40435 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Niv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Niv, glVertexAttrib4Niv)
  GLint* v = OGLM_GET_VARARGS(v,1,GLint,IV,4);
  glVertexAttrib4Niv((GLuint )index, (const GLint* )v);
  OGLM_CHECK_ERR("glVertexAttrib4Niv", free(v);)
  free(v);
#line 81614 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nsv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nsv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLshort*	v = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 40450 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Nsv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Nsv, glVertexAttrib4Nsv)
  glVertexAttrib4Nsv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4Nsv", )
#line 81638 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nsv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nsv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40462 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Nsv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Nsv, glVertexAttrib4Nsv)
  GLshort* v = OGLM_GET_VARARGS(v,1,GLshort,IV,4);
  glVertexAttrib4Nsv((GLuint )index, (const GLshort* )v);
  OGLM_CHECK_ERR("glVertexAttrib4Nsv", free(v);)
  free(v);
#line 81662 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nub); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nub)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "index, x, y, z, w");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLubyte	x = (unsigned int)SvUV(ST(1))
;
	GLubyte	y = (unsigned int)SvUV(ST(2))
;
	GLubyte	z = (unsigned int)SvUV(ST(3))
;
	GLubyte	w = (unsigned int)SvUV(ST(4))
;
#line 40481 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Nub", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Nub, glVertexAttrib4Nub)
  glVertexAttrib4Nub(index, x, y, z, w);
  OGLM_CHECK_ERR("glVertexAttrib4Nub", )
#line 81692 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nubv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nubv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLubyte*        v = (const GLubyte *)SvPV_nolen(ST(1))
;
#line 40495 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Nubv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Nubv, glVertexAttrib4Nubv)
  glVertexAttrib4Nubv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4Nubv", )
#line 81716 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nubv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nubv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40508 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Nubv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Nubv, glVertexAttrib4Nubv)
  GLubyte* v = OGLM_GET_VARARGS(v,1,GLubyte,UV,4);
  glVertexAttrib4Nubv((GLuint )index, (const GLubyte* )v);
  OGLM_CHECK_ERR("glVertexAttrib4Nubv", free(v);)
  free(v);
#line 81740 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nuiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nuiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLuint*	v = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 40523 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Nuiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Nuiv, glVertexAttrib4Nuiv)
  glVertexAttrib4Nuiv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4Nuiv", )
#line 81764 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nuiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nuiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40535 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Nuiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Nuiv, glVertexAttrib4Nuiv)
  GLuint* v = OGLM_GET_VARARGS(v,1,GLuint,UV,4);
  glVertexAttrib4Nuiv((GLuint )index, (const GLuint* )v);
  OGLM_CHECK_ERR("glVertexAttrib4Nuiv", free(v);)
  free(v);
#line 81788 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nusv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nusv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLushort*	v = INT2PTR(const GLushort *,SvIV(ST(1)))
;
#line 40550 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Nusv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Nusv, glVertexAttrib4Nusv)
  glVertexAttrib4Nusv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4Nusv", )
#line 81812 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nusv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4Nusv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40562 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4Nusv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4Nusv, glVertexAttrib4Nusv)
  GLushort* v = OGLM_GET_VARARGS(v,1,GLushort,UV,4);
  glVertexAttrib4Nusv((GLuint )index, (const GLushort* )v);
  OGLM_CHECK_ERR("glVertexAttrib4Nusv", free(v);)
  free(v);
#line 81836 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4bv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4bv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLbyte*	v = INT2PTR(const GLbyte *,SvIV(ST(1)))
;
#line 40577 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4bv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4bv, glVertexAttrib4bv)
  glVertexAttrib4bv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4bv", )
#line 81860 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4bv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4bv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40589 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4bv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4bv, glVertexAttrib4bv)
  GLbyte* v = OGLM_GET_VARARGS(v,1,GLbyte,IV,4);
  glVertexAttrib4bv((GLuint )index, (const GLbyte* )v);
  OGLM_CHECK_ERR("glVertexAttrib4bv", free(v);)
  free(v);
#line 81884 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "index, x, y, z, w");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
	GLdouble	z = (double)SvNV(ST(3))
;
	GLdouble	w = (double)SvNV(ST(4))
;
#line 40608 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4d", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4d, glVertexAttrib4d)
  glVertexAttrib4d(index, x, y, z, w);
  OGLM_CHECK_ERR("glVertexAttrib4d", )
#line 81914 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 40622 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4dv, glVertexAttrib4dv)
  glVertexAttrib4dv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4dv", )
#line 81938 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40635 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4dv, glVertexAttrib4dv)
  GLdouble* v = OGLM_GET_VARARGS(v,1,GLdouble,NV,4);
  glVertexAttrib4dv((GLuint )index, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttrib4dv", free(v);)
  free(v);
#line 81962 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "index, x, y, z, w");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
	GLfloat	z = (float)SvNV(ST(3))
;
	GLfloat	w = (float)SvNV(ST(4))
;
#line 40654 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4f", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4f, glVertexAttrib4f)
  glVertexAttrib4f(index, x, y, z, w);
  OGLM_CHECK_ERR("glVertexAttrib4f", )
#line 81992 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 40668 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4fv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4fv, glVertexAttrib4fv)
  glVertexAttrib4fv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4fv", )
#line 82016 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40681 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4fv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4fv, glVertexAttrib4fv)
  GLfloat* v = OGLM_GET_VARARGS(v,1,GLfloat,NV,4);
  glVertexAttrib4fv((GLuint )index, (const GLfloat* )v);
  OGLM_CHECK_ERR("glVertexAttrib4fv", free(v);)
  free(v);
#line 82040 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4hNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4hNV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "index, x, y, z, w");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLhalf	x = (float)SvNV(ST(1))
;
	GLhalf	y = (float)SvNV(ST(2))
;
	GLhalf	z = (float)SvNV(ST(3))
;
	GLhalf	w = (float)SvNV(ST(4))
;
#line 40697 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4hNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4hNV, glVertexAttrib4hNV)
  glVertexAttrib4hNV(index, x, y, z, w);
  OGLM_CHECK_ERR("glVertexAttrib4hNV", )
#line 82069 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(1)))
;
#line 40708 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4hvNV, glVertexAttrib4hvNV)
  glVertexAttrib4hvNV(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4hvNV", )
#line 82092 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40718 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4hvNV, glVertexAttrib4hvNV)
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,4);
  glVertexAttrib4hvNV((GLuint )index, (const GLhalf* )v);
  OGLM_CHECK_ERR("glVertexAttrib4hvNV", free(v);)
  free(v);
#line 82115 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLint*	v = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 40733 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4iv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4iv, glVertexAttrib4iv)
  glVertexAttrib4iv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4iv", )
#line 82139 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40745 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4iv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4iv, glVertexAttrib4iv)
  GLint* v = OGLM_GET_VARARGS(v,1,GLint,IV,4);
  glVertexAttrib4iv((GLuint )index, (const GLint* )v);
  OGLM_CHECK_ERR("glVertexAttrib4iv", free(v);)
  free(v);
#line 82163 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4s)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "index, x, y, z, w");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLshort	x = (short)SvIV(ST(1))
;
	GLshort	y = (short)SvIV(ST(2))
;
	GLshort	z = (short)SvIV(ST(3))
;
	GLshort	w = (short)SvIV(ST(4))
;
#line 40764 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4s", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4s, glVertexAttrib4s)
  glVertexAttrib4s(index, x, y, z, w);
  OGLM_CHECK_ERR("glVertexAttrib4s", )
#line 82193 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLshort*	v = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 40778 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4sv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4sv, glVertexAttrib4sv)
  glVertexAttrib4sv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4sv", )
#line 82217 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40791 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4sv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4sv, glVertexAttrib4sv)
  GLshort* v = OGLM_GET_VARARGS(v,1,GLshort,IV,4);
  glVertexAttrib4sv((GLuint )index, (const GLshort* )v);
  OGLM_CHECK_ERR("glVertexAttrib4sv", free(v);)
  free(v);
#line 82241 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4ubv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4ubv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLubyte*        v = (const GLubyte *)SvPV_nolen(ST(1))
;
#line 40806 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4ubv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4ubv, glVertexAttrib4ubv)
  glVertexAttrib4ubv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4ubv", )
#line 82265 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4ubv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4ubv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40818 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4ubv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4ubv, glVertexAttrib4ubv)
  GLubyte* v = OGLM_GET_VARARGS(v,1,GLubyte,UV,4);
  glVertexAttrib4ubv((GLuint )index, (const GLubyte* )v);
  OGLM_CHECK_ERR("glVertexAttrib4ubv", free(v);)
  free(v);
#line 82289 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLuint*	v = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 40833 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4uiv, glVertexAttrib4uiv)
  glVertexAttrib4uiv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4uiv", )
#line 82313 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40845 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4uiv, glVertexAttrib4uiv)
  GLuint* v = OGLM_GET_VARARGS(v,1,GLuint,UV,4);
  glVertexAttrib4uiv((GLuint )index, (const GLuint* )v);
  OGLM_CHECK_ERR("glVertexAttrib4uiv", free(v);)
  free(v);
#line 82337 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4usv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4usv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLushort*	v = INT2PTR(const GLushort *,SvIV(ST(1)))
;
#line 40860 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4usv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4usv, glVertexAttrib4usv)
  glVertexAttrib4usv(index, v);
  OGLM_CHECK_ERR("glVertexAttrib4usv", )
#line 82361 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4usv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttrib4usv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40872 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttrib4usv", )
  OGLM_AVAIL_CHECK(__glewVertexAttrib4usv, glVertexAttrib4usv)
  GLushort* v = OGLM_GET_VARARGS(v,1,GLushort,UV,4);
  glVertexAttrib4usv((GLuint )index, (const GLushort* )v);
  OGLM_CHECK_ERR("glVertexAttrib4usv", free(v);)
  free(v);
#line 82385 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribArrayObjectATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribArrayObjectATI)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "index, size, type, normalized, stride, buffer, offset");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLboolean	normalized = (int)SvIV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
	GLuint	buffer = (unsigned int)SvUV(ST(5))
;
	GLuint	offset = (unsigned int)SvUV(ST(6))
;
#line 40890 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribArrayObjectATI", )
  OGLM_AVAIL_CHECK(__glewVertexAttribArrayObjectATI, glVertexAttribArrayObjectATI)
  glVertexAttribArrayObjectATI(index, size, type, normalized, stride, buffer, offset);
  OGLM_CHECK_ERR("glVertexAttribArrayObjectATI", )
#line 82418 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribBinding); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribBinding)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "attribindex, bindingindex");
    {
	GLuint	attribindex = (unsigned int)SvUV(ST(0))
;
	GLuint	bindingindex = (unsigned int)SvUV(ST(1))
;
#line 40901 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribBinding", )
  OGLM_AVAIL_CHECK(__glewVertexAttribBinding, glVertexAttribBinding)
  glVertexAttribBinding(attribindex, bindingindex);
  OGLM_CHECK_ERR("glVertexAttribBinding", )
#line 82441 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribDivisor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribDivisor)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, divisor");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint	divisor = (unsigned int)SvUV(ST(1))
;
#line 40917 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribDivisor", )
  OGLM_AVAIL_CHECK(__glewVertexAttribDivisor, glVertexAttribDivisor)
  glVertexAttribDivisor(index, divisor);
  OGLM_CHECK_ERR("glVertexAttribDivisor", )
#line 82465 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribFormat); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribFormat)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "attribindex, size, type, normalized, relativeoffset");
    {
	GLuint	attribindex = (unsigned int)SvUV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLboolean	normalized = (int)SvIV(ST(3))
;
	GLuint	relativeoffset = (unsigned int)SvUV(ST(4))
;
#line 40931 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribFormat", )
  OGLM_AVAIL_CHECK(__glewVertexAttribFormat, glVertexAttribFormat)
  glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset);
  OGLM_CHECK_ERR("glVertexAttribFormat", )
#line 82494 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribFormatNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribFormatNV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "index, size, type, normalized, stride");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLboolean	normalized = (int)SvIV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
#line 40945 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribFormatNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribFormatNV, glVertexAttribFormatNV)
  glVertexAttribFormatNV(index, size, type, normalized, stride);
  OGLM_CHECK_ERR("glVertexAttribFormatNV", )
#line 82523 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v0");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	v0 = (int)SvIV(ST(1))
;
#line 40958 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI1i", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI1i, glVertexAttribI1i)
  glVertexAttribI1i(index, v0);
  OGLM_CHECK_ERR("glVertexAttribI1i", )
#line 82547 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLint*	v = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 40971 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI1iv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI1iv, glVertexAttribI1iv)
  glVertexAttribI1iv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI1iv", )
#line 82571 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 40983 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI1iv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI1iv, glVertexAttribI1iv)
  GLint* v = OGLM_GET_VARARGS(v,1,GLint,IV,1);
  glVertexAttribI1iv((GLuint )index, (const GLint* )v);
  OGLM_CHECK_ERR("glVertexAttribI1iv", free(v);)
  free(v);
#line 82595 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v0");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint	v0 = (unsigned int)SvUV(ST(1))
;
#line 40998 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI1ui", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI1ui, glVertexAttribI1ui)
  glVertexAttribI1ui(index, v0);
  OGLM_CHECK_ERR("glVertexAttribI1ui", )
#line 82619 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLuint*	v = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 41011 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI1uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI1uiv, glVertexAttribI1uiv)
  glVertexAttribI1uiv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI1uiv", )
#line 82643 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI1uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41023 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI1uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI1uiv, glVertexAttribI1uiv)
  GLuint* v = OGLM_GET_VARARGS(v,1,GLuint,UV,1);
  glVertexAttribI1uiv((GLuint )index, (const GLuint* )v);
  OGLM_CHECK_ERR("glVertexAttribI1uiv", free(v);)
  free(v);
#line 82667 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, v0, v1");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	v0 = (int)SvIV(ST(1))
;
	GLint	v1 = (int)SvIV(ST(2))
;
#line 41039 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI2i", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI2i, glVertexAttribI2i)
  glVertexAttribI2i(index, v0, v1);
  OGLM_CHECK_ERR("glVertexAttribI2i", )
#line 82693 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLint*	v = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 41052 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI2iv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI2iv, glVertexAttribI2iv)
  glVertexAttribI2iv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI2iv", )
#line 82717 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41064 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI2iv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI2iv, glVertexAttribI2iv)
  GLint* v = OGLM_GET_VARARGS(v,1,GLint,IV,2);
  glVertexAttribI2iv((GLuint )index, (const GLint* )v);
  OGLM_CHECK_ERR("glVertexAttribI2iv", free(v);)
  free(v);
#line 82741 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, v0, v1");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint	v0 = (unsigned int)SvUV(ST(1))
;
	GLuint	v1 = (unsigned int)SvUV(ST(2))
;
#line 41080 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI2ui", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI2ui, glVertexAttribI2ui)
  glVertexAttribI2ui(index, v0, v1);
  OGLM_CHECK_ERR("glVertexAttribI2ui", )
#line 82767 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLuint*	v = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 41093 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI2uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI2uiv, glVertexAttribI2uiv)
  glVertexAttribI2uiv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI2uiv", )
#line 82791 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI2uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41105 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI2uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI2uiv, glVertexAttribI2uiv)
  GLuint* v = OGLM_GET_VARARGS(v,1,GLuint,UV,2);
  glVertexAttribI2uiv((GLuint )index, (const GLuint* )v);
  OGLM_CHECK_ERR("glVertexAttribI2uiv", free(v);)
  free(v);
#line 82815 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "index, v0, v1, v2");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	v0 = (int)SvIV(ST(1))
;
	GLint	v1 = (int)SvIV(ST(2))
;
	GLint	v2 = (int)SvIV(ST(3))
;
#line 41122 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI3i", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI3i, glVertexAttribI3i)
  glVertexAttribI3i(index, v0, v1, v2);
  OGLM_CHECK_ERR("glVertexAttribI3i", )
#line 82843 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLint*	v = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 41135 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI3iv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI3iv, glVertexAttribI3iv)
  glVertexAttribI3iv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI3iv", )
#line 82867 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41147 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI3iv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI3iv, glVertexAttribI3iv)
  GLint* v = OGLM_GET_VARARGS(v,1,GLint,IV,3);
  glVertexAttribI3iv((GLuint )index, (const GLint* )v);
  OGLM_CHECK_ERR("glVertexAttribI3iv", free(v);)
  free(v);
#line 82891 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "index, v0, v1, v2");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint	v0 = (unsigned int)SvUV(ST(1))
;
	GLuint	v1 = (unsigned int)SvUV(ST(2))
;
	GLuint	v2 = (unsigned int)SvUV(ST(3))
;
#line 41164 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI3ui", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI3ui, glVertexAttribI3ui)
  glVertexAttribI3ui(index, v0, v1, v2);
  OGLM_CHECK_ERR("glVertexAttribI3ui", )
#line 82919 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLuint*	v = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 41177 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI3uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI3uiv, glVertexAttribI3uiv)
  glVertexAttribI3uiv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI3uiv", )
#line 82943 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI3uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41189 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI3uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI3uiv, glVertexAttribI3uiv)
  GLuint* v = OGLM_GET_VARARGS(v,1,GLuint,UV,3);
  glVertexAttribI3uiv((GLuint )index, (const GLuint* )v);
  OGLM_CHECK_ERR("glVertexAttribI3uiv", free(v);)
  free(v);
#line 82967 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4bv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4bv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLbyte*	v = INT2PTR(const GLbyte *,SvIV(ST(1)))
;
#line 41204 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4bv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4bv, glVertexAttribI4bv)
  glVertexAttribI4bv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI4bv", )
#line 82991 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4bv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4bv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41216 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4bv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4bv, glVertexAttribI4bv)
  GLbyte* v = OGLM_GET_VARARGS(v,1,GLbyte,IV,4);
  glVertexAttribI4bv((GLuint )index, (const GLbyte* )v);
  OGLM_CHECK_ERR("glVertexAttribI4bv", free(v);)
  free(v);
#line 83015 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "index, v0, v1, v2, v3");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	v0 = (int)SvIV(ST(1))
;
	GLint	v1 = (int)SvIV(ST(2))
;
	GLint	v2 = (int)SvIV(ST(3))
;
	GLint	v3 = (int)SvIV(ST(4))
;
#line 41234 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4i", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4i, glVertexAttribI4i)
  glVertexAttribI4i(index, v0, v1, v2, v3);
  OGLM_CHECK_ERR("glVertexAttribI4i", )
#line 83045 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLint*	v = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 41247 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4iv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4iv, glVertexAttribI4iv)
  glVertexAttribI4iv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI4iv", )
#line 83069 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41259 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4iv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4iv, glVertexAttribI4iv)
  GLint* v = OGLM_GET_VARARGS(v,1,GLint,IV,4);
  glVertexAttribI4iv((GLuint )index, (const GLint* )v);
  OGLM_CHECK_ERR("glVertexAttribI4iv", free(v);)
  free(v);
#line 83093 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLshort*	v = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 41274 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4sv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4sv, glVertexAttribI4sv)
  glVertexAttribI4sv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI4sv", )
#line 83117 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41286 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4sv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4sv, glVertexAttribI4sv)
  GLshort* v = OGLM_GET_VARARGS(v,1,GLshort,IV,4);
  glVertexAttribI4sv((GLuint )index, (const GLshort* )v);
  OGLM_CHECK_ERR("glVertexAttribI4sv", free(v);)
  free(v);
#line 83141 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4ubv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4ubv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLubyte*        v = (const GLubyte *)SvPV_nolen(ST(1))
;
#line 41301 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4ubv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4ubv, glVertexAttribI4ubv)
  glVertexAttribI4ubv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI4ubv", )
#line 83165 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4ubv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4ubv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41313 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4ubv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4ubv, glVertexAttribI4ubv)
  GLubyte* v = OGLM_GET_VARARGS(v,1,GLubyte,UV,4);
  glVertexAttribI4ubv((GLuint )index, (const GLubyte* )v);
  OGLM_CHECK_ERR("glVertexAttribI4ubv", free(v);)
  free(v);
#line 83189 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4ui)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "index, v0, v1, v2, v3");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint	v0 = (unsigned int)SvUV(ST(1))
;
	GLuint	v1 = (unsigned int)SvUV(ST(2))
;
	GLuint	v2 = (unsigned int)SvUV(ST(3))
;
	GLuint	v3 = (unsigned int)SvUV(ST(4))
;
#line 41331 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4ui", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4ui, glVertexAttribI4ui)
  glVertexAttribI4ui(index, v0, v1, v2, v3);
  OGLM_CHECK_ERR("glVertexAttribI4ui", )
#line 83219 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4uiv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLuint*	v = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 41344 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4uiv, glVertexAttribI4uiv)
  glVertexAttribI4uiv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI4uiv", )
#line 83243 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4uiv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41356 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4uiv, glVertexAttribI4uiv)
  GLuint* v = OGLM_GET_VARARGS(v,1,GLuint,UV,4);
  glVertexAttribI4uiv((GLuint )index, (const GLuint* )v);
  OGLM_CHECK_ERR("glVertexAttribI4uiv", free(v);)
  free(v);
#line 83267 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4usv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4usv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLushort*	v = INT2PTR(const GLushort *,SvIV(ST(1)))
;
#line 41371 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4usv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4usv, glVertexAttribI4usv)
  glVertexAttribI4usv(index, v);
  OGLM_CHECK_ERR("glVertexAttribI4usv", )
#line 83291 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4usv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribI4usv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41383 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribI4usv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribI4usv, glVertexAttribI4usv)
  GLushort* v = OGLM_GET_VARARGS(v,1,GLushort,UV,4);
  glVertexAttribI4usv((GLuint )index, (const GLushort* )v);
  OGLM_CHECK_ERR("glVertexAttribI4usv", free(v);)
  free(v);
#line 83315 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribIFormat); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribIFormat)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "attribindex, size, type, relativeoffset");
    {
	GLuint	attribindex = (unsigned int)SvUV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLuint	relativeoffset = (unsigned int)SvUV(ST(3))
;
#line 41398 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribIFormat", )
  OGLM_AVAIL_CHECK(__glewVertexAttribIFormat, glVertexAttribIFormat)
  glVertexAttribIFormat(attribindex, size, type, relativeoffset);
  OGLM_CHECK_ERR("glVertexAttribIFormat", )
#line 83342 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribIFormatNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribIFormatNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, size, type, stride");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
#line 41411 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribIFormatNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribIFormatNV, glVertexAttribIFormatNV)
  glVertexAttribIFormatNV(index, size, type, stride);
  OGLM_CHECK_ERR("glVertexAttribIFormatNV", )
#line 83369 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribIPointer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribIPointer_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "index, size, type, stride, pointer");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
	const void*	pointer = INT2PTR(const void *,SvIV(ST(4)))
;
#line 41427 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribIPointer", )
  OGLM_AVAIL_CHECK(__glewVertexAttribIPointer, glVertexAttribIPointer)
  glVertexAttribIPointer(index, size, type, stride, pointer);
  OGLM_CHECK_ERR("glVertexAttribIPointer", )
#line 83399 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, x");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
#line 41440 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL1d", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL1d, glVertexAttribL1d)
  glVertexAttribL1d(index, x);
  OGLM_CHECK_ERR("glVertexAttribL1d", )
#line 83423 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 41453 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL1dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL1dv, glVertexAttribL1dv)
  glVertexAttribL1dv(index, v);
  OGLM_CHECK_ERR("glVertexAttribL1dv", )
#line 83447 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41465 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL1dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL1dv, glVertexAttribL1dv)
  GLdouble* v = OGLM_GET_VARARGS(v,1,GLdouble,NV,1);
  glVertexAttribL1dv((GLuint )index, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttribL1dv", free(v);)
  free(v);
#line 83471 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1i64NV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, x");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(1))
;
#line 41478 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL1i64NV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL1i64NV, glVertexAttribL1i64NV)
  glVertexAttribL1i64NV(index, x);
  OGLM_CHECK_ERR("glVertexAttribL1i64NV", )
#line 83494 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLint64EXT*	v = INT2PTR(const GLint64EXT *,SvIV(ST(1)))
;
#line 41489 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL1i64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL1i64vNV, glVertexAttribL1i64vNV)
  glVertexAttribL1i64vNV(index, v);
  OGLM_CHECK_ERR("glVertexAttribL1i64vNV", )
#line 83517 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41499 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL1i64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL1i64vNV, glVertexAttribL1i64vNV)
  GLint64EXT* v = OGLM_GET_VARARGS(v,1,GLint64EXT,IV,1);
  glVertexAttribL1i64vNV((GLuint )index, (const GLint64EXT* )v);
  OGLM_CHECK_ERR("glVertexAttribL1i64vNV", free(v);)
  free(v);
#line 83540 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1ui64ARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1ui64ARB)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, x");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(1))
;
#line 41512 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL1ui64ARB", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL1ui64ARB, glVertexAttribL1ui64ARB)
  glVertexAttribL1ui64ARB(index, x);
  OGLM_CHECK_ERR("glVertexAttribL1ui64ARB", )
#line 83563 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1ui64NV)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, x");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(1))
;
#line 41523 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL1ui64NV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL1ui64NV, glVertexAttribL1ui64NV)
  glVertexAttribL1ui64NV(index, x);
  OGLM_CHECK_ERR("glVertexAttribL1ui64NV", )
#line 83586 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1ui64vARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1ui64vARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLuint64EXT*	v = INT2PTR(const GLuint64EXT *,SvIV(ST(1)))
;
#line 41534 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL1ui64vARB", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL1ui64vARB, glVertexAttribL1ui64vARB)
  glVertexAttribL1ui64vARB(index, v);
  OGLM_CHECK_ERR("glVertexAttribL1ui64vARB", )
#line 83609 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLuint64EXT*	v = INT2PTR(const GLuint64EXT *,SvIV(ST(1)))
;
#line 41545 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL1ui64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL1ui64vNV, glVertexAttribL1ui64vNV)
  glVertexAttribL1ui64vNV(index, v);
  OGLM_CHECK_ERR("glVertexAttribL1ui64vNV", )
#line 83632 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL1ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41555 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL1ui64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL1ui64vNV, glVertexAttribL1ui64vNV)
  GLuint64EXT* v = OGLM_GET_VARARGS(v,1,GLuint64EXT,UV,1);
  glVertexAttribL1ui64vNV((GLuint )index, (const GLuint64EXT* )v);
  OGLM_CHECK_ERR("glVertexAttribL1ui64vNV", free(v);)
  free(v);
#line 83655 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "index, x, y");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
#line 41571 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL2d", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL2d, glVertexAttribL2d)
  glVertexAttribL2d(index, x, y);
  OGLM_CHECK_ERR("glVertexAttribL2d", )
#line 83681 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 41584 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL2dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL2dv, glVertexAttribL2dv)
  glVertexAttribL2dv(index, v);
  OGLM_CHECK_ERR("glVertexAttribL2dv", )
#line 83705 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41596 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL2dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL2dv, glVertexAttribL2dv)
  GLdouble* v = OGLM_GET_VARARGS(v,1,GLdouble,NV,2);
  glVertexAttribL2dv((GLuint )index, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttribL2dv", free(v);)
  free(v);
#line 83729 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2i64NV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, x, y");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLint64EXT	y = (unsigned int)SvUV(ST(2))
;
#line 41610 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL2i64NV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL2i64NV, glVertexAttribL2i64NV)
  glVertexAttribL2i64NV(index, x, y);
  OGLM_CHECK_ERR("glVertexAttribL2i64NV", )
#line 83754 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLint64EXT*	v = INT2PTR(const GLint64EXT *,SvIV(ST(1)))
;
#line 41621 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL2i64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL2i64vNV, glVertexAttribL2i64vNV)
  glVertexAttribL2i64vNV(index, v);
  OGLM_CHECK_ERR("glVertexAttribL2i64vNV", )
#line 83777 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41631 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL2i64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL2i64vNV, glVertexAttribL2i64vNV)
  GLint64EXT* v = OGLM_GET_VARARGS(v,1,GLint64EXT,IV,2);
  glVertexAttribL2i64vNV((GLuint )index, (const GLint64EXT* )v);
  OGLM_CHECK_ERR("glVertexAttribL2i64vNV", free(v);)
  free(v);
#line 83800 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2ui64NV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, x, y");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLuint64EXT	y = (unsigned int)SvUV(ST(2))
;
#line 41645 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL2ui64NV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL2ui64NV, glVertexAttribL2ui64NV)
  glVertexAttribL2ui64NV(index, x, y);
  OGLM_CHECK_ERR("glVertexAttribL2ui64NV", )
#line 83825 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLuint64EXT*	v = INT2PTR(const GLuint64EXT *,SvIV(ST(1)))
;
#line 41656 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL2ui64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL2ui64vNV, glVertexAttribL2ui64vNV)
  glVertexAttribL2ui64vNV(index, v);
  OGLM_CHECK_ERR("glVertexAttribL2ui64vNV", )
#line 83848 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL2ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41666 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL2ui64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL2ui64vNV, glVertexAttribL2ui64vNV)
  GLuint64EXT* v = OGLM_GET_VARARGS(v,1,GLuint64EXT,UV,2);
  glVertexAttribL2ui64vNV((GLuint )index, (const GLuint64EXT* )v);
  OGLM_CHECK_ERR("glVertexAttribL2ui64vNV", free(v);)
  free(v);
#line 83871 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 4)
       croak_xs_usage(cv,  "index, x, y, z");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
	GLdouble	z = (double)SvNV(ST(3))
;
#line 41683 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL3d", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL3d, glVertexAttribL3d)
  glVertexAttribL3d(index, x, y, z);
  OGLM_CHECK_ERR("glVertexAttribL3d", )
#line 83899 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 41696 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL3dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL3dv, glVertexAttribL3dv)
  glVertexAttribL3dv(index, v);
  OGLM_CHECK_ERR("glVertexAttribL3dv", )
#line 83923 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41708 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL3dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL3dv, glVertexAttribL3dv)
  GLdouble* v = OGLM_GET_VARARGS(v,1,GLdouble,NV,3);
  glVertexAttribL3dv((GLuint )index, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttribL3dv", free(v);)
  free(v);
#line 83947 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3i64NV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, x, y, z");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLint64EXT	y = (unsigned int)SvUV(ST(2))
;
	GLint64EXT	z = (unsigned int)SvUV(ST(3))
;
#line 41723 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL3i64NV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL3i64NV, glVertexAttribL3i64NV)
  glVertexAttribL3i64NV(index, x, y, z);
  OGLM_CHECK_ERR("glVertexAttribL3i64NV", )
#line 83974 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLint64EXT*	v = INT2PTR(const GLint64EXT *,SvIV(ST(1)))
;
#line 41734 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL3i64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL3i64vNV, glVertexAttribL3i64vNV)
  glVertexAttribL3i64vNV(index, v);
  OGLM_CHECK_ERR("glVertexAttribL3i64vNV", )
#line 83997 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41744 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL3i64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL3i64vNV, glVertexAttribL3i64vNV)
  GLint64EXT* v = OGLM_GET_VARARGS(v,1,GLint64EXT,IV,3);
  glVertexAttribL3i64vNV((GLuint )index, (const GLint64EXT* )v);
  OGLM_CHECK_ERR("glVertexAttribL3i64vNV", free(v);)
  free(v);
#line 84020 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3ui64NV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, x, y, z");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLuint64EXT	y = (unsigned int)SvUV(ST(2))
;
	GLuint64EXT	z = (unsigned int)SvUV(ST(3))
;
#line 41759 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL3ui64NV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL3ui64NV, glVertexAttribL3ui64NV)
  glVertexAttribL3ui64NV(index, x, y, z);
  OGLM_CHECK_ERR("glVertexAttribL3ui64NV", )
#line 84047 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLuint64EXT*	v = INT2PTR(const GLuint64EXT *,SvIV(ST(1)))
;
#line 41770 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL3ui64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL3ui64vNV, glVertexAttribL3ui64vNV)
  glVertexAttribL3ui64vNV(index, v);
  OGLM_CHECK_ERR("glVertexAttribL3ui64vNV", )
#line 84070 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL3ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41780 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL3ui64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL3ui64vNV, glVertexAttribL3ui64vNV)
  GLuint64EXT* v = OGLM_GET_VARARGS(v,1,GLuint64EXT,UV,3);
  glVertexAttribL3ui64vNV((GLuint )index, (const GLuint64EXT* )v);
  OGLM_CHECK_ERR("glVertexAttribL3ui64vNV", free(v);)
  free(v);
#line 84093 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "index, x, y, z, w");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
	GLdouble	z = (double)SvNV(ST(3))
;
	GLdouble	w = (double)SvNV(ST(4))
;
#line 41798 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL4d", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL4d, glVertexAttribL4d)
  glVertexAttribL4d(index, x, y, z, w);
  OGLM_CHECK_ERR("glVertexAttribL4d", )
#line 84123 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 41811 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL4dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL4dv, glVertexAttribL4dv)
  glVertexAttribL4dv(index, v);
  OGLM_CHECK_ERR("glVertexAttribL4dv", )
#line 84147 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41823 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL4dv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL4dv, glVertexAttribL4dv)
  GLdouble* v = OGLM_GET_VARARGS(v,1,GLdouble,NV,4);
  glVertexAttribL4dv((GLuint )index, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttribL4dv", free(v);)
  free(v);
#line 84171 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4i64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4i64NV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "index, x, y, z, w");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLint64EXT	y = (unsigned int)SvUV(ST(2))
;
	GLint64EXT	z = (unsigned int)SvUV(ST(3))
;
	GLint64EXT	w = (unsigned int)SvUV(ST(4))
;
#line 41839 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL4i64NV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL4i64NV, glVertexAttribL4i64NV)
  glVertexAttribL4i64NV(index, x, y, z, w);
  OGLM_CHECK_ERR("glVertexAttribL4i64NV", )
#line 84200 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4i64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4i64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLint64EXT*	v = INT2PTR(const GLint64EXT *,SvIV(ST(1)))
;
#line 41850 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL4i64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL4i64vNV, glVertexAttribL4i64vNV)
  glVertexAttribL4i64vNV(index, v);
  OGLM_CHECK_ERR("glVertexAttribL4i64vNV", )
#line 84223 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4i64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4i64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41860 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL4i64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL4i64vNV, glVertexAttribL4i64vNV)
  GLint64EXT* v = OGLM_GET_VARARGS(v,1,GLint64EXT,IV,4);
  glVertexAttribL4i64vNV((GLuint )index, (const GLint64EXT* )v);
  OGLM_CHECK_ERR("glVertexAttribL4i64vNV", free(v);)
  free(v);
#line 84246 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4ui64NV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4ui64NV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "index, x, y, z, w");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLuint64EXT	x = (unsigned int)SvUV(ST(1))
;
	GLuint64EXT	y = (unsigned int)SvUV(ST(2))
;
	GLuint64EXT	z = (unsigned int)SvUV(ST(3))
;
	GLuint64EXT	w = (unsigned int)SvUV(ST(4))
;
#line 41876 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL4ui64NV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL4ui64NV, glVertexAttribL4ui64NV)
  glVertexAttribL4ui64NV(index, x, y, z, w);
  OGLM_CHECK_ERR("glVertexAttribL4ui64NV", )
#line 84275 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4ui64vNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4ui64vNV_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLuint64EXT*	v = INT2PTR(const GLuint64EXT *,SvIV(ST(1)))
;
#line 41887 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL4ui64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL4ui64vNV, glVertexAttribL4ui64vNV)
  glVertexAttribL4ui64vNV(index, v);
  OGLM_CHECK_ERR("glVertexAttribL4ui64vNV", )
#line 84298 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4ui64vNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribL4ui64vNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 41897 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribL4ui64vNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribL4ui64vNV, glVertexAttribL4ui64vNV)
  GLuint64EXT* v = OGLM_GET_VARARGS(v,1,GLuint64EXT,UV,4);
  glVertexAttribL4ui64vNV((GLuint )index, (const GLuint64EXT* )v);
  OGLM_CHECK_ERR("glVertexAttribL4ui64vNV", free(v);)
  free(v);
#line 84321 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribLFormat); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribLFormat)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "attribindex, size, type, relativeoffset");
    {
	GLuint	attribindex = (unsigned int)SvUV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLuint	relativeoffset = (unsigned int)SvUV(ST(3))
;
#line 41912 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribLFormat", )
  OGLM_AVAIL_CHECK(__glewVertexAttribLFormat, glVertexAttribLFormat)
  glVertexAttribLFormat(attribindex, size, type, relativeoffset);
  OGLM_CHECK_ERR("glVertexAttribLFormat", )
#line 84348 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribLFormatNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribLFormatNV)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, size, type, stride");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
#line 41925 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribLFormatNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribLFormatNV, glVertexAttribLFormatNV)
  glVertexAttribLFormatNV(index, size, type, stride);
  OGLM_CHECK_ERR("glVertexAttribLFormatNV", )
#line 84375 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribLPointer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribLPointer_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "index, size, type, stride, pointer");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
	const void*	pointer = INT2PTR(const void *,SvIV(ST(4)))
;
#line 41941 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribLPointer", )
  OGLM_AVAIL_CHECK(__glewVertexAttribLPointer, glVertexAttribLPointer)
  glVertexAttribLPointer(index, size, type, stride, pointer);
  OGLM_CHECK_ERR("glVertexAttribLPointer", )
#line 84405 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP1ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP1ui)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, type, normalized, value");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
	GLuint	value = (unsigned int)SvUV(ST(3))
;
#line 41954 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP1ui", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP1ui, glVertexAttribP1ui)
  glVertexAttribP1ui(index, type, normalized, value);
  OGLM_CHECK_ERR("glVertexAttribP1ui", )
#line 84432 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP1uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP1uiv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, type, normalized, value");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 41967 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP1uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP1uiv, glVertexAttribP1uiv)
  glVertexAttribP1uiv(index, type, normalized, value);
  OGLM_CHECK_ERR("glVertexAttribP1uiv", )
#line 84459 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP1uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP1uiv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "index, type, normalized, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
#line 41979 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP1uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP1uiv, glVertexAttribP1uiv)
  GLuint* value = OGLM_GET_VARARGS(value,3,GLuint,UV,1);
  glVertexAttribP1uiv((GLuint )index, (GLenum )type, (GLboolean )normalized, (const GLuint* )value);
  OGLM_CHECK_ERR("glVertexAttribP1uiv", free(value);)
  free(value);
#line 84486 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP2ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP2ui)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, type, normalized, value");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
	GLuint	value = (unsigned int)SvUV(ST(3))
;
#line 41994 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP2ui", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP2ui, glVertexAttribP2ui)
  glVertexAttribP2ui(index, type, normalized, value);
  OGLM_CHECK_ERR("glVertexAttribP2ui", )
#line 84513 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP2uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP2uiv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, type, normalized, value");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 42007 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP2uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP2uiv, glVertexAttribP2uiv)
  glVertexAttribP2uiv(index, type, normalized, value);
  OGLM_CHECK_ERR("glVertexAttribP2uiv", )
#line 84540 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP2uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP2uiv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "index, type, normalized, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
#line 42019 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP2uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP2uiv, glVertexAttribP2uiv)
  GLuint* value = OGLM_GET_VARARGS(value,3,GLuint,UV,1);
  glVertexAttribP2uiv((GLuint )index, (GLenum )type, (GLboolean )normalized, (const GLuint* )value);
  OGLM_CHECK_ERR("glVertexAttribP2uiv", free(value);)
  free(value);
#line 84567 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP3ui)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, type, normalized, value");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
	GLuint	value = (unsigned int)SvUV(ST(3))
;
#line 42034 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP3ui", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP3ui, glVertexAttribP3ui)
  glVertexAttribP3ui(index, type, normalized, value);
  OGLM_CHECK_ERR("glVertexAttribP3ui", )
#line 84594 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP3uiv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, type, normalized, value");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 42047 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP3uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP3uiv, glVertexAttribP3uiv)
  glVertexAttribP3uiv(index, type, normalized, value);
  OGLM_CHECK_ERR("glVertexAttribP3uiv", )
#line 84621 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP3uiv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "index, type, normalized, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
#line 42059 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP3uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP3uiv, glVertexAttribP3uiv)
  GLuint* value = OGLM_GET_VARARGS(value,3,GLuint,UV,1);
  glVertexAttribP3uiv((GLuint )index, (GLenum )type, (GLboolean )normalized, (const GLuint* )value);
  OGLM_CHECK_ERR("glVertexAttribP3uiv", free(value);)
  free(value);
#line 84648 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP4ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP4ui)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, type, normalized, value");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
	GLuint	value = (unsigned int)SvUV(ST(3))
;
#line 42074 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP4ui", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP4ui, glVertexAttribP4ui)
  glVertexAttribP4ui(index, type, normalized, value);
  OGLM_CHECK_ERR("glVertexAttribP4ui", )
#line 84675 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP4uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP4uiv_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "index, type, normalized, value");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(3)))
;
#line 42087 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP4uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP4uiv, glVertexAttribP4uiv)
  glVertexAttribP4uiv(index, type, normalized, value);
  OGLM_CHECK_ERR("glVertexAttribP4uiv", )
#line 84702 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP4uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribP4uiv_p)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "index, type, normalized, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (int)SvIV(ST(2))
;
#line 42099 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribP4uiv", )
  OGLM_AVAIL_CHECK(__glewVertexAttribP4uiv, glVertexAttribP4uiv)
  GLuint* value = OGLM_GET_VARARGS(value,3,GLuint,UV,1);
  glVertexAttribP4uiv((GLuint )index, (GLenum )type, (GLboolean )normalized, (const GLuint* )value);
  OGLM_CHECK_ERR("glVertexAttribP4uiv", free(value);)
  free(value);
#line 84729 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribParameteriAMD); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribParameteriAMD)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, pname, param");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	param = (int)SvIV(ST(2))
;
#line 42113 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribParameteriAMD", )
  OGLM_AVAIL_CHECK(__glewVertexAttribParameteriAMD, glVertexAttribParameteriAMD)
  glVertexAttribParameteriAMD(index, pname, param);
  OGLM_CHECK_ERR("glVertexAttribParameteriAMD", )
#line 84754 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribPointer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribPointer_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 6)
       croak_xs_usage(cv,  "index, size, type, normalized, stride, pointer");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	size = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLboolean	normalized = (int)SvIV(ST(3))
;
	GLsizei	stride = (int)SvIV(ST(4))
;
	const void*	pointer = INT2PTR(const void *,SvIV(ST(5)))
;
#line 42130 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribPointer", )
  OGLM_AVAIL_CHECK(__glewVertexAttribPointer, glVertexAttribPointer)
  glVertexAttribPointer(index, size, type, normalized, stride, pointer);
  OGLM_CHECK_ERR("glVertexAttribPointer", )
#line 84786 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribPointerNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribPointerNV_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "index, fsize, type, stride, pointer");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLint	fsize = (int)SvIV(ST(1))
;
	GLenum	type = (int)SvIV(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(4)))
;
#line 42144 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribPointerNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribPointerNV, glVertexAttribPointerNV)
  glVertexAttribPointerNV(index, fsize, type, stride, pointer);
  OGLM_CHECK_ERR("glVertexAttribPointerNV", )
#line 84815 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1dvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1dvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 42156 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs1dvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs1dvNV, glVertexAttribs1dvNV)
  glVertexAttribs1dvNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs1dvNV", )
#line 84840 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1dvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1dvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 42166 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs1dvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs1dvNV, glVertexAttribs1dvNV)
  GLsizei count = items-1;
  GLdouble* v = OGLM_GET_VARARGS(v,1,GLdouble,NV,count);
  glVertexAttribs1dvNV((GLuint )index, (GLsizei )count, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttribs1dvNV", free(v);)
  free(v);
#line 84864 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1fvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1fvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 42181 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs1fvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs1fvNV, glVertexAttribs1fvNV)
  glVertexAttribs1fvNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs1fvNV", )
#line 84889 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1fvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1fvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 42191 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs1fvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs1fvNV, glVertexAttribs1fvNV)
  GLsizei count = items-1;
  GLfloat* v = OGLM_GET_VARARGS(v,1,GLfloat,NV,count);
  glVertexAttribs1fvNV((GLuint )index, (GLsizei )count, (const GLfloat* )v);
  OGLM_CHECK_ERR("glVertexAttribs1fvNV", free(v);)
  free(v);
#line 84913 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, n, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(2)))
;
#line 42206 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs1hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs1hvNV, glVertexAttribs1hvNV)
  glVertexAttribs1hvNV(index, n, v);
  OGLM_CHECK_ERR("glVertexAttribs1hvNV", )
#line 84938 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 42216 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs1hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs1hvNV, glVertexAttribs1hvNV)
  GLsizei n = items-1;
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,n);
  glVertexAttribs1hvNV((GLuint )index, (GLsizei )n, (const GLhalf* )v);
  OGLM_CHECK_ERR("glVertexAttribs1hvNV", free(v);)
  free(v);
#line 84962 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1svNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1svNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLshort*	v = INT2PTR(const GLshort *,SvIV(ST(2)))
;
#line 42231 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs1svNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs1svNV, glVertexAttribs1svNV)
  glVertexAttribs1svNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs1svNV", )
#line 84987 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1svNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs1svNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 42241 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs1svNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs1svNV, glVertexAttribs1svNV)
  GLsizei count = items-1;
  GLshort* v = OGLM_GET_VARARGS(v,1,GLshort,IV,count);
  glVertexAttribs1svNV((GLuint )index, (GLsizei )count, (const GLshort* )v);
  OGLM_CHECK_ERR("glVertexAttribs1svNV", free(v);)
  free(v);
#line 85011 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2dvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2dvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 42256 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs2dvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs2dvNV, glVertexAttribs2dvNV)
  glVertexAttribs2dvNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs2dvNV", )
#line 85036 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2dvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2dvNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "index, count, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 42267 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs2dvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs2dvNV, glVertexAttribs2dvNV)
  GLdouble* v = OGLM_GET_VARARGS(v,2,GLdouble,NV,count*2);
  glVertexAttribs2dvNV((GLuint )index, (GLsizei )count, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttribs2dvNV", free(v);)
  free(v);
#line 85061 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2fvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2fvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 42281 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs2fvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs2fvNV, glVertexAttribs2fvNV)
  glVertexAttribs2fvNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs2fvNV", )
#line 85086 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2fvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2fvNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "index, count, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 42292 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs2fvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs2fvNV, glVertexAttribs2fvNV)
  GLfloat* v = OGLM_GET_VARARGS(v,2,GLfloat,NV,count*2);
  glVertexAttribs2fvNV((GLuint )index, (GLsizei )count, (const GLfloat* )v);
  OGLM_CHECK_ERR("glVertexAttribs2fvNV", free(v);)
  free(v);
#line 85111 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, n, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(2)))
;
#line 42306 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs2hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs2hvNV, glVertexAttribs2hvNV)
  glVertexAttribs2hvNV(index, n, v);
  OGLM_CHECK_ERR("glVertexAttribs2hvNV", )
#line 85136 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 42316 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs2hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs2hvNV, glVertexAttribs2hvNV)
  GLsizei n = items-1;
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,n);
  glVertexAttribs2hvNV((GLuint )index, (GLsizei )n, (const GLhalf* )v);
  OGLM_CHECK_ERR("glVertexAttribs2hvNV", free(v);)
  free(v);
#line 85160 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2svNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2svNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLshort*	v = INT2PTR(const GLshort *,SvIV(ST(2)))
;
#line 42331 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs2svNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs2svNV, glVertexAttribs2svNV)
  glVertexAttribs2svNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs2svNV", )
#line 85185 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2svNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs2svNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "index, count, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 42342 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs2svNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs2svNV, glVertexAttribs2svNV)
  GLshort* v = OGLM_GET_VARARGS(v,2,GLshort,IV,count*2);
  glVertexAttribs2svNV((GLuint )index, (GLsizei )count, (const GLshort* )v);
  OGLM_CHECK_ERR("glVertexAttribs2svNV", free(v);)
  free(v);
#line 85210 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3dvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3dvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 42356 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs3dvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs3dvNV, glVertexAttribs3dvNV)
  glVertexAttribs3dvNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs3dvNV", )
#line 85235 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3dvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3dvNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "index, count, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 42367 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs3dvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs3dvNV, glVertexAttribs3dvNV)
  GLdouble* v = OGLM_GET_VARARGS(v,2,GLdouble,NV,count*3);
  glVertexAttribs3dvNV((GLuint )index, (GLsizei )count, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttribs3dvNV", free(v);)
  free(v);
#line 85260 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3fvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3fvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 42381 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs3fvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs3fvNV, glVertexAttribs3fvNV)
  glVertexAttribs3fvNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs3fvNV", )
#line 85285 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3fvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3fvNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "index, count, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 42392 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs3fvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs3fvNV, glVertexAttribs3fvNV)
  GLfloat* v = OGLM_GET_VARARGS(v,2,GLfloat,NV,count*3);
  glVertexAttribs3fvNV((GLuint )index, (GLsizei )count, (const GLfloat* )v);
  OGLM_CHECK_ERR("glVertexAttribs3fvNV", free(v);)
  free(v);
#line 85310 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, n, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(2)))
;
#line 42406 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs3hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs3hvNV, glVertexAttribs3hvNV)
  glVertexAttribs3hvNV(index, n, v);
  OGLM_CHECK_ERR("glVertexAttribs3hvNV", )
#line 85335 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 42416 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs3hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs3hvNV, glVertexAttribs3hvNV)
  GLsizei n = items-1;
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,n);
  glVertexAttribs3hvNV((GLuint )index, (GLsizei )n, (const GLhalf* )v);
  OGLM_CHECK_ERR("glVertexAttribs3hvNV", free(v);)
  free(v);
#line 85359 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3svNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3svNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLshort*	v = INT2PTR(const GLshort *,SvIV(ST(2)))
;
#line 42431 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs3svNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs3svNV, glVertexAttribs3svNV)
  glVertexAttribs3svNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs3svNV", )
#line 85384 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3svNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs3svNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "index, count, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 42442 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs3svNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs3svNV, glVertexAttribs3svNV)
  GLshort* v = OGLM_GET_VARARGS(v,2,GLshort,IV,count*3);
  glVertexAttribs3svNV((GLuint )index, (GLsizei )count, (const GLshort* )v);
  OGLM_CHECK_ERR("glVertexAttribs3svNV", free(v);)
  free(v);
#line 85409 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4dvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4dvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(2)))
;
#line 42456 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs4dvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs4dvNV, glVertexAttribs4dvNV)
  glVertexAttribs4dvNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs4dvNV", )
#line 85434 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4dvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4dvNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "index, count, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 42467 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs4dvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs4dvNV, glVertexAttribs4dvNV)
  GLdouble* v = OGLM_GET_VARARGS(v,2,GLdouble,NV,count*4);
  glVertexAttribs4dvNV((GLuint )index, (GLsizei )count, (const GLdouble* )v);
  OGLM_CHECK_ERR("glVertexAttribs4dvNV", free(v);)
  free(v);
#line 85459 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4fvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4fvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 42481 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs4fvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs4fvNV, glVertexAttribs4fvNV)
  glVertexAttribs4fvNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs4fvNV", )
#line 85484 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4fvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4fvNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "index, count, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 42492 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs4fvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs4fvNV, glVertexAttribs4fvNV)
  GLfloat* v = OGLM_GET_VARARGS(v,2,GLfloat,NV,count*4);
  glVertexAttribs4fvNV((GLuint )index, (GLsizei )count, (const GLfloat* )v);
  OGLM_CHECK_ERR("glVertexAttribs4fvNV", free(v);)
  free(v);
#line 85509 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4hvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4hvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, n, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	n = (int)SvIV(ST(1))
;
	const GLhalf*	v = INT2PTR(const GLhalf *,SvIV(ST(2)))
;
#line 42506 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs4hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs4hvNV, glVertexAttribs4hvNV)
  glVertexAttribs4hvNV(index, n, v);
  OGLM_CHECK_ERR("glVertexAttribs4hvNV", )
#line 85534 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4hvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4hvNV_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 42516 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs4hvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs4hvNV, glVertexAttribs4hvNV)
  GLsizei n = items-1;
  GLhalf* v = OGLM_GET_VARARGS(v,1,GLhalf,NV,n);
  glVertexAttribs4hvNV((GLuint )index, (GLsizei )n, (const GLhalf* )v);
  OGLM_CHECK_ERR("glVertexAttribs4hvNV", free(v);)
  free(v);
#line 85558 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4svNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4svNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLshort*	v = INT2PTR(const GLshort *,SvIV(ST(2)))
;
#line 42531 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs4svNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs4svNV, glVertexAttribs4svNV)
  glVertexAttribs4svNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs4svNV", )
#line 85583 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4svNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4svNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "index, count, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 42542 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs4svNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs4svNV, glVertexAttribs4svNV)
  GLshort* v = OGLM_GET_VARARGS(v,2,GLshort,IV,count*4);
  glVertexAttribs4svNV((GLuint )index, (GLsizei )count, (const GLshort* )v);
  OGLM_CHECK_ERR("glVertexAttribs4svNV", free(v);)
  free(v);
#line 85608 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4ubvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4ubvNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, count, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLubyte*        v = (const GLubyte *)SvPV_nolen(ST(2))
;
#line 42556 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs4ubvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs4ubvNV, glVertexAttribs4ubvNV)
  glVertexAttribs4ubvNV(index, count, v);
  OGLM_CHECK_ERR("glVertexAttribs4ubvNV", )
#line 85633 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4ubvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexAttribs4ubvNV_p)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "index, count, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
#line 42567 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexAttribs4ubvNV", )
  OGLM_AVAIL_CHECK(__glewVertexAttribs4ubvNV, glVertexAttribs4ubvNV)
  GLubyte* v = OGLM_GET_VARARGS(v,2,GLubyte,UV,count*4);
  glVertexAttribs4ubvNV((GLuint )index, (GLsizei )count, (const GLubyte* )v);
  OGLM_CHECK_ERR("glVertexAttribs4ubvNV", free(v);)
  free(v);
#line 85658 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexBindingDivisor); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexBindingDivisor)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "bindingindex, divisor");
    {
	GLuint	bindingindex = (unsigned int)SvUV(ST(0))
;
	GLuint	divisor = (unsigned int)SvUV(ST(1))
;
#line 42580 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexBindingDivisor", )
  OGLM_AVAIL_CHECK(__glewVertexBindingDivisor, glVertexBindingDivisor)
  glVertexBindingDivisor(bindingindex, divisor);
  OGLM_CHECK_ERR("glVertexBindingDivisor", )
#line 85681 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexBlendARB); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexBlendARB)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "count");
    {
	GLint	count = (int)SvIV(ST(0))
;
#line 42590 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexBlendARB", )
  OGLM_AVAIL_CHECK(__glewVertexBlendARB, glVertexBlendARB)
  glVertexBlendARB(count);
  OGLM_CHECK_ERR("glVertexBlendARB", )
#line 85702 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexBlendEnvfATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexBlendEnvfATI)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLfloat	param = (float)SvNV(ST(1))
;
#line 42601 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexBlendEnvfATI", )
  OGLM_AVAIL_CHECK(__glewVertexBlendEnvfATI, glVertexBlendEnvfATI)
  glVertexBlendEnvfATI(pname, param);
  OGLM_CHECK_ERR("glVertexBlendEnvfATI", )
#line 85725 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexBlendEnviATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexBlendEnviATI)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, param");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	GLint	param = (int)SvIV(ST(1))
;
#line 42612 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexBlendEnviATI", )
  OGLM_AVAIL_CHECK(__glewVertexBlendEnviATI, glVertexBlendEnviATI)
  glVertexBlendEnviATI(pname, param);
  OGLM_CHECK_ERR("glVertexBlendEnviATI", )
#line 85748 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexFormatNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexFormatNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "size, type, stride");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
#line 42624 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexFormatNV", )
  OGLM_AVAIL_CHECK(__glewVertexFormatNV, glVertexFormatNV)
  glVertexFormatNV(size, type, stride);
  OGLM_CHECK_ERR("glVertexFormatNV", )
#line 85773 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexP2ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexP2ui)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, value");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	value = (unsigned int)SvUV(ST(1))
;
#line 42635 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexP2ui", )
  OGLM_AVAIL_CHECK(__glewVertexP2ui, glVertexP2ui)
  glVertexP2ui(type, value);
  OGLM_CHECK_ERR("glVertexP2ui", )
#line 85796 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexP2uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexP2uiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, value");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 42646 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexP2uiv", )
  OGLM_AVAIL_CHECK(__glewVertexP2uiv, glVertexP2uiv)
  glVertexP2uiv(type, value);
  OGLM_CHECK_ERR("glVertexP2uiv", )
#line 85819 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexP2uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexP2uiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
#line 42656 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexP2uiv", )
  OGLM_AVAIL_CHECK(__glewVertexP2uiv, glVertexP2uiv)
  GLuint* value = OGLM_GET_VARARGS(value,1,GLuint,UV,1);
  glVertexP2uiv((GLenum )type, (const GLuint* )value);
  OGLM_CHECK_ERR("glVertexP2uiv", free(value);)
  free(value);
#line 85842 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexP3ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexP3ui)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, value");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	value = (unsigned int)SvUV(ST(1))
;
#line 42669 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexP3ui", )
  OGLM_AVAIL_CHECK(__glewVertexP3ui, glVertexP3ui)
  glVertexP3ui(type, value);
  OGLM_CHECK_ERR("glVertexP3ui", )
#line 85865 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexP3uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexP3uiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, value");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 42680 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexP3uiv", )
  OGLM_AVAIL_CHECK(__glewVertexP3uiv, glVertexP3uiv)
  glVertexP3uiv(type, value);
  OGLM_CHECK_ERR("glVertexP3uiv", )
#line 85888 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexP3uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexP3uiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
#line 42690 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexP3uiv", )
  OGLM_AVAIL_CHECK(__glewVertexP3uiv, glVertexP3uiv)
  GLuint* value = OGLM_GET_VARARGS(value,1,GLuint,UV,1);
  glVertexP3uiv((GLenum )type, (const GLuint* )value);
  OGLM_CHECK_ERR("glVertexP3uiv", free(value);)
  free(value);
#line 85911 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexP4ui); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexP4ui)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, value");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	GLuint	value = (unsigned int)SvUV(ST(1))
;
#line 42703 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexP4ui", )
  OGLM_AVAIL_CHECK(__glewVertexP4ui, glVertexP4ui)
  glVertexP4ui(type, value);
  OGLM_CHECK_ERR("glVertexP4ui", )
#line 85934 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexP4uiv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexP4uiv_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "type, value");
    {
	GLenum	type = (int)SvIV(ST(0))
;
	const GLuint*	value = INT2PTR(const GLuint *,SvIV(ST(1)))
;
#line 42714 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexP4uiv", )
  OGLM_AVAIL_CHECK(__glewVertexP4uiv, glVertexP4uiv)
  glVertexP4uiv(type, value);
  OGLM_CHECK_ERR("glVertexP4uiv", )
#line 85957 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexP4uiv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexP4uiv_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "type, ...");
    {
	GLenum	type = (int)SvIV(ST(0))
;
#line 42724 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexP4uiv", )
  OGLM_AVAIL_CHECK(__glewVertexP4uiv, glVertexP4uiv)
  GLuint* value = OGLM_GET_VARARGS(value,1,GLuint,UV,1);
  glVertexP4uiv((GLenum )type, (const GLuint* )value);
  OGLM_CHECK_ERR("glVertexP4uiv", free(value);)
  free(value);
#line 85980 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexPointer_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexPointer_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "size, type, stride, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(3)))
;
#line 42739 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexPointer", )
  glVertexPointer(size, type, stride, pointer);
  OGLM_CHECK_ERR("glVertexPointer", )
#line 86006 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexPointerEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexPointerEXT_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "size, type, stride, count, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	GLsizei	count = (int)SvIV(ST(3))
;
	const void *	pointer = INT2PTR(const void *,SvIV(ST(4)))
;
#line 42752 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexPointerEXT", )
  OGLM_AVAIL_CHECK(__glewVertexPointerEXT, glVertexPointerEXT)
  glVertexPointerEXT(size, type, stride, count, pointer);
  OGLM_CHECK_ERR("glVertexPointerEXT", )
#line 86035 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexPointerListIBM_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexPointerListIBM_c)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "size, type, stride, pointer, ptrstride");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLint	stride = (int)SvIV(ST(2))
;
	const void**	pointer = INT2PTR(const void **,SvIV(ST(3)))
;
	GLint	ptrstride = (int)SvIV(ST(4))
;
#line 42766 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexPointerListIBM", )
  OGLM_AVAIL_CHECK(__glewVertexPointerListIBM, glVertexPointerListIBM)
  glVertexPointerListIBM(size, type, stride, pointer, ptrstride);
  OGLM_CHECK_ERR("glVertexPointerListIBM", )
#line 86064 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexPointervINTEL_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexPointervINTEL_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "size, type, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	const void**	pointer = INT2PTR(const void **,SvIV(ST(2)))
;
#line 42778 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexPointervINTEL", )
  OGLM_AVAIL_CHECK(__glewVertexPointervINTEL, glVertexPointervINTEL)
  glVertexPointervINTEL(size, type, pointer);
  OGLM_CHECK_ERR("glVertexPointervINTEL", )
#line 86089 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1dATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1dATI)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, x");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
#line 42789 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1dATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1dATI, glVertexStream1dATI)
  glVertexStream1dATI(stream, x);
  OGLM_CHECK_ERR("glVertexStream1dATI", )
#line 86112 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1dvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1dvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLdouble *	coords = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 42800 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1dvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1dvATI, glVertexStream1dvATI)
  glVertexStream1dvATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream1dvATI", )
#line 86135 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1dvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1dvATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 42810 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1dvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1dvATI, glVertexStream1dvATI)
  GLdouble *coords = OGLM_GET_VARARGS(coords,1,GLdouble,NV,1);
  glVertexStream1dvATI((GLenum )stream, (const GLdouble *)coords);
  OGLM_CHECK_ERR("glVertexStream1dvATI", free(coords);)
  free(coords);
#line 86158 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1fATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1fATI)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, x");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
#line 42823 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1fATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1fATI, glVertexStream1fATI)
  glVertexStream1fATI(stream, x);
  OGLM_CHECK_ERR("glVertexStream1fATI", )
#line 86181 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1fvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1fvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLfloat *	coords = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 42834 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1fvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1fvATI, glVertexStream1fvATI)
  glVertexStream1fvATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream1fvATI", )
#line 86204 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1fvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1fvATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 42844 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1fvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1fvATI, glVertexStream1fvATI)
  GLfloat *coords = OGLM_GET_VARARGS(coords,1,GLfloat,NV,1);
  glVertexStream1fvATI((GLenum )stream, (const GLfloat *)coords);
  OGLM_CHECK_ERR("glVertexStream1fvATI", free(coords);)
  free(coords);
#line 86227 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1iATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1iATI)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, x");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLint	x = (int)SvIV(ST(1))
;
#line 42857 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1iATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1iATI, glVertexStream1iATI)
  glVertexStream1iATI(stream, x);
  OGLM_CHECK_ERR("glVertexStream1iATI", )
#line 86250 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1ivATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1ivATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLint *	coords = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 42868 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1ivATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1ivATI, glVertexStream1ivATI)
  glVertexStream1ivATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream1ivATI", )
#line 86273 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1ivATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1ivATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 42878 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1ivATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1ivATI, glVertexStream1ivATI)
  GLint *coords = OGLM_GET_VARARGS(coords,1,GLint,IV,1);
  glVertexStream1ivATI((GLenum )stream, (const GLint *)coords);
  OGLM_CHECK_ERR("glVertexStream1ivATI", free(coords);)
  free(coords);
#line 86296 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1sATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1sATI)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, x");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLshort	x = (short)SvIV(ST(1))
;
#line 42891 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1sATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1sATI, glVertexStream1sATI)
  glVertexStream1sATI(stream, x);
  OGLM_CHECK_ERR("glVertexStream1sATI", )
#line 86319 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1svATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1svATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLshort *	coords = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 42902 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1svATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1svATI, glVertexStream1svATI)
  glVertexStream1svATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream1svATI", )
#line 86342 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream1svATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream1svATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 42912 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream1svATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream1svATI, glVertexStream1svATI)
  GLshort *coords = OGLM_GET_VARARGS(coords,1,GLshort,IV,1);
  glVertexStream1svATI((GLenum )stream, (const GLshort *)coords);
  OGLM_CHECK_ERR("glVertexStream1svATI", free(coords);)
  free(coords);
#line 86365 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2dATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2dATI)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "stream, x, y");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
#line 42926 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2dATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2dATI, glVertexStream2dATI)
  glVertexStream2dATI(stream, x, y);
  OGLM_CHECK_ERR("glVertexStream2dATI", )
#line 86390 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2dvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2dvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLdouble *	coords = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 42937 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2dvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2dvATI, glVertexStream2dvATI)
  glVertexStream2dvATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream2dvATI", )
#line 86413 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2dvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2dvATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 42947 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2dvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2dvATI, glVertexStream2dvATI)
  GLdouble *coords = OGLM_GET_VARARGS(coords,1,GLdouble,NV,2);
  glVertexStream2dvATI((GLenum )stream, (const GLdouble *)coords);
  OGLM_CHECK_ERR("glVertexStream2dvATI", free(coords);)
  free(coords);
#line 86436 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2fATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2fATI)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "stream, x, y");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
#line 42961 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2fATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2fATI, glVertexStream2fATI)
  glVertexStream2fATI(stream, x, y);
  OGLM_CHECK_ERR("glVertexStream2fATI", )
#line 86461 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2fvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2fvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLfloat *	coords = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 42972 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2fvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2fvATI, glVertexStream2fvATI)
  glVertexStream2fvATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream2fvATI", )
#line 86484 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2fvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2fvATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 42982 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2fvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2fvATI, glVertexStream2fvATI)
  GLfloat *coords = OGLM_GET_VARARGS(coords,1,GLfloat,NV,2);
  glVertexStream2fvATI((GLenum )stream, (const GLfloat *)coords);
  OGLM_CHECK_ERR("glVertexStream2fvATI", free(coords);)
  free(coords);
#line 86507 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2iATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2iATI)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "stream, x, y");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLint	x = (int)SvIV(ST(1))
;
	GLint	y = (int)SvIV(ST(2))
;
#line 42996 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2iATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2iATI, glVertexStream2iATI)
  glVertexStream2iATI(stream, x, y);
  OGLM_CHECK_ERR("glVertexStream2iATI", )
#line 86532 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2ivATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2ivATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLint *	coords = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 43007 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2ivATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2ivATI, glVertexStream2ivATI)
  glVertexStream2ivATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream2ivATI", )
#line 86555 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2ivATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2ivATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 43017 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2ivATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2ivATI, glVertexStream2ivATI)
  GLint *coords = OGLM_GET_VARARGS(coords,1,GLint,IV,2);
  glVertexStream2ivATI((GLenum )stream, (const GLint *)coords);
  OGLM_CHECK_ERR("glVertexStream2ivATI", free(coords);)
  free(coords);
#line 86578 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2sATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2sATI)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "stream, x, y");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLshort	x = (short)SvIV(ST(1))
;
	GLshort	y = (short)SvIV(ST(2))
;
#line 43031 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2sATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2sATI, glVertexStream2sATI)
  glVertexStream2sATI(stream, x, y);
  OGLM_CHECK_ERR("glVertexStream2sATI", )
#line 86603 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2svATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2svATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLshort *	coords = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 43042 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2svATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2svATI, glVertexStream2svATI)
  glVertexStream2svATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream2svATI", )
#line 86626 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream2svATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream2svATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 43052 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream2svATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream2svATI, glVertexStream2svATI)
  GLshort *coords = OGLM_GET_VARARGS(coords,1,GLshort,IV,2);
  glVertexStream2svATI((GLenum )stream, (const GLshort *)coords);
  OGLM_CHECK_ERR("glVertexStream2svATI", free(coords);)
  free(coords);
#line 86649 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3dATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3dATI)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "stream, x, y, z");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
	GLdouble	z = (double)SvNV(ST(3))
;
#line 43067 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3dATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3dATI, glVertexStream3dATI)
  glVertexStream3dATI(stream, x, y, z);
  OGLM_CHECK_ERR("glVertexStream3dATI", )
#line 86676 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3dvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3dvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLdouble *	coords = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 43078 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3dvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3dvATI, glVertexStream3dvATI)
  glVertexStream3dvATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream3dvATI", )
#line 86699 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3dvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3dvATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 43088 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3dvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3dvATI, glVertexStream3dvATI)
  GLdouble *coords = OGLM_GET_VARARGS(coords,1,GLdouble,NV,3);
  glVertexStream3dvATI((GLenum )stream, (const GLdouble *)coords);
  OGLM_CHECK_ERR("glVertexStream3dvATI", free(coords);)
  free(coords);
#line 86722 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3fATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3fATI)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "stream, x, y, z");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
	GLfloat	z = (float)SvNV(ST(3))
;
#line 43103 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3fATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3fATI, glVertexStream3fATI)
  glVertexStream3fATI(stream, x, y, z);
  OGLM_CHECK_ERR("glVertexStream3fATI", )
#line 86749 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3fvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3fvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLfloat *	coords = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 43114 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3fvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3fvATI, glVertexStream3fvATI)
  glVertexStream3fvATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream3fvATI", )
#line 86772 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3fvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3fvATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 43124 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3fvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3fvATI, glVertexStream3fvATI)
  GLfloat *coords = OGLM_GET_VARARGS(coords,1,GLfloat,NV,3);
  glVertexStream3fvATI((GLenum )stream, (const GLfloat *)coords);
  OGLM_CHECK_ERR("glVertexStream3fvATI", free(coords);)
  free(coords);
#line 86795 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3iATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3iATI)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "stream, x, y, z");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLint	x = (int)SvIV(ST(1))
;
	GLint	y = (int)SvIV(ST(2))
;
	GLint	z = (int)SvIV(ST(3))
;
#line 43139 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3iATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3iATI, glVertexStream3iATI)
  glVertexStream3iATI(stream, x, y, z);
  OGLM_CHECK_ERR("glVertexStream3iATI", )
#line 86822 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3ivATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3ivATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLint *	coords = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 43150 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3ivATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3ivATI, glVertexStream3ivATI)
  glVertexStream3ivATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream3ivATI", )
#line 86845 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3ivATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3ivATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 43160 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3ivATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3ivATI, glVertexStream3ivATI)
  GLint *coords = OGLM_GET_VARARGS(coords,1,GLint,IV,3);
  glVertexStream3ivATI((GLenum )stream, (const GLint *)coords);
  OGLM_CHECK_ERR("glVertexStream3ivATI", free(coords);)
  free(coords);
#line 86868 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3sATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3sATI)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "stream, x, y, z");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLshort	x = (short)SvIV(ST(1))
;
	GLshort	y = (short)SvIV(ST(2))
;
	GLshort	z = (short)SvIV(ST(3))
;
#line 43175 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3sATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3sATI, glVertexStream3sATI)
  glVertexStream3sATI(stream, x, y, z);
  OGLM_CHECK_ERR("glVertexStream3sATI", )
#line 86895 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3svATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3svATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLshort *	coords = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 43186 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3svATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3svATI, glVertexStream3svATI)
  glVertexStream3svATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream3svATI", )
#line 86918 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream3svATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream3svATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 43196 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream3svATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream3svATI, glVertexStream3svATI)
  GLshort *coords = OGLM_GET_VARARGS(coords,1,GLshort,IV,3);
  glVertexStream3svATI((GLenum )stream, (const GLshort *)coords);
  OGLM_CHECK_ERR("glVertexStream3svATI", free(coords);)
  free(coords);
#line 86941 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4dATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4dATI)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "stream, x, y, z, w");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLdouble	x = (double)SvNV(ST(1))
;
	GLdouble	y = (double)SvNV(ST(2))
;
	GLdouble	z = (double)SvNV(ST(3))
;
	GLdouble	w = (double)SvNV(ST(4))
;
#line 43212 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4dATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4dATI, glVertexStream4dATI)
  glVertexStream4dATI(stream, x, y, z, w);
  OGLM_CHECK_ERR("glVertexStream4dATI", )
#line 86970 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4dvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4dvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLdouble *	coords = INT2PTR(const GLdouble *,SvIV(ST(1)))
;
#line 43223 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4dvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4dvATI, glVertexStream4dvATI)
  glVertexStream4dvATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream4dvATI", )
#line 86993 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4dvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4dvATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 43233 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4dvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4dvATI, glVertexStream4dvATI)
  GLdouble *coords = OGLM_GET_VARARGS(coords,1,GLdouble,NV,4);
  glVertexStream4dvATI((GLenum )stream, (const GLdouble *)coords);
  OGLM_CHECK_ERR("glVertexStream4dvATI", free(coords);)
  free(coords);
#line 87016 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4fATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4fATI)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "stream, x, y, z, w");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
	GLfloat	z = (float)SvNV(ST(3))
;
	GLfloat	w = (float)SvNV(ST(4))
;
#line 43249 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4fATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4fATI, glVertexStream4fATI)
  glVertexStream4fATI(stream, x, y, z, w);
  OGLM_CHECK_ERR("glVertexStream4fATI", )
#line 87045 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4fvATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4fvATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLfloat *	coords = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 43260 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4fvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4fvATI, glVertexStream4fvATI)
  glVertexStream4fvATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream4fvATI", )
#line 87068 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4fvATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4fvATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 43270 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4fvATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4fvATI, glVertexStream4fvATI)
  GLfloat *coords = OGLM_GET_VARARGS(coords,1,GLfloat,NV,4);
  glVertexStream4fvATI((GLenum )stream, (const GLfloat *)coords);
  OGLM_CHECK_ERR("glVertexStream4fvATI", free(coords);)
  free(coords);
#line 87091 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4iATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4iATI)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "stream, x, y, z, w");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLint	x = (int)SvIV(ST(1))
;
	GLint	y = (int)SvIV(ST(2))
;
	GLint	z = (int)SvIV(ST(3))
;
	GLint	w = (int)SvIV(ST(4))
;
#line 43286 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4iATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4iATI, glVertexStream4iATI)
  glVertexStream4iATI(stream, x, y, z, w);
  OGLM_CHECK_ERR("glVertexStream4iATI", )
#line 87120 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4ivATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4ivATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLint *	coords = INT2PTR(const GLint *,SvIV(ST(1)))
;
#line 43297 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4ivATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4ivATI, glVertexStream4ivATI)
  glVertexStream4ivATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream4ivATI", )
#line 87143 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4ivATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4ivATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 43307 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4ivATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4ivATI, glVertexStream4ivATI)
  GLint *coords = OGLM_GET_VARARGS(coords,1,GLint,IV,4);
  glVertexStream4ivATI((GLenum )stream, (const GLint *)coords);
  OGLM_CHECK_ERR("glVertexStream4ivATI", free(coords);)
  free(coords);
#line 87166 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4sATI); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4sATI)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "stream, x, y, z, w");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	GLshort	x = (short)SvIV(ST(1))
;
	GLshort	y = (short)SvIV(ST(2))
;
	GLshort	z = (short)SvIV(ST(3))
;
	GLshort	w = (short)SvIV(ST(4))
;
#line 43323 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4sATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4sATI, glVertexStream4sATI)
  glVertexStream4sATI(stream, x, y, z, w);
  OGLM_CHECK_ERR("glVertexStream4sATI", )
#line 87195 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4svATI_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4svATI_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "stream, coords");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
	const GLshort *	coords = INT2PTR(const GLshort *,SvIV(ST(1)))
;
#line 43334 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4svATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4svATI, glVertexStream4svATI)
  glVertexStream4svATI(stream, coords);
  OGLM_CHECK_ERR("glVertexStream4svATI", )
#line 87218 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexStream4svATI_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexStream4svATI_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "stream, ...");
    {
	GLenum	stream = (int)SvIV(ST(0))
;
#line 43344 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexStream4svATI", )
  OGLM_AVAIL_CHECK(__glewVertexStream4svATI, glVertexStream4svATI)
  GLshort *coords = OGLM_GET_VARARGS(coords,1,GLshort,IV,4);
  glVertexStream4svATI((GLenum )stream, (const GLshort *)coords);
  OGLM_CHECK_ERR("glVertexStream4svATI", free(coords);)
  free(coords);
#line 87241 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexWeightPointerEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexWeightPointerEXT_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "size, type, stride, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(3)))
;
#line 43359 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexWeightPointerEXT", )
  OGLM_AVAIL_CHECK(__glewVertexWeightPointerEXT, glVertexWeightPointerEXT)
  glVertexWeightPointerEXT(size, type, stride, pointer);
  OGLM_CHECK_ERR("glVertexWeightPointerEXT", )
#line 87268 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexWeightfEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexWeightfEXT)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "weight");
    {
	GLfloat	weight = (float)SvNV(ST(0))
;
#line 43369 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexWeightfEXT", )
  OGLM_AVAIL_CHECK(__glewVertexWeightfEXT, glVertexWeightfEXT)
  glVertexWeightfEXT(weight);
  OGLM_CHECK_ERR("glVertexWeightfEXT", )
#line 87289 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexWeightfvEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexWeightfvEXT_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "weight");
    {
	GLfloat*	weight = INT2PTR(GLfloat *,SvIV(ST(0)))
;
#line 43379 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexWeightfvEXT", )
  OGLM_AVAIL_CHECK(__glewVertexWeightfvEXT, glVertexWeightfvEXT)
  glVertexWeightfvEXT(weight);
  OGLM_CHECK_ERR("glVertexWeightfvEXT", )
#line 87310 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexWeightfvEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexWeightfvEXT_p)
{
    dVAR; dXSARGS;
    if (items != 0)
       croak_xs_usage(cv,  "");
    {
	GLfloat	RETVAL;
	dXSTARG;
#line 43388 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexWeightfvEXT", )
  OGLM_AVAIL_CHECK(__glewVertexWeightfvEXT, glVertexWeightfvEXT)
  GLfloat weight[1];
  glVertexWeightfvEXT(weight);
  OGLM_CHECK_ERR("glVertexWeightfvEXT", )
  RETVAL = weight[0];
#line 87333 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glVertexWeighthNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexWeighthNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "weight");
    {
	GLhalf	weight = (float)SvNV(ST(0))
;
#line 43402 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexWeighthNV", )
  OGLM_AVAIL_CHECK(__glewVertexWeighthNV, glVertexWeighthNV)
  glVertexWeighthNV(weight);
  OGLM_CHECK_ERR("glVertexWeighthNV", )
#line 87356 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexWeighthvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexWeighthvNV_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "weight");
    {
	const GLhalf*	weight = INT2PTR(const GLhalf *,SvIV(ST(0)))
;
#line 43412 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexWeighthvNV", )
  OGLM_AVAIL_CHECK(__glewVertexWeighthvNV, glVertexWeighthvNV)
  glVertexWeighthvNV(weight);
  OGLM_CHECK_ERR("glVertexWeighthvNV", )
#line 87377 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVertexWeighthvNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVertexWeighthvNV_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 43421 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVertexWeighthvNV", )
  OGLM_AVAIL_CHECK(__glewVertexWeighthvNV, glVertexWeighthvNV)
  GLhalf* weight = OGLM_GET_VARARGS(weight,0,GLhalf,NV,1);
  glVertexWeighthvNV((const GLhalf* )weight);
  OGLM_CHECK_ERR("glVertexWeighthvNV", free(weight);)
  free(weight);
#line 87398 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVideoCaptureNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVideoCaptureNV_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "video_capture_slot, sequence_num, capture_time");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
	GLuint*	sequence_num = INT2PTR(GLuint *,SvIV(ST(1)))
;
	GLuint64EXT *	capture_time = INT2PTR(GLuint64EXT *,SvIV(ST(2)))
;
	GLenum	RETVAL;
	dXSTARG;
#line 43435 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVideoCaptureNV", )
  OGLM_AVAIL_CHECK(__glewVideoCaptureNV, glVideoCaptureNV)
  RETVAL = glVideoCaptureNV(video_capture_slot, sequence_num, capture_time);
  OGLM_CHECK_ERR("glVideoCaptureNV", )
#line 87425 "lib/OpenGL/Modern.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL__Modern_glVideoCaptureStreamParameterdvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVideoCaptureStreamParameterdvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "video_capture_slot, stream, pname, params");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
	GLuint	stream = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLdouble*	params = INT2PTR(const GLdouble *,SvIV(ST(3)))
;
#line 43450 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVideoCaptureStreamParameterdvNV", )
  OGLM_AVAIL_CHECK(__glewVideoCaptureStreamParameterdvNV, glVideoCaptureStreamParameterdvNV)
  glVideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, params);
  OGLM_CHECK_ERR("glVideoCaptureStreamParameterdvNV", )
#line 87454 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVideoCaptureStreamParameterfvNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVideoCaptureStreamParameterfvNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "video_capture_slot, stream, pname, params");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
	GLuint	stream = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLfloat*	params = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 43463 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVideoCaptureStreamParameterfvNV", )
  OGLM_AVAIL_CHECK(__glewVideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterfvNV)
  glVideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, params);
  OGLM_CHECK_ERR("glVideoCaptureStreamParameterfvNV", )
#line 87481 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glVideoCaptureStreamParameterivNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glVideoCaptureStreamParameterivNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "video_capture_slot, stream, pname, params");
    {
	GLuint	video_capture_slot = (unsigned int)SvUV(ST(0))
;
	GLuint	stream = (unsigned int)SvUV(ST(1))
;
	GLenum	pname = (int)SvIV(ST(2))
;
	const GLint*	params = INT2PTR(const GLint *,SvIV(ST(3)))
;
#line 43476 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glVideoCaptureStreamParameterivNV", )
  OGLM_AVAIL_CHECK(__glewVideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterivNV)
  glVideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, params);
  OGLM_CHECK_ERR("glVideoCaptureStreamParameterivNV", )
#line 87508 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glViewport); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glViewport)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, width, height");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLsizei	width = (int)SvIV(ST(2))
;
	GLsizei	height = (int)SvIV(ST(3))
;
#line 43489 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glViewport", )
  glViewport(x, y, width, height);
  OGLM_CHECK_ERR("glViewport", )
#line 87534 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glViewportArrayv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glViewportArrayv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "first, count, v");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(2)))
;
#line 43502 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glViewportArrayv", )
  OGLM_AVAIL_CHECK(__glewViewportArrayv, glViewportArrayv)
  glViewportArrayv(first, count, v);
  OGLM_CHECK_ERR("glViewportArrayv", )
#line 87560 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glViewportArrayv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glViewportArrayv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "first, ...");
    {
	GLuint	first = (unsigned int)SvUV(ST(0))
;
#line 43514 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glViewportArrayv", )
  OGLM_AVAIL_CHECK(__glewViewportArrayv, glViewportArrayv)
  GLsizei count = items-1;
  GLfloat * v = OGLM_GET_VARARGS(v,1,GLfloat,NV,count);
  glViewportArrayv((GLuint )first, (GLsizei )count, (const GLfloat * )v);
  OGLM_CHECK_ERR("glViewportArrayv", free(v);)
  free(v);
#line 87585 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glViewportIndexedf); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glViewportIndexedf)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 5)
       croak_xs_usage(cv,  "index, x, y, w, h");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLfloat	x = (float)SvNV(ST(1))
;
	GLfloat	y = (float)SvNV(ST(2))
;
	GLfloat	w = (float)SvNV(ST(3))
;
	GLfloat	h = (float)SvNV(ST(4))
;
#line 43533 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glViewportIndexedf", )
  OGLM_AVAIL_CHECK(__glewViewportIndexedf, glViewportIndexedf)
  glViewportIndexedf(index, x, y, w, h);
  OGLM_CHECK_ERR("glViewportIndexedf", )
#line 87615 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glViewportIndexedfv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glViewportIndexedfv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(1)))
;
#line 43546 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glViewportIndexedfv", )
  OGLM_AVAIL_CHECK(__glewViewportIndexedfv, glViewportIndexedfv)
  glViewportIndexedfv(index, v);
  OGLM_CHECK_ERR("glViewportIndexedfv", )
#line 87639 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glViewportIndexedfv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glViewportIndexedfv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items < 1)
       croak_xs_usage(cv,  "index, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
#line 43558 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glViewportIndexedfv", )
  OGLM_AVAIL_CHECK(__glewViewportIndexedfv, glViewportIndexedfv)
  GLfloat * v = OGLM_GET_VARARGS(v,1,GLfloat,NV,4);
  glViewportIndexedfv((GLuint )index, (const GLfloat * )v);
  OGLM_CHECK_ERR("glViewportIndexedfv", free(v);)
  free(v);
#line 87663 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glViewportPositionWScaleNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glViewportPositionWScaleNV)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "index, xcoeff, ycoeff");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLfloat	xcoeff = (float)SvNV(ST(1))
;
	GLfloat	ycoeff = (float)SvNV(ST(2))
;
#line 43572 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glViewportPositionWScaleNV", )
  OGLM_AVAIL_CHECK(__glewViewportPositionWScaleNV, glViewportPositionWScaleNV)
  glViewportPositionWScaleNV(index, xcoeff, ycoeff);
  OGLM_CHECK_ERR("glViewportPositionWScaleNV", )
#line 87688 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glViewportSwizzleNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glViewportSwizzleNV)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "index, swizzlex, swizzley, swizzlez, swizzlew");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	swizzlex = (int)SvIV(ST(1))
;
	GLenum	swizzley = (int)SvIV(ST(2))
;
	GLenum	swizzlez = (int)SvIV(ST(3))
;
	GLenum	swizzlew = (int)SvIV(ST(4))
;
#line 43586 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glViewportSwizzleNV", )
  OGLM_AVAIL_CHECK(__glewViewportSwizzleNV, glViewportSwizzleNV)
  glViewportSwizzleNV(index, swizzlex, swizzley, swizzlez, swizzlew);
  OGLM_CHECK_ERR("glViewportSwizzleNV", )
#line 87717 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWaitSemaphoreEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWaitSemaphoreEXT_c)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, srcLayouts");
    {
	GLuint	semaphore = (unsigned int)SvUV(ST(0))
;
	GLuint	numBufferBarriers = (unsigned int)SvUV(ST(1))
;
	const GLuint*	buffers = INT2PTR(const GLuint *,SvIV(ST(2)))
;
	GLuint	numTextureBarriers = (unsigned int)SvUV(ST(3))
;
	const GLuint *	textures = INT2PTR(const GLuint *,SvIV(ST(4)))
;
	const GLenum *	srcLayouts = INT2PTR(const GLenum *,SvIV(ST(5)))
;
#line 43601 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWaitSemaphoreEXT", )
  OGLM_AVAIL_CHECK(__glewWaitSemaphoreEXT, glWaitSemaphoreEXT)
  glWaitSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, srcLayouts);
  OGLM_CHECK_ERR("glWaitSemaphoreEXT", )
#line 87748 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWaitSemaphoreui64NVX_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWaitSemaphoreui64NVX_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "waitGpu, fenceObjectCount, semaphoreArray, fenceValueArray");
    {
	GLuint	waitGpu = (unsigned int)SvUV(ST(0))
;
	GLsizei	fenceObjectCount = (int)SvIV(ST(1))
;
	const GLuint*	semaphoreArray = INT2PTR(const GLuint *,SvIV(ST(2)))
;
	const GLuint64 *	fenceValueArray = INT2PTR(const GLuint64 *,SvIV(ST(3)))
;
#line 43614 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWaitSemaphoreui64NVX", )
  OGLM_AVAIL_CHECK(__glewWaitSemaphoreui64NVX, glWaitSemaphoreui64NVX)
  glWaitSemaphoreui64NVX(waitGpu, fenceObjectCount, semaphoreArray, fenceValueArray);
  OGLM_CHECK_ERR("glWaitSemaphoreui64NVX", )
#line 87775 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWaitSemaphoreui64NVX_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWaitSemaphoreui64NVX_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "waitGpu, semaphoreArraySV, fenceValueArraySV");
    {
	GLuint	waitGpu = (unsigned int)SvUV(ST(0))
;
	SV *	semaphoreArraySV = ST(1)
;
	SV *	fenceValueArraySV = ST(2)
;
#line 43626 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWaitSemaphoreui64NVX", )
  OGLM_AVAIL_CHECK(__glewWaitSemaphoreui64NVX, glWaitSemaphoreui64NVX)
  GLsizei fenceObjectCount = OGLM_LEN_ARRAY(fenceObjectCount, semaphoreArray);
  GLuint64 *fenceValueArray = OGLM_GET_ARRAY(fenceValueArray, GLuint64, UV, fenceObjectCount);
  GLuint* semaphoreArray = OGLM_GET_ARRAY(semaphoreArray, GLuint, UV, fenceObjectCount);
  glWaitSemaphoreui64NVX((GLuint )waitGpu, (GLsizei )fenceObjectCount, (const GLuint* )semaphoreArray, (const GLuint64 *)fenceValueArray);
  OGLM_CHECK_ERR("glWaitSemaphoreui64NVX", free(fenceValueArray);free(semaphoreArray);)
  free(fenceValueArray);free(semaphoreArray);
#line 87804 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWaitSync); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWaitSync)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "sync, flags, timeout");
    {
	GLsync	sync = INT2PTR(GLsync,SvIV(ST(0)))
;
	GLbitfield	flags = (int)SvIV(ST(1))
;
	GLuint64	timeout = (unsigned int)SvUV(ST(2))
;
#line 43644 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWaitSync", )
  OGLM_AVAIL_CHECK(__glewWaitSync, glWaitSync)
  glWaitSync(sync, flags, timeout);
  OGLM_CHECK_ERR("glWaitSync", )
#line 87830 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWaitVkSemaphoreNV); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWaitVkSemaphoreNV)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "vkSemaphore");
    {
	GLuint64	vkSemaphore = (unsigned int)SvUV(ST(0))
;
#line 43654 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWaitVkSemaphoreNV", )
  OGLM_AVAIL_CHECK(__glewWaitVkSemaphoreNV, glWaitVkSemaphoreNV)
  glWaitVkSemaphoreNV(vkSemaphore);
  OGLM_CHECK_ERR("glWaitVkSemaphoreNV", )
#line 87851 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightPathsNV_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightPathsNV_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "resultPath, numPaths, paths, weights");
    {
	GLuint	resultPath = (unsigned int)SvUV(ST(0))
;
	GLsizei	numPaths = (int)SvIV(ST(1))
;
	const GLuint *	paths = INT2PTR(const GLuint *,SvIV(ST(2)))
;
	const GLfloat *	weights = INT2PTR(const GLfloat *,SvIV(ST(3)))
;
#line 43667 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightPathsNV", )
  OGLM_AVAIL_CHECK(__glewWeightPathsNV, glWeightPathsNV)
  glWeightPathsNV(resultPath, numPaths, paths, weights);
  OGLM_CHECK_ERR("glWeightPathsNV", )
#line 87878 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightPathsNV_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightPathsNV_p)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "resultPath, pathsSV, weightsSV");
    {
	GLuint	resultPath = (unsigned int)SvUV(ST(0))
;
	SV *	pathsSV = ST(1)
;
	SV *	weightsSV = ST(2)
;
#line 43679 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightPathsNV", )
  OGLM_AVAIL_CHECK(__glewWeightPathsNV, glWeightPathsNV)
  GLsizei numPaths = OGLM_LEN_ARRAY(numPaths, paths);
  GLuint * paths = OGLM_GET_ARRAY(paths, GLuint, UV, numPaths);
  GLfloat * weights = OGLM_GET_ARRAY(weights, GLfloat, NV, numPaths);
  glWeightPathsNV((GLuint )resultPath, (GLsizei )numPaths, (const GLuint * )paths, (const GLfloat * )weights);
  OGLM_CHECK_ERR("glWeightPathsNV", free(paths);free(weights);)
  free(paths);free(weights);
#line 87907 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightPointerARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightPointerARB_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "size, type, stride, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(3)))
;
#line 43696 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightPointerARB", )
  OGLM_AVAIL_CHECK(__glewWeightPointerARB, glWeightPointerARB)
  glWeightPointerARB(size, type, stride, pointer);
  OGLM_CHECK_ERR("glWeightPointerARB", )
#line 87934 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightPointerOES_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightPointerOES_c)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "size, type, stride, pointer");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLsizei	stride = (int)SvIV(ST(2))
;
	void *	pointer = INT2PTR(void *,SvIV(ST(3)))
;
#line 43709 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightPointerOES", )
  OGLM_AVAIL_CHECK(__glewWeightPointerOES, glWeightPointerOES)
  glWeightPointerOES(size, type, stride, pointer);
  OGLM_CHECK_ERR("glWeightPointerOES", )
#line 87961 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightbvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightbvARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, weights");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLbyte *	weights = INT2PTR(GLbyte *,SvIV(ST(1)))
;
#line 43720 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightbvARB", )
  OGLM_AVAIL_CHECK(__glewWeightbvARB, glWeightbvARB)
  glWeightbvARB(size, weights);
  OGLM_CHECK_ERR("glWeightbvARB", )
#line 87984 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightbvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightbvARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	size = (int)SvIV(ST(0))
;
#line 43730 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightbvARB", )
  OGLM_AVAIL_CHECK(__glewWeightbvARB, glWeightbvARB)
  GLbyte *weights = OGLM_ALLOC(size,GLbyte,weights);
  glWeightbvARB(size, weights);
  OGLM_CHECK_ERR("glWeightbvARB", free(weights);)
  OGLM_OUT_FINISH(weights,size,newSViv)
  free(weights);
#line 88010 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glWeightdvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightdvARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, weights");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLdouble *	weights = INT2PTR(GLdouble *,SvIV(ST(1)))
;
#line 43744 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightdvARB", )
  OGLM_AVAIL_CHECK(__glewWeightdvARB, glWeightdvARB)
  glWeightdvARB(size, weights);
  OGLM_CHECK_ERR("glWeightdvARB", )
#line 88034 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightdvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightdvARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	size = (int)SvIV(ST(0))
;
#line 43754 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightdvARB", )
  OGLM_AVAIL_CHECK(__glewWeightdvARB, glWeightdvARB)
  GLdouble *weights = OGLM_ALLOC(size,GLdouble,weights);
  glWeightdvARB(size, weights);
  OGLM_CHECK_ERR("glWeightdvARB", free(weights);)
  OGLM_OUT_FINISH(weights,size,newSVnv)
  free(weights);
#line 88060 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glWeightfvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightfvARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, weights");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLfloat *	weights = INT2PTR(GLfloat *,SvIV(ST(1)))
;
#line 43768 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightfvARB", )
  OGLM_AVAIL_CHECK(__glewWeightfvARB, glWeightfvARB)
  glWeightfvARB(size, weights);
  OGLM_CHECK_ERR("glWeightfvARB", )
#line 88084 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightfvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightfvARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	size = (int)SvIV(ST(0))
;
#line 43778 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightfvARB", )
  OGLM_AVAIL_CHECK(__glewWeightfvARB, glWeightfvARB)
  GLfloat *weights = OGLM_ALLOC(size,GLfloat,weights);
  glWeightfvARB(size, weights);
  OGLM_CHECK_ERR("glWeightfvARB", free(weights);)
  OGLM_OUT_FINISH(weights,size,newSVnv)
  free(weights);
#line 88110 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glWeightivARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightivARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, weights");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLint *	weights = INT2PTR(GLint *,SvIV(ST(1)))
;
#line 43792 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightivARB", )
  OGLM_AVAIL_CHECK(__glewWeightivARB, glWeightivARB)
  glWeightivARB(size, weights);
  OGLM_CHECK_ERR("glWeightivARB", )
#line 88134 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightivARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightivARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	size = (int)SvIV(ST(0))
;
#line 43802 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightivARB", )
  OGLM_AVAIL_CHECK(__glewWeightivARB, glWeightivARB)
  GLint *weights = OGLM_ALLOC(size,GLint,weights);
  glWeightivARB(size, weights);
  OGLM_CHECK_ERR("glWeightivARB", free(weights);)
  OGLM_OUT_FINISH(weights,size,newSViv)
  free(weights);
#line 88160 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glWeightsvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightsvARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, weights");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLshort *	weights = INT2PTR(GLshort *,SvIV(ST(1)))
;
#line 43816 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightsvARB", )
  OGLM_AVAIL_CHECK(__glewWeightsvARB, glWeightsvARB)
  glWeightsvARB(size, weights);
  OGLM_CHECK_ERR("glWeightsvARB", )
#line 88184 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightsvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightsvARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	size = (int)SvIV(ST(0))
;
#line 43826 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightsvARB", )
  OGLM_AVAIL_CHECK(__glewWeightsvARB, glWeightsvARB)
  GLshort *weights = OGLM_ALLOC(size,GLshort,weights);
  glWeightsvARB(size, weights);
  OGLM_CHECK_ERR("glWeightsvARB", free(weights);)
  OGLM_OUT_FINISH(weights,size,newSViv)
  free(weights);
#line 88210 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glWeightubvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightubvARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, weights");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLubyte *	weights = INT2PTR(GLubyte *,SvIV(ST(1)))
;
#line 43840 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightubvARB", )
  OGLM_AVAIL_CHECK(__glewWeightubvARB, glWeightubvARB)
  glWeightubvARB(size, weights);
  OGLM_CHECK_ERR("glWeightubvARB", )
#line 88234 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightubvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightubvARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	size = (int)SvIV(ST(0))
;
#line 43850 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightubvARB", )
  OGLM_AVAIL_CHECK(__glewWeightubvARB, glWeightubvARB)
  GLubyte *weights = OGLM_ALLOC(size,GLubyte,weights);
  glWeightubvARB(size, weights);
  OGLM_CHECK_ERR("glWeightubvARB", free(weights);)
  OGLM_OUT_FINISH(weights,size,newSVuv)
  free(weights);
#line 88260 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glWeightuivARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightuivARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, weights");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLuint *	weights = INT2PTR(GLuint *,SvIV(ST(1)))
;
#line 43864 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightuivARB", )
  OGLM_AVAIL_CHECK(__glewWeightuivARB, glWeightuivARB)
  glWeightuivARB(size, weights);
  OGLM_CHECK_ERR("glWeightuivARB", )
#line 88284 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightuivARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightuivARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	size = (int)SvIV(ST(0))
;
#line 43874 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightuivARB", )
  OGLM_AVAIL_CHECK(__glewWeightuivARB, glWeightuivARB)
  GLuint *weights = OGLM_ALLOC(size,GLuint,weights);
  glWeightuivARB(size, weights);
  OGLM_CHECK_ERR("glWeightuivARB", free(weights);)
  OGLM_OUT_FINISH(weights,size,newSVuv)
  free(weights);
#line 88310 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glWeightusvARB_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightusvARB_c)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "size, weights");
    {
	GLint	size = (int)SvIV(ST(0))
;
	GLushort *	weights = INT2PTR(GLushort *,SvIV(ST(1)))
;
#line 43888 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightusvARB", )
  OGLM_AVAIL_CHECK(__glewWeightusvARB, glWeightusvARB)
  glWeightusvARB(size, weights);
  OGLM_CHECK_ERR("glWeightusvARB", )
#line 88334 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWeightusvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWeightusvARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "size");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLint	size = (int)SvIV(ST(0))
;
#line 43898 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWeightusvARB", )
  OGLM_AVAIL_CHECK(__glewWeightusvARB, glWeightusvARB)
  GLushort *weights = OGLM_ALLOC(size,GLushort,weights);
  glWeightusvARB(size, weights);
  OGLM_CHECK_ERR("glWeightusvARB", free(weights);)
  OGLM_OUT_FINISH(weights,size,newSVuv)
  free(weights);
#line 88360 "lib/OpenGL/Modern.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLdouble	x = (double)SvNV(ST(0))
;
	GLdouble	y = (double)SvNV(ST(1))
;
#line 43915 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2d", )
  OGLM_AVAIL_CHECK(__glewWindowPos2d, glWindowPos2d)
  glWindowPos2d(x, y);
  OGLM_CHECK_ERR("glWindowPos2d", )
#line 88385 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 43928 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2dv", )
  OGLM_AVAIL_CHECK(__glewWindowPos2dv, glWindowPos2dv)
  glWindowPos2dv(v);
  OGLM_CHECK_ERR("glWindowPos2dv", )
#line 88407 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 43940 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2dv", )
  OGLM_AVAIL_CHECK(__glewWindowPos2dv, glWindowPos2dv)
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,2);
  glWindowPos2dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glWindowPos2dv", free(v);)
  free(v);
#line 88429 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLfloat	x = (float)SvNV(ST(0))
;
	GLfloat	y = (float)SvNV(ST(1))
;
#line 43956 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2f", )
  OGLM_AVAIL_CHECK(__glewWindowPos2f, glWindowPos2f)
  glWindowPos2f(x, y);
  OGLM_CHECK_ERR("glWindowPos2f", )
#line 88453 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 43969 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2fv", )
  OGLM_AVAIL_CHECK(__glewWindowPos2fv, glWindowPos2fv)
  glWindowPos2fv(v);
  OGLM_CHECK_ERR("glWindowPos2fv", )
#line 88475 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 43981 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2fv", )
  OGLM_AVAIL_CHECK(__glewWindowPos2fv, glWindowPos2fv)
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,2);
  glWindowPos2fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glWindowPos2fv", free(v);)
  free(v);
#line 88497 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
#line 43997 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2i", )
  OGLM_AVAIL_CHECK(__glewWindowPos2i, glWindowPos2i)
  glWindowPos2i(x, y);
  OGLM_CHECK_ERR("glWindowPos2i", )
#line 88521 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 44010 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2iv", )
  OGLM_AVAIL_CHECK(__glewWindowPos2iv, glWindowPos2iv)
  glWindowPos2iv(v);
  OGLM_CHECK_ERR("glWindowPos2iv", )
#line 88543 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 44022 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2iv", )
  OGLM_AVAIL_CHECK(__glewWindowPos2iv, glWindowPos2iv)
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,2);
  glWindowPos2iv((const GLint *)v);
  OGLM_CHECK_ERR("glWindowPos2iv", free(v);)
  free(v);
#line 88565 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2s)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 2)
       croak_xs_usage(cv,  "x, y");
    {
	GLshort	x = (short)SvIV(ST(0))
;
	GLshort	y = (short)SvIV(ST(1))
;
#line 44038 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2s", )
  OGLM_AVAIL_CHECK(__glewWindowPos2s, glWindowPos2s)
  glWindowPos2s(x, y);
  OGLM_CHECK_ERR("glWindowPos2s", )
#line 88589 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 44051 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2sv", )
  OGLM_AVAIL_CHECK(__glewWindowPos2sv, glWindowPos2sv)
  glWindowPos2sv(v);
  OGLM_CHECK_ERR("glWindowPos2sv", )
#line 88611 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos2sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos2sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 44063 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos2sv", )
  OGLM_AVAIL_CHECK(__glewWindowPos2sv, glWindowPos2sv)
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,2);
  glWindowPos2sv((const GLshort *)v);
  OGLM_CHECK_ERR("glWindowPos2sv", free(v);)
  free(v);
#line 88633 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3d); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3d)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLdouble	x = (double)SvNV(ST(0))
;
	GLdouble	y = (double)SvNV(ST(1))
;
	GLdouble	z = (double)SvNV(ST(2))
;
#line 44080 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3d", )
  OGLM_AVAIL_CHECK(__glewWindowPos3d, glWindowPos3d)
  glWindowPos3d(x, y, z);
  OGLM_CHECK_ERR("glWindowPos3d", )
#line 88659 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3dv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3dv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble *	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 44093 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3dv", )
  OGLM_AVAIL_CHECK(__glewWindowPos3dv, glWindowPos3dv)
  glWindowPos3dv(v);
  OGLM_CHECK_ERR("glWindowPos3dv", )
#line 88681 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3dv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3dv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 44105 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3dv", )
  OGLM_AVAIL_CHECK(__glewWindowPos3dv, glWindowPos3dv)
  GLdouble *v = OGLM_GET_VARARGS(v,0,GLdouble,NV,3);
  glWindowPos3dv((const GLdouble *)v);
  OGLM_CHECK_ERR("glWindowPos3dv", free(v);)
  free(v);
#line 88703 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3f); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3f)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLfloat	x = (float)SvNV(ST(0))
;
	GLfloat	y = (float)SvNV(ST(1))
;
	GLfloat	z = (float)SvNV(ST(2))
;
#line 44122 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3f", )
  OGLM_AVAIL_CHECK(__glewWindowPos3f, glWindowPos3f)
  glWindowPos3f(x, y, z);
  OGLM_CHECK_ERR("glWindowPos3f", )
#line 88729 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3fv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3fv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat *	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 44135 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3fv", )
  OGLM_AVAIL_CHECK(__glewWindowPos3fv, glWindowPos3fv)
  glWindowPos3fv(v);
  OGLM_CHECK_ERR("glWindowPos3fv", )
#line 88751 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3fv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3fv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 44147 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3fv", )
  OGLM_AVAIL_CHECK(__glewWindowPos3fv, glWindowPos3fv)
  GLfloat *v = OGLM_GET_VARARGS(v,0,GLfloat,NV,3);
  glWindowPos3fv((const GLfloat *)v);
  OGLM_CHECK_ERR("glWindowPos3fv", free(v);)
  free(v);
#line 88773 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3i); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3i)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLint	z = (int)SvIV(ST(2))
;
#line 44164 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3i", )
  OGLM_AVAIL_CHECK(__glewWindowPos3i, glWindowPos3i)
  glWindowPos3i(x, y, z);
  OGLM_CHECK_ERR("glWindowPos3i", )
#line 88799 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3iv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3iv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint *	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 44177 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3iv", )
  OGLM_AVAIL_CHECK(__glewWindowPos3iv, glWindowPos3iv)
  glWindowPos3iv(v);
  OGLM_CHECK_ERR("glWindowPos3iv", )
#line 88821 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3iv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3iv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 44189 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3iv", )
  OGLM_AVAIL_CHECK(__glewWindowPos3iv, glWindowPos3iv)
  GLint *v = OGLM_GET_VARARGS(v,0,GLint,IV,3);
  glWindowPos3iv((const GLint *)v);
  OGLM_CHECK_ERR("glWindowPos3iv", free(v);)
  free(v);
#line 88843 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3s)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 3)
       croak_xs_usage(cv,  "x, y, z");
    {
	GLshort	x = (short)SvIV(ST(0))
;
	GLshort	y = (short)SvIV(ST(1))
;
	GLshort	z = (short)SvIV(ST(2))
;
#line 44206 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3s", )
  OGLM_AVAIL_CHECK(__glewWindowPos3s, glWindowPos3s)
  glWindowPos3s(x, y, z);
  OGLM_CHECK_ERR("glWindowPos3s", )
#line 88869 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3sv_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3sv_c)
{
    dVAR; dXSARGS;
    dXSI32;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort *	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 44219 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3sv", )
  OGLM_AVAIL_CHECK(__glewWindowPos3sv, glWindowPos3sv)
  glWindowPos3sv(v);
  OGLM_CHECK_ERR("glWindowPos3sv", )
#line 88891 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos3sv_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos3sv_p)
{
    dVAR; dXSARGS;
    dXSI32;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 44231 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos3sv", )
  OGLM_AVAIL_CHECK(__glewWindowPos3sv, glWindowPos3sv)
  GLshort *v = OGLM_GET_VARARGS(v,0,GLshort,IV,3);
  glWindowPos3sv((const GLshort *)v);
  OGLM_CHECK_ERR("glWindowPos3sv", free(v);)
  free(v);
#line 88913 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4dMESA); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4dMESA)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, param4");
    {
	GLdouble	x = (double)SvNV(ST(0))
;
	GLdouble	y = (double)SvNV(ST(1))
;
	GLdouble	z = (double)SvNV(ST(2))
;
	GLdouble	param4 = (double)SvNV(ST(3))
;
#line 44246 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4dMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4dMESA, glWindowPos4dMESA)
  glWindowPos4dMESA(x, y, z, param4);
  OGLM_CHECK_ERR("glWindowPos4dMESA", )
#line 88940 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4dvMESA_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4dvMESA_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLdouble*	v = INT2PTR(const GLdouble *,SvIV(ST(0)))
;
#line 44256 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4dvMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4dvMESA, glWindowPos4dvMESA)
  glWindowPos4dvMESA(v);
  OGLM_CHECK_ERR("glWindowPos4dvMESA", )
#line 88961 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4dvMESA_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4dvMESA_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 44265 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4dvMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4dvMESA, glWindowPos4dvMESA)
  GLdouble* v = OGLM_GET_VARARGS(v,0,GLdouble,NV,4);
  glWindowPos4dvMESA((const GLdouble* )v);
  OGLM_CHECK_ERR("glWindowPos4dvMESA", free(v);)
  free(v);
#line 88982 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4fMESA); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4fMESA)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLfloat	x = (float)SvNV(ST(0))
;
	GLfloat	y = (float)SvNV(ST(1))
;
	GLfloat	z = (float)SvNV(ST(2))
;
	GLfloat	w = (float)SvNV(ST(3))
;
#line 44280 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4fMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4fMESA, glWindowPos4fMESA)
  glWindowPos4fMESA(x, y, z, w);
  OGLM_CHECK_ERR("glWindowPos4fMESA", )
#line 89009 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4fvMESA_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4fvMESA_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLfloat*	v = INT2PTR(const GLfloat *,SvIV(ST(0)))
;
#line 44290 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4fvMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4fvMESA, glWindowPos4fvMESA)
  glWindowPos4fvMESA(v);
  OGLM_CHECK_ERR("glWindowPos4fvMESA", )
#line 89030 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4fvMESA_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4fvMESA_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 44299 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4fvMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4fvMESA, glWindowPos4fvMESA)
  GLfloat* v = OGLM_GET_VARARGS(v,0,GLfloat,NV,4);
  glWindowPos4fvMESA((const GLfloat* )v);
  OGLM_CHECK_ERR("glWindowPos4fvMESA", free(v);)
  free(v);
#line 89051 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4iMESA); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4iMESA)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLint	x = (int)SvIV(ST(0))
;
	GLint	y = (int)SvIV(ST(1))
;
	GLint	z = (int)SvIV(ST(2))
;
	GLint	w = (int)SvIV(ST(3))
;
#line 44314 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4iMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4iMESA, glWindowPos4iMESA)
  glWindowPos4iMESA(x, y, z, w);
  OGLM_CHECK_ERR("glWindowPos4iMESA", )
#line 89078 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4ivMESA_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4ivMESA_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLint*	v = INT2PTR(const GLint *,SvIV(ST(0)))
;
#line 44324 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4ivMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4ivMESA, glWindowPos4ivMESA)
  glWindowPos4ivMESA(v);
  OGLM_CHECK_ERR("glWindowPos4ivMESA", )
#line 89099 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4ivMESA_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4ivMESA_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 44333 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4ivMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4ivMESA, glWindowPos4ivMESA)
  GLint* v = OGLM_GET_VARARGS(v,0,GLint,IV,4);
  glWindowPos4ivMESA((const GLint* )v);
  OGLM_CHECK_ERR("glWindowPos4ivMESA", free(v);)
  free(v);
#line 89120 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4sMESA); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4sMESA)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "x, y, z, w");
    {
	GLshort	x = (short)SvIV(ST(0))
;
	GLshort	y = (short)SvIV(ST(1))
;
	GLshort	z = (short)SvIV(ST(2))
;
	GLshort	w = (short)SvIV(ST(3))
;
#line 44348 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4sMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4sMESA, glWindowPos4sMESA)
  glWindowPos4sMESA(x, y, z, w);
  OGLM_CHECK_ERR("glWindowPos4sMESA", )
#line 89147 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4svMESA_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4svMESA_c)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	const GLshort*	v = INT2PTR(const GLshort *,SvIV(ST(0)))
;
#line 44358 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4svMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4svMESA, glWindowPos4svMESA)
  glWindowPos4svMESA(v);
  OGLM_CHECK_ERR("glWindowPos4svMESA", )
#line 89168 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowPos4svMESA_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowPos4svMESA_p)
{
    dVAR; dXSARGS;
    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
    {
#line 44367 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowPos4svMESA", )
  OGLM_AVAIL_CHECK(__glewWindowPos4svMESA, glWindowPos4svMESA)
  GLshort* v = OGLM_GET_VARARGS(v,0,GLshort,IV,4);
  glWindowPos4svMESA((const GLshort* )v);
  OGLM_CHECK_ERR("glWindowPos4svMESA", free(v);)
  free(v);
#line 89189 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowRectanglesEXT_c); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowRectanglesEXT_c)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "mode, count, box");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	const GLint *	box = INT2PTR(const GLint *,SvIV(ST(2)))
;
#line 44381 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowRectanglesEXT", )
  OGLM_AVAIL_CHECK(__glewWindowRectanglesEXT, glWindowRectanglesEXT)
  glWindowRectanglesEXT(mode, count, box);
  OGLM_CHECK_ERR("glWindowRectanglesEXT", )
#line 89214 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWindowRectanglesEXT_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWindowRectanglesEXT_p)
{
    dVAR; dXSARGS;
    if (items < 1)
       croak_xs_usage(cv,  "mode, ...");
    {
	GLenum	mode = (int)SvIV(ST(0))
;
#line 44391 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWindowRectanglesEXT", )
  OGLM_AVAIL_CHECK(__glewWindowRectanglesEXT, glWindowRectanglesEXT)
  GLsizei count = items-1;
  GLint * box = OGLM_GET_VARARGS(box,1,GLint,IV,count);
  glWindowRectanglesEXT((GLenum )mode, (GLsizei )count, (const GLint * )box);
  OGLM_CHECK_ERR("glWindowRectanglesEXT", free(box);)
  free(box);
#line 89238 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL__Modern_glWriteMaskEXT); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL__Modern_glWriteMaskEXT)
{
    dVAR; dXSARGS;
    if (items != 6)
       croak_xs_usage(cv,  "res, in, outX, outY, outZ, outW");
    {
	GLuint	res = (unsigned int)SvUV(ST(0))
;
	GLuint	in = (unsigned int)SvUV(ST(1))
;
	GLenum	outX = (int)SvIV(ST(2))
;
	GLenum	outY = (int)SvIV(ST(3))
;
	GLenum	outZ = (int)SvIV(ST(4))
;
	GLenum	outW = (int)SvIV(ST(5))
;
#line 44409 "lib/OpenGL/../../auto-xs.inc"
  OGLM_GLEWINIT
  OGLM_CHECK_ERR("glWriteMaskEXT", )
  OGLM_AVAIL_CHECK(__glewWriteMaskEXT, glWriteMaskEXT)
  glWriteMaskEXT(res, in, outX, outY, outZ, outW);
  OGLM_CHECK_ERR("glWriteMaskEXT", )
#line 89269 "lib/OpenGL/Modern.c"
    }
    XSRETURN_EMPTY;
}


/* INCLUDE: Returning to 'Modern.xs' from '../../auto-xs.inc' */

#ifdef __cplusplus
extern "C" {
#endif
XS_EXTERNAL(boot_OpenGL__Modern); /* prototype to pass -Wmissing-prototypes */
XS_EXTERNAL(boot_OpenGL__Modern)
{
#if PERL_VERSION_LE(5, 21, 5)
    dVAR; dXSARGS;
#else
    dVAR; dXSBOOTARGSXSAPIVERCHK;
#endif
#if PERL_VERSION_LE(5, 8, 999) /* PERL_VERSION_LT is 5.33+ */
    char* file = __FILE__;
#else
    const char* file = __FILE__;
#endif

    PERL_UNUSED_VAR(file);

    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
#if PERL_VERSION_LE(5, 21, 5)
    XS_VERSION_BOOTCHECK;
#  ifdef XS_APIVERSION_BOOTCHECK
    XS_APIVERSION_BOOTCHECK;
#  endif
#endif

        newXS_deffile("OpenGL::Modern::glewCreateContext", XS_OpenGL__Modern_glewCreateContext);
        newXS_deffile("OpenGL::Modern::glewHasContext", XS_OpenGL__Modern_glewHasContext);
        newXS_deffile("OpenGL::Modern::glewDestroyContext", XS_OpenGL__Modern_glewDestroyContext);
        newXS_deffile("OpenGL::Modern::glewInit", XS_OpenGL__Modern_glewInit);
        newXS_deffile("OpenGL::Modern::glewGetErrorString", XS_OpenGL__Modern_glewGetErrorString);
        newXS_deffile("OpenGL::Modern::glewGetString", XS_OpenGL__Modern_glewGetString);
        newXS_deffile("OpenGL::Modern::glewIsSupported", XS_OpenGL__Modern_glewIsSupported);
        newXS_deffile("OpenGL::Modern::done_glewInit", XS_OpenGL__Modern_done_glewInit);
        newXS_deffile("OpenGL::Modern::glpSetAutoCheckErrors", XS_OpenGL__Modern_glpSetAutoCheckErrors);
        newXS_deffile("OpenGL::Modern::glpCheckErrors", XS_OpenGL__Modern_glpCheckErrors);
        newXS_deffile("OpenGL::Modern::glpErrorString", XS_OpenGL__Modern_glpErrorString);
        newXS_deffile("OpenGL::Modern::glAccum", XS_OpenGL__Modern_glAccum);
        newXS_deffile("OpenGL::Modern::glAcquireKeyedMutexWin32EXT", XS_OpenGL__Modern_glAcquireKeyedMutexWin32EXT);
        newXS_deffile("OpenGL::Modern::glActiveProgramEXT", XS_OpenGL__Modern_glActiveProgramEXT);
        newXS_deffile("OpenGL::Modern::glActiveShaderProgram", XS_OpenGL__Modern_glActiveShaderProgram);
        newXS_deffile("OpenGL::Modern::glActiveStencilFaceEXT", XS_OpenGL__Modern_glActiveStencilFaceEXT);
        cv = newXS_deffile("OpenGL::Modern::glActiveTexture", XS_OpenGL__Modern_glActiveTexture);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glActiveTextureARB", XS_OpenGL__Modern_glActiveTexture);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glActiveVaryingNV", XS_OpenGL__Modern_glActiveVaryingNV);
        newXS_deffile("OpenGL::Modern::glAddSwapHintRectWIN", XS_OpenGL__Modern_glAddSwapHintRectWIN);
        newXS_deffile("OpenGL::Modern::glAddressSpace", XS_OpenGL__Modern_glAddressSpace);
        newXS_deffile("OpenGL::Modern::glAllocMPEGPredictorsSGIX_c", XS_OpenGL__Modern_glAllocMPEGPredictorsSGIX_c);
        newXS_deffile("OpenGL::Modern::glAlphaFragmentOp1ATI", XS_OpenGL__Modern_glAlphaFragmentOp1ATI);
        newXS_deffile("OpenGL::Modern::glAlphaFragmentOp2ATI", XS_OpenGL__Modern_glAlphaFragmentOp2ATI);
        newXS_deffile("OpenGL::Modern::glAlphaFragmentOp3ATI", XS_OpenGL__Modern_glAlphaFragmentOp3ATI);
        newXS_deffile("OpenGL::Modern::glAlphaFunc", XS_OpenGL__Modern_glAlphaFunc);
        newXS_deffile("OpenGL::Modern::glAlphaFuncQCOM", XS_OpenGL__Modern_glAlphaFuncQCOM);
        newXS_deffile("OpenGL::Modern::glAlphaFuncx", XS_OpenGL__Modern_glAlphaFuncx);
        newXS_deffile("OpenGL::Modern::glAlphaToCoverageDitherControlNV", XS_OpenGL__Modern_glAlphaToCoverageDitherControlNV);
        newXS_deffile("OpenGL::Modern::glApplyFramebufferAttachmentCMAAINTEL", XS_OpenGL__Modern_glApplyFramebufferAttachmentCMAAINTEL);
        newXS_deffile("OpenGL::Modern::glApplyTextureEXT", XS_OpenGL__Modern_glApplyTextureEXT);
        newXS_deffile("OpenGL::Modern::glAreProgramsResidentNV_c", XS_OpenGL__Modern_glAreProgramsResidentNV_c);
        newXS_deffile("OpenGL::Modern::glAreProgramsResidentNV_p", XS_OpenGL__Modern_glAreProgramsResidentNV_p);
        newXS_deffile("OpenGL::Modern::glAreTexturesResident_c", XS_OpenGL__Modern_glAreTexturesResident_c);
        newXS_deffile("OpenGL::Modern::glAreTexturesResident_p", XS_OpenGL__Modern_glAreTexturesResident_p);
        newXS_deffile("OpenGL::Modern::glAreTexturesResidentEXT_c", XS_OpenGL__Modern_glAreTexturesResidentEXT_c);
        newXS_deffile("OpenGL::Modern::glAreTexturesResidentEXT_p", XS_OpenGL__Modern_glAreTexturesResidentEXT_p);
        newXS_deffile("OpenGL::Modern::glAreVertexArraysResidentSGIX_c", XS_OpenGL__Modern_glAreVertexArraysResidentSGIX_c);
        cv = newXS_deffile("OpenGL::Modern::glArrayElement", XS_OpenGL__Modern_glArrayElement);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glArrayElementEXT", XS_OpenGL__Modern_glArrayElement);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glArrayObjectATI", XS_OpenGL__Modern_glArrayObjectATI);
        newXS_deffile("OpenGL::Modern::glAsyncCopyBufferSubDataNVX_c", XS_OpenGL__Modern_glAsyncCopyBufferSubDataNVX_c);
        newXS_deffile("OpenGL::Modern::glAsyncCopyBufferSubDataNVX_p", XS_OpenGL__Modern_glAsyncCopyBufferSubDataNVX_p);
        newXS_deffile("OpenGL::Modern::glAsyncCopyImageSubDataNVX_c", XS_OpenGL__Modern_glAsyncCopyImageSubDataNVX_c);
        newXS_deffile("OpenGL::Modern::glAsyncCopyImageSubDataNVX_p", XS_OpenGL__Modern_glAsyncCopyImageSubDataNVX_p);
        newXS_deffile("OpenGL::Modern::glAsyncMarkerSGIX", XS_OpenGL__Modern_glAsyncMarkerSGIX);
        newXS_deffile("OpenGL::Modern::glAttachObjectARB", XS_OpenGL__Modern_glAttachObjectARB);
        newXS_deffile("OpenGL::Modern::glAttachShader", XS_OpenGL__Modern_glAttachShader);
        newXS_deffile("OpenGL::Modern::glBegin", XS_OpenGL__Modern_glBegin);
        cv = newXS_deffile("OpenGL::Modern::glBeginConditionalRender", XS_OpenGL__Modern_glBeginConditionalRender);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBeginConditionalRenderNV", XS_OpenGL__Modern_glBeginConditionalRender);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glBeginConditionalRenderNVX", XS_OpenGL__Modern_glBeginConditionalRenderNVX);
        newXS_deffile("OpenGL::Modern::glBeginFragmentShaderATI", XS_OpenGL__Modern_glBeginFragmentShaderATI);
        newXS_deffile("OpenGL::Modern::glBeginOcclusionQueryNV", XS_OpenGL__Modern_glBeginOcclusionQueryNV);
        newXS_deffile("OpenGL::Modern::glBeginPerfMonitorAMD", XS_OpenGL__Modern_glBeginPerfMonitorAMD);
        newXS_deffile("OpenGL::Modern::glBeginPerfQueryINTEL", XS_OpenGL__Modern_glBeginPerfQueryINTEL);
        cv = newXS_deffile("OpenGL::Modern::glBeginQuery", XS_OpenGL__Modern_glBeginQuery);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBeginQueryARB", XS_OpenGL__Modern_glBeginQuery);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glBeginQueryANGLE", XS_OpenGL__Modern_glBeginQueryANGLE);
        newXS_deffile("OpenGL::Modern::glBeginQueryEXT", XS_OpenGL__Modern_glBeginQueryEXT);
        newXS_deffile("OpenGL::Modern::glBeginQueryIndexed", XS_OpenGL__Modern_glBeginQueryIndexed);
        newXS_deffile("OpenGL::Modern::glBeginSceneEXT", XS_OpenGL__Modern_glBeginSceneEXT);
        cv = newXS_deffile("OpenGL::Modern::glBeginTransformFeedback", XS_OpenGL__Modern_glBeginTransformFeedback);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBeginTransformFeedbackEXT", XS_OpenGL__Modern_glBeginTransformFeedback);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBeginTransformFeedbackNV", XS_OpenGL__Modern_glBeginTransformFeedback);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glBeginVertexShaderEXT", XS_OpenGL__Modern_glBeginVertexShaderEXT);
        newXS_deffile("OpenGL::Modern::glBeginVideoCaptureNV", XS_OpenGL__Modern_glBeginVideoCaptureNV);
        newXS_deffile("OpenGL::Modern::glBindArraySetEXT_c", XS_OpenGL__Modern_glBindArraySetEXT_c);
        newXS_deffile("OpenGL::Modern::glBindAttribLocation", XS_OpenGL__Modern_glBindAttribLocation);
        newXS_deffile("OpenGL::Modern::glBindAttribLocationARB", XS_OpenGL__Modern_glBindAttribLocationARB);
        cv = newXS_deffile("OpenGL::Modern::glBindBuffer", XS_OpenGL__Modern_glBindBuffer);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBindBufferARB", XS_OpenGL__Modern_glBindBuffer);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBindBufferBase", XS_OpenGL__Modern_glBindBufferBase);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBindBufferBaseEXT", XS_OpenGL__Modern_glBindBufferBase);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBindBufferBaseNV", XS_OpenGL__Modern_glBindBufferBase);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glBindBufferOffsetEXT", XS_OpenGL__Modern_glBindBufferOffsetEXT);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBindBufferOffsetNV", XS_OpenGL__Modern_glBindBufferOffsetEXT);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBindBufferRange", XS_OpenGL__Modern_glBindBufferRange);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBindBufferRangeEXT", XS_OpenGL__Modern_glBindBufferRange);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBindBufferRangeNV", XS_OpenGL__Modern_glBindBufferRange);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glBindBuffersBase_c", XS_OpenGL__Modern_glBindBuffersBase_c);
        newXS_deffile("OpenGL::Modern::glBindBuffersBase_p", XS_OpenGL__Modern_glBindBuffersBase_p);
        newXS_deffile("OpenGL::Modern::glBindBuffersRange_c", XS_OpenGL__Modern_glBindBuffersRange_c);
        cv = newXS_deffile("OpenGL::Modern::glBindFragDataLocation", XS_OpenGL__Modern_glBindFragDataLocation);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBindFragDataLocationEXT", XS_OpenGL__Modern_glBindFragDataLocation);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBindFragDataLocationIndexed", XS_OpenGL__Modern_glBindFragDataLocationIndexed);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBindFragDataLocationIndexedEXT", XS_OpenGL__Modern_glBindFragDataLocationIndexed);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glBindFragmentShaderATI", XS_OpenGL__Modern_glBindFragmentShaderATI);
        newXS_deffile("OpenGL::Modern::glBindFramebuffer", XS_OpenGL__Modern_glBindFramebuffer);
        newXS_deffile("OpenGL::Modern::glBindFramebufferEXT", XS_OpenGL__Modern_glBindFramebufferEXT);
        newXS_deffile("OpenGL::Modern::glBindFramebufferOES", XS_OpenGL__Modern_glBindFramebufferOES);
        newXS_deffile("OpenGL::Modern::glBindImageTexture", XS_OpenGL__Modern_glBindImageTexture);
        newXS_deffile("OpenGL::Modern::glBindImageTextureEXT", XS_OpenGL__Modern_glBindImageTextureEXT);
        newXS_deffile("OpenGL::Modern::glBindImageTextures_c", XS_OpenGL__Modern_glBindImageTextures_c);
        newXS_deffile("OpenGL::Modern::glBindImageTextures_p", XS_OpenGL__Modern_glBindImageTextures_p);
        newXS_deffile("OpenGL::Modern::glBindLightParameterEXT", XS_OpenGL__Modern_glBindLightParameterEXT);
        newXS_deffile("OpenGL::Modern::glBindMaterialParameterEXT", XS_OpenGL__Modern_glBindMaterialParameterEXT);
        newXS_deffile("OpenGL::Modern::glBindMultiTextureEXT", XS_OpenGL__Modern_glBindMultiTextureEXT);
        newXS_deffile("OpenGL::Modern::glBindParameterEXT", XS_OpenGL__Modern_glBindParameterEXT);
        cv = newXS_deffile("OpenGL::Modern::glBindProgramARB", XS_OpenGL__Modern_glBindProgramARB);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBindProgramNV", XS_OpenGL__Modern_glBindProgramARB);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glBindProgramPipeline", XS_OpenGL__Modern_glBindProgramPipeline);
        newXS_deffile("OpenGL::Modern::glBindRenderbuffer", XS_OpenGL__Modern_glBindRenderbuffer);
        newXS_deffile("OpenGL::Modern::glBindRenderbufferEXT", XS_OpenGL__Modern_glBindRenderbufferEXT);
        newXS_deffile("OpenGL::Modern::glBindRenderbufferOES", XS_OpenGL__Modern_glBindRenderbufferOES);
        newXS_deffile("OpenGL::Modern::glBindSampler", XS_OpenGL__Modern_glBindSampler);
        newXS_deffile("OpenGL::Modern::glBindSamplers_c", XS_OpenGL__Modern_glBindSamplers_c);
        newXS_deffile("OpenGL::Modern::glBindSamplers_p", XS_OpenGL__Modern_glBindSamplers_p);
        newXS_deffile("OpenGL::Modern::glBindShadingRateImageNV", XS_OpenGL__Modern_glBindShadingRateImageNV);
        newXS_deffile("OpenGL::Modern::glBindTexGenParameterEXT", XS_OpenGL__Modern_glBindTexGenParameterEXT);
        cv = newXS_deffile("OpenGL::Modern::glBindTexture", XS_OpenGL__Modern_glBindTexture);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBindTextureEXT", XS_OpenGL__Modern_glBindTexture);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glBindTextureUnit", XS_OpenGL__Modern_glBindTextureUnit);
        newXS_deffile("OpenGL::Modern::glBindTextureUnitParameterEXT", XS_OpenGL__Modern_glBindTextureUnitParameterEXT);
        newXS_deffile("OpenGL::Modern::glBindTextures_c", XS_OpenGL__Modern_glBindTextures_c);
        newXS_deffile("OpenGL::Modern::glBindTextures_p", XS_OpenGL__Modern_glBindTextures_p);
        newXS_deffile("OpenGL::Modern::glBindTransformFeedback", XS_OpenGL__Modern_glBindTransformFeedback);
        newXS_deffile("OpenGL::Modern::glBindTransformFeedbackNV", XS_OpenGL__Modern_glBindTransformFeedbackNV);
        newXS_deffile("OpenGL::Modern::glBindVertexArray", XS_OpenGL__Modern_glBindVertexArray);
        newXS_deffile("OpenGL::Modern::glBindVertexArrayAPPLE", XS_OpenGL__Modern_glBindVertexArrayAPPLE);
        newXS_deffile("OpenGL::Modern::glBindVertexArrayOES", XS_OpenGL__Modern_glBindVertexArrayOES);
        newXS_deffile("OpenGL::Modern::glBindVertexArraySGIX", XS_OpenGL__Modern_glBindVertexArraySGIX);
        newXS_deffile("OpenGL::Modern::glBindVertexBuffer", XS_OpenGL__Modern_glBindVertexBuffer);
        newXS_deffile("OpenGL::Modern::glBindVertexBuffers_c", XS_OpenGL__Modern_glBindVertexBuffers_c);
        newXS_deffile("OpenGL::Modern::glBindVertexShaderEXT", XS_OpenGL__Modern_glBindVertexShaderEXT);
        newXS_deffile("OpenGL::Modern::glBindVideoCaptureStreamBufferNV", XS_OpenGL__Modern_glBindVideoCaptureStreamBufferNV);
        newXS_deffile("OpenGL::Modern::glBindVideoCaptureStreamTextureNV", XS_OpenGL__Modern_glBindVideoCaptureStreamTextureNV);
        newXS_deffile("OpenGL::Modern::glBinormalPointerEXT_c", XS_OpenGL__Modern_glBinormalPointerEXT_c);
        newXS_deffile("OpenGL::Modern::glBitmap", XS_OpenGL__Modern_glBitmap);
        cv = newXS_deffile("OpenGL::Modern::glBlendBarrier", XS_OpenGL__Modern_glBlendBarrierKHR);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBlendBarrierKHR", XS_OpenGL__Modern_glBlendBarrierKHR);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBlendBarrierNV", XS_OpenGL__Modern_glBlendBarrierKHR);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glBlendColor", XS_OpenGL__Modern_glBlendColor);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBlendColorEXT", XS_OpenGL__Modern_glBlendColor);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBlendEquation", XS_OpenGL__Modern_glBlendEquation);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBlendEquationEXT", XS_OpenGL__Modern_glBlendEquation);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glBlendEquationOES", XS_OpenGL__Modern_glBlendEquationOES);
        cv = newXS_deffile("OpenGL::Modern::glBlendEquationSeparate", XS_OpenGL__Modern_glBlendEquationSeparate);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBlendEquationSeparateEXT", XS_OpenGL__Modern_glBlendEquationSeparate);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glBlendEquationSeparateOES", XS_OpenGL__Modern_glBlendEquationSeparateOES);
        cv = newXS_deffile("OpenGL::Modern::glBlendEquationSeparateIndexedAMD", XS_OpenGL__Modern_glBlendEquationSeparatei);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBlendEquationSeparatei", XS_OpenGL__Modern_glBlendEquationSeparatei);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBlendEquationSeparateiARB", XS_OpenGL__Modern_glBlendEquationSeparatei);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glBlendEquationSeparateiEXT", XS_OpenGL__Modern_glBlendEquationSeparatei);
        XSANY.any_i32 = 3;
        newXS_deffile("OpenGL::Modern::glBlendEquationSeparateiOES", XS_OpenGL__Modern_glBlendEquationSeparateiOES);
        cv = newXS_deffile("OpenGL::Modern::glBlendEquationIndexedAMD", XS_OpenGL__Modern_glBlendEquationi);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBlendEquationi", XS_OpenGL__Modern_glBlendEquationi);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBlendEquationiARB", XS_OpenGL__Modern_glBlendEquationi);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glBlendEquationiEXT", XS_OpenGL__Modern_glBlendEquationi);
        XSANY.any_i32 = 3;
        newXS_deffile("OpenGL::Modern::glBlendEquationiOES", XS_OpenGL__Modern_glBlendEquationiOES);
        newXS_deffile("OpenGL::Modern::glBlendFunc", XS_OpenGL__Modern_glBlendFunc);
        cv = newXS_deffile("OpenGL::Modern::glBlendFuncSeparate", XS_OpenGL__Modern_glBlendFuncSeparate);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBlendFuncSeparateEXT", XS_OpenGL__Modern_glBlendFuncSeparate);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBlendFuncSeparateINGR", XS_OpenGL__Modern_glBlendFuncSeparate);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glBlendFuncSeparateOES", XS_OpenGL__Modern_glBlendFuncSeparateOES);
        cv = newXS_deffile("OpenGL::Modern::glBlendFuncSeparateIndexedAMD", XS_OpenGL__Modern_glBlendFuncSeparatei);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBlendFuncSeparatei", XS_OpenGL__Modern_glBlendFuncSeparatei);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBlendFuncSeparateiARB", XS_OpenGL__Modern_glBlendFuncSeparatei);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glBlendFuncSeparateiEXT", XS_OpenGL__Modern_glBlendFuncSeparatei);
        XSANY.any_i32 = 3;
        newXS_deffile("OpenGL::Modern::glBlendFuncSeparateiOES", XS_OpenGL__Modern_glBlendFuncSeparateiOES);
        cv = newXS_deffile("OpenGL::Modern::glBlendFuncIndexedAMD", XS_OpenGL__Modern_glBlendFunci);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBlendFunci", XS_OpenGL__Modern_glBlendFunci);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBlendFunciARB", XS_OpenGL__Modern_glBlendFunci);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glBlendFunciEXT", XS_OpenGL__Modern_glBlendFunci);
        XSANY.any_i32 = 3;
        newXS_deffile("OpenGL::Modern::glBlendFunciOES", XS_OpenGL__Modern_glBlendFunciOES);
        newXS_deffile("OpenGL::Modern::glBlendParameteriNV", XS_OpenGL__Modern_glBlendParameteriNV);
        cv = newXS_deffile("OpenGL::Modern::glBlitFramebuffer", XS_OpenGL__Modern_glBlitFramebuffer);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glBlitFramebufferEXT", XS_OpenGL__Modern_glBlitFramebuffer);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBlitFramebufferNV", XS_OpenGL__Modern_glBlitFramebuffer);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glBlitFramebufferANGLE", XS_OpenGL__Modern_glBlitFramebufferANGLE);
        newXS_deffile("OpenGL::Modern::glBlitFramebufferLayerEXT", XS_OpenGL__Modern_glBlitFramebufferLayerEXT);
        newXS_deffile("OpenGL::Modern::glBlitFramebufferLayersEXT", XS_OpenGL__Modern_glBlitFramebufferLayersEXT);
        newXS_deffile("OpenGL::Modern::glBlitNamedFramebuffer", XS_OpenGL__Modern_glBlitNamedFramebuffer);
        newXS_deffile("OpenGL::Modern::glBufferAddressRangeNV", XS_OpenGL__Modern_glBufferAddressRangeNV);
        newXS_deffile("OpenGL::Modern::glBufferAttachMemoryNV", XS_OpenGL__Modern_glBufferAttachMemoryNV);
        cv = newXS_deffile("OpenGL::Modern::glBufferDataARB_c", XS_OpenGL__Modern_glBufferData_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBufferData_c", XS_OpenGL__Modern_glBufferData_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glBufferPageCommitmentARB", XS_OpenGL__Modern_glBufferPageCommitmentARB);
        newXS_deffile("OpenGL::Modern::glBufferPageCommitmentMemNV", XS_OpenGL__Modern_glBufferPageCommitmentMemNV);
        newXS_deffile("OpenGL::Modern::glBufferParameteriAPPLE", XS_OpenGL__Modern_glBufferParameteriAPPLE);
        newXS_deffile("OpenGL::Modern::glBufferRegionEnabled", XS_OpenGL__Modern_glBufferRegionEnabled);
        cv = newXS_deffile("OpenGL::Modern::glBufferStorageEXT_c", XS_OpenGL__Modern_glBufferStorage_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBufferStorage_c", XS_OpenGL__Modern_glBufferStorage_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glBufferStorageExternalEXT", XS_OpenGL__Modern_glBufferStorageExternalEXT);
        newXS_deffile("OpenGL::Modern::glBufferStorageMemEXT", XS_OpenGL__Modern_glBufferStorageMemEXT);
        cv = newXS_deffile("OpenGL::Modern::glBufferSubDataARB_c", XS_OpenGL__Modern_glBufferSubData_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glBufferSubData_c", XS_OpenGL__Modern_glBufferSubData_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glCallCommandListNV", XS_OpenGL__Modern_glCallCommandListNV);
        newXS_deffile("OpenGL::Modern::glCallList", XS_OpenGL__Modern_glCallList);
        newXS_deffile("OpenGL::Modern::glCallLists_c", XS_OpenGL__Modern_glCallLists_c);
        cv = newXS_deffile("OpenGL::Modern::glCheckFramebufferStatus", XS_OpenGL__Modern_glCheckFramebufferStatus);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCheckFramebufferStatusEXT", XS_OpenGL__Modern_glCheckFramebufferStatus);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glCheckFramebufferStatusOES", XS_OpenGL__Modern_glCheckFramebufferStatusOES);
        newXS_deffile("OpenGL::Modern::glCheckNamedFramebufferStatus", XS_OpenGL__Modern_glCheckNamedFramebufferStatus);
        newXS_deffile("OpenGL::Modern::glCheckNamedFramebufferStatusEXT", XS_OpenGL__Modern_glCheckNamedFramebufferStatusEXT);
        cv = newXS_deffile("OpenGL::Modern::glClampColor", XS_OpenGL__Modern_glClampColor);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glClampColorARB", XS_OpenGL__Modern_glClampColor);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glClear", XS_OpenGL__Modern_glClear);
        newXS_deffile("OpenGL::Modern::glClearAccum", XS_OpenGL__Modern_glClearAccum);
        newXS_deffile("OpenGL::Modern::glClearBufferData_c", XS_OpenGL__Modern_glClearBufferData_c);
        newXS_deffile("OpenGL::Modern::glClearBufferSubData_c", XS_OpenGL__Modern_glClearBufferSubData_c);
        newXS_deffile("OpenGL::Modern::glClearBufferfi", XS_OpenGL__Modern_glClearBufferfi);
        newXS_deffile("OpenGL::Modern::glClearBufferfv_c", XS_OpenGL__Modern_glClearBufferfv_c);
        newXS_deffile("OpenGL::Modern::glClearBufferfv_p", XS_OpenGL__Modern_glClearBufferfv_p);
        newXS_deffile("OpenGL::Modern::glClearBufferiv_c", XS_OpenGL__Modern_glClearBufferiv_c);
        newXS_deffile("OpenGL::Modern::glClearBufferiv_p", XS_OpenGL__Modern_glClearBufferiv_p);
        newXS_deffile("OpenGL::Modern::glClearBufferuiv_c", XS_OpenGL__Modern_glClearBufferuiv_c);
        newXS_deffile("OpenGL::Modern::glClearBufferuiv_p", XS_OpenGL__Modern_glClearBufferuiv_p);
        newXS_deffile("OpenGL::Modern::glClearColor", XS_OpenGL__Modern_glClearColor);
        newXS_deffile("OpenGL::Modern::glClearColorIiEXT", XS_OpenGL__Modern_glClearColorIiEXT);
        newXS_deffile("OpenGL::Modern::glClearColorIuiEXT", XS_OpenGL__Modern_glClearColorIuiEXT);
        newXS_deffile("OpenGL::Modern::glClearColorx", XS_OpenGL__Modern_glClearColorx);
        newXS_deffile("OpenGL::Modern::glClearDepth", XS_OpenGL__Modern_glClearDepth);
        newXS_deffile("OpenGL::Modern::glClearDepthdNV", XS_OpenGL__Modern_glClearDepthdNV);
        newXS_deffile("OpenGL::Modern::glClearDepthf", XS_OpenGL__Modern_glClearDepthf);
        newXS_deffile("OpenGL::Modern::glClearDepthfOES", XS_OpenGL__Modern_glClearDepthfOES);
        newXS_deffile("OpenGL::Modern::glClearDepthx", XS_OpenGL__Modern_glClearDepthx);
        newXS_deffile("OpenGL::Modern::glClearIndex", XS_OpenGL__Modern_glClearIndex);
        newXS_deffile("OpenGL::Modern::glClearNamedBufferData_c", XS_OpenGL__Modern_glClearNamedBufferData_c);
        newXS_deffile("OpenGL::Modern::glClearNamedBufferDataEXT_c", XS_OpenGL__Modern_glClearNamedBufferDataEXT_c);
        newXS_deffile("OpenGL::Modern::glClearNamedBufferSubData_c", XS_OpenGL__Modern_glClearNamedBufferSubData_c);
        newXS_deffile("OpenGL::Modern::glClearNamedBufferSubDataEXT_c", XS_OpenGL__Modern_glClearNamedBufferSubDataEXT_c);
        newXS_deffile("OpenGL::Modern::glClearNamedFramebufferfi", XS_OpenGL__Modern_glClearNamedFramebufferfi);
        newXS_deffile("OpenGL::Modern::glClearNamedFramebufferfv_c", XS_OpenGL__Modern_glClearNamedFramebufferfv_c);
        newXS_deffile("OpenGL::Modern::glClearNamedFramebufferfv_p", XS_OpenGL__Modern_glClearNamedFramebufferfv_p);
        newXS_deffile("OpenGL::Modern::glClearNamedFramebufferiv_c", XS_OpenGL__Modern_glClearNamedFramebufferiv_c);
        newXS_deffile("OpenGL::Modern::glClearNamedFramebufferiv_p", XS_OpenGL__Modern_glClearNamedFramebufferiv_p);
        newXS_deffile("OpenGL::Modern::glClearNamedFramebufferuiv_c", XS_OpenGL__Modern_glClearNamedFramebufferuiv_c);
        newXS_deffile("OpenGL::Modern::glClearNamedFramebufferuiv_p", XS_OpenGL__Modern_glClearNamedFramebufferuiv_p);
        newXS_deffile("OpenGL::Modern::glClearPixelLocalStorageuiEXT_c", XS_OpenGL__Modern_glClearPixelLocalStorageuiEXT_c);
        newXS_deffile("OpenGL::Modern::glClearPixelLocalStorageuiEXT_p", XS_OpenGL__Modern_glClearPixelLocalStorageuiEXT_p);
        newXS_deffile("OpenGL::Modern::glClearStencil", XS_OpenGL__Modern_glClearStencil);
        cv = newXS_deffile("OpenGL::Modern::glClearTexImageEXT_c", XS_OpenGL__Modern_glClearTexImage_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glClearTexImage_c", XS_OpenGL__Modern_glClearTexImage_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glClearTexSubImageEXT_c", XS_OpenGL__Modern_glClearTexSubImage_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glClearTexSubImage_c", XS_OpenGL__Modern_glClearTexSubImage_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glClientActiveTexture", XS_OpenGL__Modern_glClientActiveTexture);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glClientActiveTextureARB", XS_OpenGL__Modern_glClientActiveTexture);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glClientActiveVertexStreamATI", XS_OpenGL__Modern_glClientActiveVertexStreamATI);
        newXS_deffile("OpenGL::Modern::glClientAttribDefaultEXT", XS_OpenGL__Modern_glClientAttribDefaultEXT);
        newXS_deffile("OpenGL::Modern::glClientWaitSemaphoreui64NVX_c", XS_OpenGL__Modern_glClientWaitSemaphoreui64NVX_c);
        newXS_deffile("OpenGL::Modern::glClientWaitSemaphoreui64NVX_p", XS_OpenGL__Modern_glClientWaitSemaphoreui64NVX_p);
        cv = newXS_deffile("OpenGL::Modern::glClientWaitSync", XS_OpenGL__Modern_glClientWaitSync);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glClientWaitSyncAPPLE", XS_OpenGL__Modern_glClientWaitSync);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glClipControl", XS_OpenGL__Modern_glClipControl);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glClipControlEXT", XS_OpenGL__Modern_glClipControl);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glClipPlane_c", XS_OpenGL__Modern_glClipPlane_c);
        newXS_deffile("OpenGL::Modern::glClipPlane_p", XS_OpenGL__Modern_glClipPlane_p);
        newXS_deffile("OpenGL::Modern::glClipPlanef_c", XS_OpenGL__Modern_glClipPlanef_c);
        newXS_deffile("OpenGL::Modern::glClipPlanef_p", XS_OpenGL__Modern_glClipPlanef_p);
        newXS_deffile("OpenGL::Modern::glClipPlanefOES_c", XS_OpenGL__Modern_glClipPlanefOES_c);
        newXS_deffile("OpenGL::Modern::glClipPlanex_c", XS_OpenGL__Modern_glClipPlanex_c);
        newXS_deffile("OpenGL::Modern::glClipPlanex_p", XS_OpenGL__Modern_glClipPlanex_p);
        newXS_deffile("OpenGL::Modern::glColor3b", XS_OpenGL__Modern_glColor3b);
        newXS_deffile("OpenGL::Modern::glColor3bv_c", XS_OpenGL__Modern_glColor3bv_c);
        newXS_deffile("OpenGL::Modern::glColor3bv_p", XS_OpenGL__Modern_glColor3bv_p);
        newXS_deffile("OpenGL::Modern::glColor3d", XS_OpenGL__Modern_glColor3d);
        newXS_deffile("OpenGL::Modern::glColor3dv_c", XS_OpenGL__Modern_glColor3dv_c);
        newXS_deffile("OpenGL::Modern::glColor3dv_p", XS_OpenGL__Modern_glColor3dv_p);
        newXS_deffile("OpenGL::Modern::glColor3f", XS_OpenGL__Modern_glColor3f);
        newXS_deffile("OpenGL::Modern::glColor3fVertex3fSUN", XS_OpenGL__Modern_glColor3fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glColor3fVertex3fvSUN_c", XS_OpenGL__Modern_glColor3fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glColor3fVertex3fvSUN_p", XS_OpenGL__Modern_glColor3fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glColor3fv_c", XS_OpenGL__Modern_glColor3fv_c);
        newXS_deffile("OpenGL::Modern::glColor3fv_p", XS_OpenGL__Modern_glColor3fv_p);
        newXS_deffile("OpenGL::Modern::glColor3hNV", XS_OpenGL__Modern_glColor3hNV);
        newXS_deffile("OpenGL::Modern::glColor3hvNV_c", XS_OpenGL__Modern_glColor3hvNV_c);
        newXS_deffile("OpenGL::Modern::glColor3hvNV_p", XS_OpenGL__Modern_glColor3hvNV_p);
        newXS_deffile("OpenGL::Modern::glColor3i", XS_OpenGL__Modern_glColor3i);
        newXS_deffile("OpenGL::Modern::glColor3iv_c", XS_OpenGL__Modern_glColor3iv_c);
        newXS_deffile("OpenGL::Modern::glColor3iv_p", XS_OpenGL__Modern_glColor3iv_p);
        newXS_deffile("OpenGL::Modern::glColor3s", XS_OpenGL__Modern_glColor3s);
        newXS_deffile("OpenGL::Modern::glColor3sv_c", XS_OpenGL__Modern_glColor3sv_c);
        newXS_deffile("OpenGL::Modern::glColor3sv_p", XS_OpenGL__Modern_glColor3sv_p);
        newXS_deffile("OpenGL::Modern::glColor3ub", XS_OpenGL__Modern_glColor3ub);
        newXS_deffile("OpenGL::Modern::glColor3ubv_c", XS_OpenGL__Modern_glColor3ubv_c);
        newXS_deffile("OpenGL::Modern::glColor3ubv_p", XS_OpenGL__Modern_glColor3ubv_p);
        newXS_deffile("OpenGL::Modern::glColor3ui", XS_OpenGL__Modern_glColor3ui);
        newXS_deffile("OpenGL::Modern::glColor3uiv_c", XS_OpenGL__Modern_glColor3uiv_c);
        newXS_deffile("OpenGL::Modern::glColor3uiv_p", XS_OpenGL__Modern_glColor3uiv_p);
        newXS_deffile("OpenGL::Modern::glColor3us", XS_OpenGL__Modern_glColor3us);
        newXS_deffile("OpenGL::Modern::glColor3usv_c", XS_OpenGL__Modern_glColor3usv_c);
        newXS_deffile("OpenGL::Modern::glColor3usv_p", XS_OpenGL__Modern_glColor3usv_p);
        newXS_deffile("OpenGL::Modern::glColor4b", XS_OpenGL__Modern_glColor4b);
        newXS_deffile("OpenGL::Modern::glColor4bv_c", XS_OpenGL__Modern_glColor4bv_c);
        newXS_deffile("OpenGL::Modern::glColor4bv_p", XS_OpenGL__Modern_glColor4bv_p);
        newXS_deffile("OpenGL::Modern::glColor4d", XS_OpenGL__Modern_glColor4d);
        newXS_deffile("OpenGL::Modern::glColor4dv_c", XS_OpenGL__Modern_glColor4dv_c);
        newXS_deffile("OpenGL::Modern::glColor4dv_p", XS_OpenGL__Modern_glColor4dv_p);
        newXS_deffile("OpenGL::Modern::glColor4f", XS_OpenGL__Modern_glColor4f);
        newXS_deffile("OpenGL::Modern::glColor4fNormal3fVertex3fSUN", XS_OpenGL__Modern_glColor4fNormal3fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glColor4fNormal3fVertex3fvSUN_c", XS_OpenGL__Modern_glColor4fNormal3fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glColor4fNormal3fVertex3fvSUN_p", XS_OpenGL__Modern_glColor4fNormal3fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glColor4fv_c", XS_OpenGL__Modern_glColor4fv_c);
        newXS_deffile("OpenGL::Modern::glColor4fv_p", XS_OpenGL__Modern_glColor4fv_p);
        newXS_deffile("OpenGL::Modern::glColor4hNV", XS_OpenGL__Modern_glColor4hNV);
        newXS_deffile("OpenGL::Modern::glColor4hvNV_c", XS_OpenGL__Modern_glColor4hvNV_c);
        newXS_deffile("OpenGL::Modern::glColor4hvNV_p", XS_OpenGL__Modern_glColor4hvNV_p);
        newXS_deffile("OpenGL::Modern::glColor4i", XS_OpenGL__Modern_glColor4i);
        newXS_deffile("OpenGL::Modern::glColor4iv_c", XS_OpenGL__Modern_glColor4iv_c);
        newXS_deffile("OpenGL::Modern::glColor4iv_p", XS_OpenGL__Modern_glColor4iv_p);
        newXS_deffile("OpenGL::Modern::glColor4s", XS_OpenGL__Modern_glColor4s);
        newXS_deffile("OpenGL::Modern::glColor4sv_c", XS_OpenGL__Modern_glColor4sv_c);
        newXS_deffile("OpenGL::Modern::glColor4sv_p", XS_OpenGL__Modern_glColor4sv_p);
        newXS_deffile("OpenGL::Modern::glColor4ub", XS_OpenGL__Modern_glColor4ub);
        newXS_deffile("OpenGL::Modern::glColor4ubVertex2fSUN", XS_OpenGL__Modern_glColor4ubVertex2fSUN);
        newXS_deffile("OpenGL::Modern::glColor4ubVertex2fvSUN_c", XS_OpenGL__Modern_glColor4ubVertex2fvSUN_c);
        newXS_deffile("OpenGL::Modern::glColor4ubVertex2fvSUN_p", XS_OpenGL__Modern_glColor4ubVertex2fvSUN_p);
        newXS_deffile("OpenGL::Modern::glColor4ubVertex3fSUN", XS_OpenGL__Modern_glColor4ubVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glColor4ubVertex3fvSUN_c", XS_OpenGL__Modern_glColor4ubVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glColor4ubVertex3fvSUN_p", XS_OpenGL__Modern_glColor4ubVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glColor4ubv_c", XS_OpenGL__Modern_glColor4ubv_c);
        newXS_deffile("OpenGL::Modern::glColor4ubv_p", XS_OpenGL__Modern_glColor4ubv_p);
        newXS_deffile("OpenGL::Modern::glColor4ui", XS_OpenGL__Modern_glColor4ui);
        newXS_deffile("OpenGL::Modern::glColor4uiv_c", XS_OpenGL__Modern_glColor4uiv_c);
        newXS_deffile("OpenGL::Modern::glColor4uiv_p", XS_OpenGL__Modern_glColor4uiv_p);
        newXS_deffile("OpenGL::Modern::glColor4us", XS_OpenGL__Modern_glColor4us);
        newXS_deffile("OpenGL::Modern::glColor4usv_c", XS_OpenGL__Modern_glColor4usv_c);
        newXS_deffile("OpenGL::Modern::glColor4usv_p", XS_OpenGL__Modern_glColor4usv_p);
        newXS_deffile("OpenGL::Modern::glColor4x", XS_OpenGL__Modern_glColor4x);
        newXS_deffile("OpenGL::Modern::glColorFormatNV", XS_OpenGL__Modern_glColorFormatNV);
        newXS_deffile("OpenGL::Modern::glColorFragmentOp1ATI", XS_OpenGL__Modern_glColorFragmentOp1ATI);
        newXS_deffile("OpenGL::Modern::glColorFragmentOp2ATI", XS_OpenGL__Modern_glColorFragmentOp2ATI);
        newXS_deffile("OpenGL::Modern::glColorFragmentOp3ATI", XS_OpenGL__Modern_glColorFragmentOp3ATI);
        newXS_deffile("OpenGL::Modern::glColorMask", XS_OpenGL__Modern_glColorMask);
        cv = newXS_deffile("OpenGL::Modern::glColorMaskIndexedEXT", XS_OpenGL__Modern_glColorMaski);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glColorMaski", XS_OpenGL__Modern_glColorMaski);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glColorMaskiEXT", XS_OpenGL__Modern_glColorMaski);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glColorMaskiOES", XS_OpenGL__Modern_glColorMaskiOES);
        newXS_deffile("OpenGL::Modern::glColorMaterial", XS_OpenGL__Modern_glColorMaterial);
        newXS_deffile("OpenGL::Modern::glColorP3ui", XS_OpenGL__Modern_glColorP3ui);
        newXS_deffile("OpenGL::Modern::glColorP3uiv_c", XS_OpenGL__Modern_glColorP3uiv_c);
        newXS_deffile("OpenGL::Modern::glColorP3uiv_p", XS_OpenGL__Modern_glColorP3uiv_p);
        newXS_deffile("OpenGL::Modern::glColorP4ui", XS_OpenGL__Modern_glColorP4ui);
        newXS_deffile("OpenGL::Modern::glColorP4uiv_c", XS_OpenGL__Modern_glColorP4uiv_c);
        newXS_deffile("OpenGL::Modern::glColorP4uiv_p", XS_OpenGL__Modern_glColorP4uiv_p);
        newXS_deffile("OpenGL::Modern::glColorPointer_c", XS_OpenGL__Modern_glColorPointer_c);
        newXS_deffile("OpenGL::Modern::glColorPointerEXT_c", XS_OpenGL__Modern_glColorPointerEXT_c);
        newXS_deffile("OpenGL::Modern::glColorPointerListIBM_c", XS_OpenGL__Modern_glColorPointerListIBM_c);
        newXS_deffile("OpenGL::Modern::glColorPointervINTEL_c", XS_OpenGL__Modern_glColorPointervINTEL_c);
        cv = newXS_deffile("OpenGL::Modern::glColorSubTableEXT_c", XS_OpenGL__Modern_glColorSubTable_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glColorSubTable_c", XS_OpenGL__Modern_glColorSubTable_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glColorTableEXT_c", XS_OpenGL__Modern_glColorTable_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glColorTableSGI_c", XS_OpenGL__Modern_glColorTable_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glColorTable_c", XS_OpenGL__Modern_glColorTable_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glColorTableParameterfvSGI_c", XS_OpenGL__Modern_glColorTableParameterfv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glColorTableParameterfv_c", XS_OpenGL__Modern_glColorTableParameterfv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glColorTableParameterfvSGI_p", XS_OpenGL__Modern_glColorTableParameterfv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glColorTableParameterfv_p", XS_OpenGL__Modern_glColorTableParameterfv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glColorTableParameterivSGI_c", XS_OpenGL__Modern_glColorTableParameteriv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glColorTableParameteriv_c", XS_OpenGL__Modern_glColorTableParameteriv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glColorTableParameterivSGI_p", XS_OpenGL__Modern_glColorTableParameteriv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glColorTableParameteriv_p", XS_OpenGL__Modern_glColorTableParameteriv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glCombinerInputNV", XS_OpenGL__Modern_glCombinerInputNV);
        newXS_deffile("OpenGL::Modern::glCombinerOutputNV", XS_OpenGL__Modern_glCombinerOutputNV);
        newXS_deffile("OpenGL::Modern::glCombinerParameterfNV", XS_OpenGL__Modern_glCombinerParameterfNV);
        newXS_deffile("OpenGL::Modern::glCombinerParameterfvNV_c", XS_OpenGL__Modern_glCombinerParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glCombinerParameteriNV", XS_OpenGL__Modern_glCombinerParameteriNV);
        newXS_deffile("OpenGL::Modern::glCombinerParameterivNV_c", XS_OpenGL__Modern_glCombinerParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glCombinerStageParameterfvNV_c", XS_OpenGL__Modern_glCombinerStageParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glCommandListSegmentsNV", XS_OpenGL__Modern_glCommandListSegmentsNV);
        newXS_deffile("OpenGL::Modern::glCompileCommandListNV", XS_OpenGL__Modern_glCompileCommandListNV);
        newXS_deffile("OpenGL::Modern::glCompileShader", XS_OpenGL__Modern_glCompileShader);
        newXS_deffile("OpenGL::Modern::glCompileShaderARB", XS_OpenGL__Modern_glCompileShaderARB);
        newXS_deffile("OpenGL::Modern::glCompileShaderIncludeARB_c", XS_OpenGL__Modern_glCompileShaderIncludeARB_c);
        newXS_deffile("OpenGL::Modern::glCompileShaderIncludeARB_p", XS_OpenGL__Modern_glCompileShaderIncludeARB_p);
        newXS_deffile("OpenGL::Modern::glCompressedMultiTexImage1DEXT_c", XS_OpenGL__Modern_glCompressedMultiTexImage1DEXT_c);
        newXS_deffile("OpenGL::Modern::glCompressedMultiTexImage2DEXT_c", XS_OpenGL__Modern_glCompressedMultiTexImage2DEXT_c);
        newXS_deffile("OpenGL::Modern::glCompressedMultiTexImage3DEXT_c", XS_OpenGL__Modern_glCompressedMultiTexImage3DEXT_c);
        newXS_deffile("OpenGL::Modern::glCompressedMultiTexSubImage1DEXT_c", XS_OpenGL__Modern_glCompressedMultiTexSubImage1DEXT_c);
        newXS_deffile("OpenGL::Modern::glCompressedMultiTexSubImage2DEXT_c", XS_OpenGL__Modern_glCompressedMultiTexSubImage2DEXT_c);
        newXS_deffile("OpenGL::Modern::glCompressedMultiTexSubImage3DEXT_c", XS_OpenGL__Modern_glCompressedMultiTexSubImage3DEXT_c);
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexImage1DARB_c", XS_OpenGL__Modern_glCompressedTexImage1D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexImage1D_c", XS_OpenGL__Modern_glCompressedTexImage1D_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexImage2DARB_c", XS_OpenGL__Modern_glCompressedTexImage2D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexImage2D_c", XS_OpenGL__Modern_glCompressedTexImage2D_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexImage3DARB_c", XS_OpenGL__Modern_glCompressedTexImage3D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexImage3D_c", XS_OpenGL__Modern_glCompressedTexImage3D_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glCompressedTexImage3DNV_c", XS_OpenGL__Modern_glCompressedTexImage3DNV_c);
        newXS_deffile("OpenGL::Modern::glCompressedTexImage3DOES_c", XS_OpenGL__Modern_glCompressedTexImage3DOES_c);
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexSubImage1DARB_c", XS_OpenGL__Modern_glCompressedTexSubImage1D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexSubImage1D_c", XS_OpenGL__Modern_glCompressedTexSubImage1D_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexSubImage2DARB_c", XS_OpenGL__Modern_glCompressedTexSubImage2D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexSubImage2D_c", XS_OpenGL__Modern_glCompressedTexSubImage2D_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexSubImage3DARB_c", XS_OpenGL__Modern_glCompressedTexSubImage3D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCompressedTexSubImage3D_c", XS_OpenGL__Modern_glCompressedTexSubImage3D_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glCompressedTexSubImage3DNV_c", XS_OpenGL__Modern_glCompressedTexSubImage3DNV_c);
        newXS_deffile("OpenGL::Modern::glCompressedTexSubImage3DOES_c", XS_OpenGL__Modern_glCompressedTexSubImage3DOES_c);
        newXS_deffile("OpenGL::Modern::glCompressedTextureImage1DEXT_c", XS_OpenGL__Modern_glCompressedTextureImage1DEXT_c);
        newXS_deffile("OpenGL::Modern::glCompressedTextureImage2DEXT_c", XS_OpenGL__Modern_glCompressedTextureImage2DEXT_c);
        newXS_deffile("OpenGL::Modern::glCompressedTextureImage3DEXT_c", XS_OpenGL__Modern_glCompressedTextureImage3DEXT_c);
        newXS_deffile("OpenGL::Modern::glCompressedTextureSubImage1D_c", XS_OpenGL__Modern_glCompressedTextureSubImage1D_c);
        newXS_deffile("OpenGL::Modern::glCompressedTextureSubImage1DEXT_c", XS_OpenGL__Modern_glCompressedTextureSubImage1DEXT_c);
        newXS_deffile("OpenGL::Modern::glCompressedTextureSubImage2D_c", XS_OpenGL__Modern_glCompressedTextureSubImage2D_c);
        newXS_deffile("OpenGL::Modern::glCompressedTextureSubImage2DEXT_c", XS_OpenGL__Modern_glCompressedTextureSubImage2DEXT_c);
        newXS_deffile("OpenGL::Modern::glCompressedTextureSubImage3D_c", XS_OpenGL__Modern_glCompressedTextureSubImage3D_c);
        newXS_deffile("OpenGL::Modern::glCompressedTextureSubImage3DEXT_c", XS_OpenGL__Modern_glCompressedTextureSubImage3DEXT_c);
        newXS_deffile("OpenGL::Modern::glConservativeRasterParameterfNV", XS_OpenGL__Modern_glConservativeRasterParameterfNV);
        newXS_deffile("OpenGL::Modern::glConservativeRasterParameteriNV", XS_OpenGL__Modern_glConservativeRasterParameteriNV);
        cv = newXS_deffile("OpenGL::Modern::glConvolutionFilter1DEXT_c", XS_OpenGL__Modern_glConvolutionFilter1D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionFilter1D_c", XS_OpenGL__Modern_glConvolutionFilter1D_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionFilter2DEXT_c", XS_OpenGL__Modern_glConvolutionFilter2D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionFilter2D_c", XS_OpenGL__Modern_glConvolutionFilter2D_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameterf", XS_OpenGL__Modern_glConvolutionParameterf);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameterfEXT", XS_OpenGL__Modern_glConvolutionParameterf);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameterfvEXT_c", XS_OpenGL__Modern_glConvolutionParameterfv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameterfv_c", XS_OpenGL__Modern_glConvolutionParameterfv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameterfvEXT_p", XS_OpenGL__Modern_glConvolutionParameterfv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameterfv_p", XS_OpenGL__Modern_glConvolutionParameterfv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameteri", XS_OpenGL__Modern_glConvolutionParameteri);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameteriEXT", XS_OpenGL__Modern_glConvolutionParameteri);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameterivEXT_c", XS_OpenGL__Modern_glConvolutionParameteriv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameteriv_c", XS_OpenGL__Modern_glConvolutionParameteriv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameterivEXT_p", XS_OpenGL__Modern_glConvolutionParameteriv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glConvolutionParameteriv_p", XS_OpenGL__Modern_glConvolutionParameteriv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyBufferSubData", XS_OpenGL__Modern_glCopyBufferSubData);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyBufferSubDataNV", XS_OpenGL__Modern_glCopyBufferSubData);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCopyColorSubTable", XS_OpenGL__Modern_glCopyColorSubTable);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyColorSubTableEXT", XS_OpenGL__Modern_glCopyColorSubTable);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCopyColorTable", XS_OpenGL__Modern_glCopyColorTable);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyColorTableSGI", XS_OpenGL__Modern_glCopyColorTable);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCopyConvolutionFilter1D", XS_OpenGL__Modern_glCopyConvolutionFilter1D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyConvolutionFilter1DEXT", XS_OpenGL__Modern_glCopyConvolutionFilter1D);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCopyConvolutionFilter2D", XS_OpenGL__Modern_glCopyConvolutionFilter2D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyConvolutionFilter2DEXT", XS_OpenGL__Modern_glCopyConvolutionFilter2D);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCopyImageSubData", XS_OpenGL__Modern_glCopyImageSubData);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyImageSubDataEXT", XS_OpenGL__Modern_glCopyImageSubData);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glCopyImageSubDataNV", XS_OpenGL__Modern_glCopyImageSubDataNV);
        newXS_deffile("OpenGL::Modern::glCopyImageSubDataOES", XS_OpenGL__Modern_glCopyImageSubDataOES);
        newXS_deffile("OpenGL::Modern::glCopyMultiTexImage1DEXT", XS_OpenGL__Modern_glCopyMultiTexImage1DEXT);
        newXS_deffile("OpenGL::Modern::glCopyMultiTexImage2DEXT", XS_OpenGL__Modern_glCopyMultiTexImage2DEXT);
        newXS_deffile("OpenGL::Modern::glCopyMultiTexSubImage1DEXT", XS_OpenGL__Modern_glCopyMultiTexSubImage1DEXT);
        newXS_deffile("OpenGL::Modern::glCopyMultiTexSubImage2DEXT", XS_OpenGL__Modern_glCopyMultiTexSubImage2DEXT);
        newXS_deffile("OpenGL::Modern::glCopyMultiTexSubImage3DEXT", XS_OpenGL__Modern_glCopyMultiTexSubImage3DEXT);
        newXS_deffile("OpenGL::Modern::glCopyNamedBufferSubData", XS_OpenGL__Modern_glCopyNamedBufferSubData);
        newXS_deffile("OpenGL::Modern::glCopyPathNV", XS_OpenGL__Modern_glCopyPathNV);
        newXS_deffile("OpenGL::Modern::glCopyPixels", XS_OpenGL__Modern_glCopyPixels);
        cv = newXS_deffile("OpenGL::Modern::glCopyTexImage1D", XS_OpenGL__Modern_glCopyTexImage1D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyTexImage1DEXT", XS_OpenGL__Modern_glCopyTexImage1D);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCopyTexImage2D", XS_OpenGL__Modern_glCopyTexImage2D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyTexImage2DEXT", XS_OpenGL__Modern_glCopyTexImage2D);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCopyTexSubImage1D", XS_OpenGL__Modern_glCopyTexSubImage1D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyTexSubImage1DEXT", XS_OpenGL__Modern_glCopyTexSubImage1D);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCopyTexSubImage2D", XS_OpenGL__Modern_glCopyTexSubImage2D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyTexSubImage2DEXT", XS_OpenGL__Modern_glCopyTexSubImage2D);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glCopyTexSubImage3D", XS_OpenGL__Modern_glCopyTexSubImage3D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCopyTexSubImage3DEXT", XS_OpenGL__Modern_glCopyTexSubImage3D);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glCopyTexSubImage3DNV", XS_OpenGL__Modern_glCopyTexSubImage3DNV);
        newXS_deffile("OpenGL::Modern::glCopyTexSubImage3DOES", XS_OpenGL__Modern_glCopyTexSubImage3DOES);
        newXS_deffile("OpenGL::Modern::glCopyTextureImage1DEXT", XS_OpenGL__Modern_glCopyTextureImage1DEXT);
        newXS_deffile("OpenGL::Modern::glCopyTextureImage2DEXT", XS_OpenGL__Modern_glCopyTextureImage2DEXT);
        newXS_deffile("OpenGL::Modern::glCopyTextureLevelsAPPLE", XS_OpenGL__Modern_glCopyTextureLevelsAPPLE);
        newXS_deffile("OpenGL::Modern::glCopyTextureSubImage1D", XS_OpenGL__Modern_glCopyTextureSubImage1D);
        newXS_deffile("OpenGL::Modern::glCopyTextureSubImage1DEXT", XS_OpenGL__Modern_glCopyTextureSubImage1DEXT);
        newXS_deffile("OpenGL::Modern::glCopyTextureSubImage2D", XS_OpenGL__Modern_glCopyTextureSubImage2D);
        newXS_deffile("OpenGL::Modern::glCopyTextureSubImage2DEXT", XS_OpenGL__Modern_glCopyTextureSubImage2DEXT);
        newXS_deffile("OpenGL::Modern::glCopyTextureSubImage3D", XS_OpenGL__Modern_glCopyTextureSubImage3D);
        newXS_deffile("OpenGL::Modern::glCopyTextureSubImage3DEXT", XS_OpenGL__Modern_glCopyTextureSubImage3DEXT);
        newXS_deffile("OpenGL::Modern::glCoverFillPathInstancedNV_c", XS_OpenGL__Modern_glCoverFillPathInstancedNV_c);
        newXS_deffile("OpenGL::Modern::glCoverFillPathNV", XS_OpenGL__Modern_glCoverFillPathNV);
        newXS_deffile("OpenGL::Modern::glCoverStrokePathInstancedNV_c", XS_OpenGL__Modern_glCoverStrokePathInstancedNV_c);
        newXS_deffile("OpenGL::Modern::glCoverStrokePathNV", XS_OpenGL__Modern_glCoverStrokePathNV);
        newXS_deffile("OpenGL::Modern::glCoverageModulationNV", XS_OpenGL__Modern_glCoverageModulationNV);
        newXS_deffile("OpenGL::Modern::glCoverageModulationTableNV_c", XS_OpenGL__Modern_glCoverageModulationTableNV_c);
        newXS_deffile("OpenGL::Modern::glCoverageModulationTableNV_p", XS_OpenGL__Modern_glCoverageModulationTableNV_p);
        newXS_deffile("OpenGL::Modern::glCreateBuffers_c", XS_OpenGL__Modern_glCreateBuffers_c);
        newXS_deffile("OpenGL::Modern::glCreateBuffers_p", XS_OpenGL__Modern_glCreateBuffers_p);
        newXS_deffile("OpenGL::Modern::glCreateCommandListsNV_c", XS_OpenGL__Modern_glCreateCommandListsNV_c);
        newXS_deffile("OpenGL::Modern::glCreateCommandListsNV_p", XS_OpenGL__Modern_glCreateCommandListsNV_p);
        newXS_deffile("OpenGL::Modern::glCreateFramebuffers_c", XS_OpenGL__Modern_glCreateFramebuffers_c);
        newXS_deffile("OpenGL::Modern::glCreateFramebuffers_p", XS_OpenGL__Modern_glCreateFramebuffers_p);
        newXS_deffile("OpenGL::Modern::glCreateMemoryObjectsEXT_c", XS_OpenGL__Modern_glCreateMemoryObjectsEXT_c);
        newXS_deffile("OpenGL::Modern::glCreatePerfQueryINTEL_c", XS_OpenGL__Modern_glCreatePerfQueryINTEL_c);
        cv = newXS_deffile("OpenGL::Modern::glCreateProgram", XS_OpenGL__Modern_glCreateProgram);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCreateProgramObjectARB", XS_OpenGL__Modern_glCreateProgram);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glCreateProgramPipelines_c", XS_OpenGL__Modern_glCreateProgramPipelines_c);
        newXS_deffile("OpenGL::Modern::glCreateProgramPipelines_p", XS_OpenGL__Modern_glCreateProgramPipelines_p);
        newXS_deffile("OpenGL::Modern::glCreateProgressFenceNVX", XS_OpenGL__Modern_glCreateProgressFenceNVX);
        newXS_deffile("OpenGL::Modern::glCreateQueries_c", XS_OpenGL__Modern_glCreateQueries_c);
        newXS_deffile("OpenGL::Modern::glCreateQueries_p", XS_OpenGL__Modern_glCreateQueries_p);
        newXS_deffile("OpenGL::Modern::glCreateRenderbuffers_c", XS_OpenGL__Modern_glCreateRenderbuffers_c);
        newXS_deffile("OpenGL::Modern::glCreateRenderbuffers_p", XS_OpenGL__Modern_glCreateRenderbuffers_p);
        newXS_deffile("OpenGL::Modern::glCreateSamplers_c", XS_OpenGL__Modern_glCreateSamplers_c);
        newXS_deffile("OpenGL::Modern::glCreateSamplers_p", XS_OpenGL__Modern_glCreateSamplers_p);
        newXS_deffile("OpenGL::Modern::glCreateSemaphoresNV_c", XS_OpenGL__Modern_glCreateSemaphoresNV_c);
        newXS_deffile("OpenGL::Modern::glCreateSemaphoresNV_p", XS_OpenGL__Modern_glCreateSemaphoresNV_p);
        cv = newXS_deffile("OpenGL::Modern::glCreateShader", XS_OpenGL__Modern_glCreateShader);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glCreateShaderObjectARB", XS_OpenGL__Modern_glCreateShader);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glCreateShaderProgramEXT", XS_OpenGL__Modern_glCreateShaderProgramEXT);
        newXS_deffile("OpenGL::Modern::glCreateShaderProgramv_c", XS_OpenGL__Modern_glCreateShaderProgramv_c);
        newXS_deffile("OpenGL::Modern::glCreateShaderProgramv_p", XS_OpenGL__Modern_glCreateShaderProgramv_p);
        newXS_deffile("OpenGL::Modern::glCreateStatesNV_c", XS_OpenGL__Modern_glCreateStatesNV_c);
        newXS_deffile("OpenGL::Modern::glCreateStatesNV_p", XS_OpenGL__Modern_glCreateStatesNV_p);
        newXS_deffile("OpenGL::Modern::glCreateSyncFromCLeventARB", XS_OpenGL__Modern_glCreateSyncFromCLeventARB);
        newXS_deffile("OpenGL::Modern::glCreateTextures_c", XS_OpenGL__Modern_glCreateTextures_c);
        newXS_deffile("OpenGL::Modern::glCreateTextures_p", XS_OpenGL__Modern_glCreateTextures_p);
        newXS_deffile("OpenGL::Modern::glCreateTransformFeedbacks_c", XS_OpenGL__Modern_glCreateTransformFeedbacks_c);
        newXS_deffile("OpenGL::Modern::glCreateTransformFeedbacks_p", XS_OpenGL__Modern_glCreateTransformFeedbacks_p);
        newXS_deffile("OpenGL::Modern::glCreateVertexArrays_c", XS_OpenGL__Modern_glCreateVertexArrays_c);
        newXS_deffile("OpenGL::Modern::glCreateVertexArrays_p", XS_OpenGL__Modern_glCreateVertexArrays_p);
        newXS_deffile("OpenGL::Modern::glCullFace", XS_OpenGL__Modern_glCullFace);
        newXS_deffile("OpenGL::Modern::glCullParameterdvEXT_c", XS_OpenGL__Modern_glCullParameterdvEXT_c);
        newXS_deffile("OpenGL::Modern::glCullParameterdvEXT_p", XS_OpenGL__Modern_glCullParameterdvEXT_p);
        newXS_deffile("OpenGL::Modern::glCullParameterfvEXT_c", XS_OpenGL__Modern_glCullParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glCullParameterfvEXT_p", XS_OpenGL__Modern_glCullParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glCurrentPaletteMatrixARB", XS_OpenGL__Modern_glCurrentPaletteMatrixARB);
        newXS_deffile("OpenGL::Modern::glCurrentPaletteMatrixOES", XS_OpenGL__Modern_glCurrentPaletteMatrixOES);
        newXS_deffile("OpenGL::Modern::glDataPipe", XS_OpenGL__Modern_glDataPipe);
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageCallbackARB_c", XS_OpenGL__Modern_glDebugMessageCallback_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageCallbackKHR_c", XS_OpenGL__Modern_glDebugMessageCallback_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageCallback_c", XS_OpenGL__Modern_glDebugMessageCallback_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glDebugMessageCallbackAMD_c", XS_OpenGL__Modern_glDebugMessageCallbackAMD_c);
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageControlARB_c", XS_OpenGL__Modern_glDebugMessageControl_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageControlKHR_c", XS_OpenGL__Modern_glDebugMessageControl_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageControl_c", XS_OpenGL__Modern_glDebugMessageControl_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageControlARB_p", XS_OpenGL__Modern_glDebugMessageControl_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageControlKHR_p", XS_OpenGL__Modern_glDebugMessageControl_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageControl_p", XS_OpenGL__Modern_glDebugMessageControl_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glDebugMessageEnableAMD_c", XS_OpenGL__Modern_glDebugMessageEnableAMD_c);
        newXS_deffile("OpenGL::Modern::glDebugMessageEnableAMD_p", XS_OpenGL__Modern_glDebugMessageEnableAMD_p);
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageInsert", XS_OpenGL__Modern_glDebugMessageInsert);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageInsertARB", XS_OpenGL__Modern_glDebugMessageInsert);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDebugMessageInsertKHR", XS_OpenGL__Modern_glDebugMessageInsert);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glDebugMessageInsertAMD", XS_OpenGL__Modern_glDebugMessageInsertAMD);
        newXS_deffile("OpenGL::Modern::glDeformSGIX", XS_OpenGL__Modern_glDeformSGIX);
        newXS_deffile("OpenGL::Modern::glDeleteArraySetsEXT_c", XS_OpenGL__Modern_glDeleteArraySetsEXT_c);
        newXS_deffile("OpenGL::Modern::glDeleteAsyncMarkersSGIX", XS_OpenGL__Modern_glDeleteAsyncMarkersSGIX);
        newXS_deffile("OpenGL::Modern::glDeleteBufferRegion", XS_OpenGL__Modern_glDeleteBufferRegion);
        cv = newXS_deffile("OpenGL::Modern::glDeleteBuffersARB_c", XS_OpenGL__Modern_glDeleteBuffers_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteBuffers_c", XS_OpenGL__Modern_glDeleteBuffers_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDeleteBuffersARB_p", XS_OpenGL__Modern_glDeleteBuffers_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteBuffers_p", XS_OpenGL__Modern_glDeleteBuffers_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glDeleteCommandListsNV_c", XS_OpenGL__Modern_glDeleteCommandListsNV_c);
        newXS_deffile("OpenGL::Modern::glDeleteCommandListsNV_p", XS_OpenGL__Modern_glDeleteCommandListsNV_p);
        newXS_deffile("OpenGL::Modern::glDeleteFencesAPPLE_c", XS_OpenGL__Modern_glDeleteFencesAPPLE_c);
        newXS_deffile("OpenGL::Modern::glDeleteFencesAPPLE_p", XS_OpenGL__Modern_glDeleteFencesAPPLE_p);
        newXS_deffile("OpenGL::Modern::glDeleteFencesNV_c", XS_OpenGL__Modern_glDeleteFencesNV_c);
        newXS_deffile("OpenGL::Modern::glDeleteFencesNV_p", XS_OpenGL__Modern_glDeleteFencesNV_p);
        newXS_deffile("OpenGL::Modern::glDeleteFragmentShaderATI", XS_OpenGL__Modern_glDeleteFragmentShaderATI);
        cv = newXS_deffile("OpenGL::Modern::glDeleteFramebuffersEXT_c", XS_OpenGL__Modern_glDeleteFramebuffers_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteFramebuffers_c", XS_OpenGL__Modern_glDeleteFramebuffers_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDeleteFramebuffersEXT_p", XS_OpenGL__Modern_glDeleteFramebuffers_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteFramebuffers_p", XS_OpenGL__Modern_glDeleteFramebuffers_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glDeleteFramebuffersOES_c", XS_OpenGL__Modern_glDeleteFramebuffersOES_c);
        newXS_deffile("OpenGL::Modern::glDeleteLists", XS_OpenGL__Modern_glDeleteLists);
        newXS_deffile("OpenGL::Modern::glDeleteMPEGPredictorsSGIX_c", XS_OpenGL__Modern_glDeleteMPEGPredictorsSGIX_c);
        newXS_deffile("OpenGL::Modern::glDeleteMemoryObjectsEXT_c", XS_OpenGL__Modern_glDeleteMemoryObjectsEXT_c);
        newXS_deffile("OpenGL::Modern::glDeleteMemoryObjectsEXT_p", XS_OpenGL__Modern_glDeleteMemoryObjectsEXT_p);
        newXS_deffile("OpenGL::Modern::glDeleteNamedStringARB", XS_OpenGL__Modern_glDeleteNamedStringARB);
        newXS_deffile("OpenGL::Modern::glDeleteNamesAMD_c", XS_OpenGL__Modern_glDeleteNamesAMD_c);
        newXS_deffile("OpenGL::Modern::glDeleteNamesAMD_p", XS_OpenGL__Modern_glDeleteNamesAMD_p);
        newXS_deffile("OpenGL::Modern::glDeleteObjectARB", XS_OpenGL__Modern_glDeleteObjectARB);
        newXS_deffile("OpenGL::Modern::glDeleteOcclusionQueriesNV_c", XS_OpenGL__Modern_glDeleteOcclusionQueriesNV_c);
        newXS_deffile("OpenGL::Modern::glDeleteOcclusionQueriesNV_p", XS_OpenGL__Modern_glDeleteOcclusionQueriesNV_p);
        newXS_deffile("OpenGL::Modern::glDeletePathsNV", XS_OpenGL__Modern_glDeletePathsNV);
        newXS_deffile("OpenGL::Modern::glDeletePerfMonitorsAMD_c", XS_OpenGL__Modern_glDeletePerfMonitorsAMD_c);
        newXS_deffile("OpenGL::Modern::glDeletePerfMonitorsAMD_p", XS_OpenGL__Modern_glDeletePerfMonitorsAMD_p);
        newXS_deffile("OpenGL::Modern::glDeletePerfQueryINTEL", XS_OpenGL__Modern_glDeletePerfQueryINTEL);
        newXS_deffile("OpenGL::Modern::glDeleteProgram", XS_OpenGL__Modern_glDeleteProgram);
        newXS_deffile("OpenGL::Modern::glDeleteProgramPipelines_c", XS_OpenGL__Modern_glDeleteProgramPipelines_c);
        newXS_deffile("OpenGL::Modern::glDeleteProgramPipelines_p", XS_OpenGL__Modern_glDeleteProgramPipelines_p);
        cv = newXS_deffile("OpenGL::Modern::glDeleteProgramsARB_c", XS_OpenGL__Modern_glDeleteProgramsARB_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDeleteProgramsNV_c", XS_OpenGL__Modern_glDeleteProgramsARB_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteProgramsARB_p", XS_OpenGL__Modern_glDeleteProgramsARB_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDeleteProgramsNV_p", XS_OpenGL__Modern_glDeleteProgramsARB_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteQueriesARB_c", XS_OpenGL__Modern_glDeleteQueries_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteQueries_c", XS_OpenGL__Modern_glDeleteQueries_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDeleteQueriesARB_p", XS_OpenGL__Modern_glDeleteQueries_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteQueries_p", XS_OpenGL__Modern_glDeleteQueries_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glDeleteQueriesANGLE_c", XS_OpenGL__Modern_glDeleteQueriesANGLE_c);
        newXS_deffile("OpenGL::Modern::glDeleteQueriesEXT_c", XS_OpenGL__Modern_glDeleteQueriesEXT_c);
        newXS_deffile("OpenGL::Modern::glDeleteQueriesEXT_p", XS_OpenGL__Modern_glDeleteQueriesEXT_p);
        cv = newXS_deffile("OpenGL::Modern::glDeleteRenderbuffersEXT_c", XS_OpenGL__Modern_glDeleteRenderbuffers_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteRenderbuffers_c", XS_OpenGL__Modern_glDeleteRenderbuffers_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDeleteRenderbuffersEXT_p", XS_OpenGL__Modern_glDeleteRenderbuffers_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteRenderbuffers_p", XS_OpenGL__Modern_glDeleteRenderbuffers_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glDeleteRenderbuffersOES_c", XS_OpenGL__Modern_glDeleteRenderbuffersOES_c);
        newXS_deffile("OpenGL::Modern::glDeleteSamplers_c", XS_OpenGL__Modern_glDeleteSamplers_c);
        newXS_deffile("OpenGL::Modern::glDeleteSamplers_p", XS_OpenGL__Modern_glDeleteSamplers_p);
        newXS_deffile("OpenGL::Modern::glDeleteSemaphoresEXT_c", XS_OpenGL__Modern_glDeleteSemaphoresEXT_c);
        newXS_deffile("OpenGL::Modern::glDeleteSemaphoresEXT_p", XS_OpenGL__Modern_glDeleteSemaphoresEXT_p);
        newXS_deffile("OpenGL::Modern::glDeleteShader", XS_OpenGL__Modern_glDeleteShader);
        newXS_deffile("OpenGL::Modern::glDeleteStatesNV_c", XS_OpenGL__Modern_glDeleteStatesNV_c);
        newXS_deffile("OpenGL::Modern::glDeleteStatesNV_p", XS_OpenGL__Modern_glDeleteStatesNV_p);
        cv = newXS_deffile("OpenGL::Modern::glDeleteSync", XS_OpenGL__Modern_glDeleteSync);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDeleteSyncAPPLE", XS_OpenGL__Modern_glDeleteSync);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glDeleteTextures_c", XS_OpenGL__Modern_glDeleteTextures_c);
        newXS_deffile("OpenGL::Modern::glDeleteTextures_p", XS_OpenGL__Modern_glDeleteTextures_p);
        newXS_deffile("OpenGL::Modern::glDeleteTexturesEXT_c", XS_OpenGL__Modern_glDeleteTexturesEXT_c);
        newXS_deffile("OpenGL::Modern::glDeleteTexturesEXT_p", XS_OpenGL__Modern_glDeleteTexturesEXT_p);
        cv = newXS_deffile("OpenGL::Modern::glDeleteTransformFeedbacksNV_c", XS_OpenGL__Modern_glDeleteTransformFeedbacks_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteTransformFeedbacks_c", XS_OpenGL__Modern_glDeleteTransformFeedbacks_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDeleteTransformFeedbacksNV_p", XS_OpenGL__Modern_glDeleteTransformFeedbacks_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteTransformFeedbacks_p", XS_OpenGL__Modern_glDeleteTransformFeedbacks_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDeleteVertexArraysAPPLE_c", XS_OpenGL__Modern_glDeleteVertexArrays_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteVertexArrays_c", XS_OpenGL__Modern_glDeleteVertexArrays_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDeleteVertexArraysAPPLE_p", XS_OpenGL__Modern_glDeleteVertexArrays_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDeleteVertexArrays_p", XS_OpenGL__Modern_glDeleteVertexArrays_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glDeleteVertexArraysOES_c", XS_OpenGL__Modern_glDeleteVertexArraysOES_c);
        newXS_deffile("OpenGL::Modern::glDeleteVertexArraysSGIX_c", XS_OpenGL__Modern_glDeleteVertexArraysSGIX_c);
        newXS_deffile("OpenGL::Modern::glDeleteVertexShaderEXT", XS_OpenGL__Modern_glDeleteVertexShaderEXT);
        newXS_deffile("OpenGL::Modern::glDepthBoundsEXT", XS_OpenGL__Modern_glDepthBoundsEXT);
        newXS_deffile("OpenGL::Modern::glDepthBoundsdNV", XS_OpenGL__Modern_glDepthBoundsdNV);
        newXS_deffile("OpenGL::Modern::glDepthFunc", XS_OpenGL__Modern_glDepthFunc);
        newXS_deffile("OpenGL::Modern::glDepthMask", XS_OpenGL__Modern_glDepthMask);
        newXS_deffile("OpenGL::Modern::glDepthRange", XS_OpenGL__Modern_glDepthRange);
        newXS_deffile("OpenGL::Modern::glDepthRangeArrayfvNV_c", XS_OpenGL__Modern_glDepthRangeArrayfvNV_c);
        newXS_deffile("OpenGL::Modern::glDepthRangeArrayv_c", XS_OpenGL__Modern_glDepthRangeArrayv_c);
        newXS_deffile("OpenGL::Modern::glDepthRangeArrayv_p", XS_OpenGL__Modern_glDepthRangeArrayv_p);
        newXS_deffile("OpenGL::Modern::glDepthRangeIndexed", XS_OpenGL__Modern_glDepthRangeIndexed);
        newXS_deffile("OpenGL::Modern::glDepthRangeIndexedfNV", XS_OpenGL__Modern_glDepthRangeIndexedfNV);
        newXS_deffile("OpenGL::Modern::glDepthRangedNV", XS_OpenGL__Modern_glDepthRangedNV);
        newXS_deffile("OpenGL::Modern::glDepthRangef", XS_OpenGL__Modern_glDepthRangef);
        newXS_deffile("OpenGL::Modern::glDepthRangefOES", XS_OpenGL__Modern_glDepthRangefOES);
        newXS_deffile("OpenGL::Modern::glDepthRangex", XS_OpenGL__Modern_glDepthRangex);
        newXS_deffile("OpenGL::Modern::glDetachObjectARB", XS_OpenGL__Modern_glDetachObjectARB);
        newXS_deffile("OpenGL::Modern::glDetachShader", XS_OpenGL__Modern_glDetachShader);
        newXS_deffile("OpenGL::Modern::glDetailTexFuncSGIS_c", XS_OpenGL__Modern_glDetailTexFuncSGIS_c);
        newXS_deffile("OpenGL::Modern::glDetailTexFuncSGIS_p", XS_OpenGL__Modern_glDetailTexFuncSGIS_p);
        newXS_deffile("OpenGL::Modern::glDisable", XS_OpenGL__Modern_glDisable);
        newXS_deffile("OpenGL::Modern::glDisableClientState", XS_OpenGL__Modern_glDisableClientState);
        newXS_deffile("OpenGL::Modern::glDisableClientStateIndexedEXT", XS_OpenGL__Modern_glDisableClientStateIndexedEXT);
        newXS_deffile("OpenGL::Modern::glDisableClientStateiEXT", XS_OpenGL__Modern_glDisableClientStateiEXT);
        newXS_deffile("OpenGL::Modern::glDisableDriverControlQCOM", XS_OpenGL__Modern_glDisableDriverControlQCOM);
        newXS_deffile("OpenGL::Modern::glDisableVariantClientStateEXT", XS_OpenGL__Modern_glDisableVariantClientStateEXT);
        newXS_deffile("OpenGL::Modern::glDisableVertexArrayAttrib", XS_OpenGL__Modern_glDisableVertexArrayAttrib);
        newXS_deffile("OpenGL::Modern::glDisableVertexArrayAttribEXT", XS_OpenGL__Modern_glDisableVertexArrayAttribEXT);
        newXS_deffile("OpenGL::Modern::glDisableVertexArrayEXT", XS_OpenGL__Modern_glDisableVertexArrayEXT);
        newXS_deffile("OpenGL::Modern::glDisableVertexAttribAPPLE", XS_OpenGL__Modern_glDisableVertexAttribAPPLE);
        cv = newXS_deffile("OpenGL::Modern::glDisableVertexAttribArray", XS_OpenGL__Modern_glDisableVertexAttribArray);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDisableVertexAttribArrayARB", XS_OpenGL__Modern_glDisableVertexAttribArray);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDisableIndexedEXT", XS_OpenGL__Modern_glDisablei);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDisablei", XS_OpenGL__Modern_glDisablei);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDisableiEXT", XS_OpenGL__Modern_glDisablei);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glDisableiNV", XS_OpenGL__Modern_glDisablei);
        XSANY.any_i32 = 3;
        newXS_deffile("OpenGL::Modern::glDisableiOES", XS_OpenGL__Modern_glDisableiOES);
        newXS_deffile("OpenGL::Modern::glDiscardFramebufferEXT_c", XS_OpenGL__Modern_glDiscardFramebufferEXT_c);
        newXS_deffile("OpenGL::Modern::glDiscardFramebufferEXT_p", XS_OpenGL__Modern_glDiscardFramebufferEXT_p);
        newXS_deffile("OpenGL::Modern::glDispatchCompute", XS_OpenGL__Modern_glDispatchCompute);
        newXS_deffile("OpenGL::Modern::glDispatchComputeGroupSizeARB", XS_OpenGL__Modern_glDispatchComputeGroupSizeARB);
        newXS_deffile("OpenGL::Modern::glDispatchComputeIndirect", XS_OpenGL__Modern_glDispatchComputeIndirect);
        cv = newXS_deffile("OpenGL::Modern::glDrawArrays", XS_OpenGL__Modern_glDrawArrays);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDrawArraysEXT", XS_OpenGL__Modern_glDrawArrays);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glDrawArraysIndirect_c", XS_OpenGL__Modern_glDrawArraysIndirect_c);
        cv = newXS_deffile("OpenGL::Modern::glDrawArraysInstanced", XS_OpenGL__Modern_glDrawArraysInstanced);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDrawArraysInstancedANGLE", XS_OpenGL__Modern_glDrawArraysInstanced);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDrawArraysInstancedARB", XS_OpenGL__Modern_glDrawArraysInstanced);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glDrawArraysInstancedEXT", XS_OpenGL__Modern_glDrawArraysInstanced);
        XSANY.any_i32 = 3;
        cv = newXS_deffile("OpenGL::Modern::glDrawArraysInstancedNV", XS_OpenGL__Modern_glDrawArraysInstanced);
        XSANY.any_i32 = 4;
        cv = newXS_deffile("OpenGL::Modern::glDrawArraysInstancedBaseInstance", XS_OpenGL__Modern_glDrawArraysInstancedBaseInstance);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDrawArraysInstancedBaseInstanceEXT", XS_OpenGL__Modern_glDrawArraysInstancedBaseInstance);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glDrawBuffer", XS_OpenGL__Modern_glDrawBuffer);
        newXS_deffile("OpenGL::Modern::glDrawBufferRegion", XS_OpenGL__Modern_glDrawBufferRegion);
        cv = newXS_deffile("OpenGL::Modern::glDrawBuffersARB_c", XS_OpenGL__Modern_glDrawBuffers_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDrawBuffersATI_c", XS_OpenGL__Modern_glDrawBuffers_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glDrawBuffersEXT_c", XS_OpenGL__Modern_glDrawBuffers_c);
        XSANY.any_i32 = 3;
        cv = newXS_deffile("OpenGL::Modern::glDrawBuffers_c", XS_OpenGL__Modern_glDrawBuffers_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDrawBuffersARB_p", XS_OpenGL__Modern_glDrawBuffers_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDrawBuffersATI_p", XS_OpenGL__Modern_glDrawBuffers_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glDrawBuffersEXT_p", XS_OpenGL__Modern_glDrawBuffers_p);
        XSANY.any_i32 = 3;
        cv = newXS_deffile("OpenGL::Modern::glDrawBuffers_p", XS_OpenGL__Modern_glDrawBuffers_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glDrawBuffersIndexedEXT_c", XS_OpenGL__Modern_glDrawBuffersIndexedEXT_c);
        newXS_deffile("OpenGL::Modern::glDrawBuffersIndexedEXT_p", XS_OpenGL__Modern_glDrawBuffersIndexedEXT_p);
        newXS_deffile("OpenGL::Modern::glDrawBuffersNV_c", XS_OpenGL__Modern_glDrawBuffersNV_c);
        newXS_deffile("OpenGL::Modern::glDrawBuffersNV_p", XS_OpenGL__Modern_glDrawBuffersNV_p);
        newXS_deffile("OpenGL::Modern::glDrawCommandsAddressNV_c", XS_OpenGL__Modern_glDrawCommandsAddressNV_c);
        newXS_deffile("OpenGL::Modern::glDrawCommandsNV_c", XS_OpenGL__Modern_glDrawCommandsNV_c);
        newXS_deffile("OpenGL::Modern::glDrawCommandsStatesAddressNV_c", XS_OpenGL__Modern_glDrawCommandsStatesAddressNV_c);
        newXS_deffile("OpenGL::Modern::glDrawCommandsStatesNV_c", XS_OpenGL__Modern_glDrawCommandsStatesNV_c);
        newXS_deffile("OpenGL::Modern::glDrawElementArrayAPPLE", XS_OpenGL__Modern_glDrawElementArrayAPPLE);
        newXS_deffile("OpenGL::Modern::glDrawElementArrayATI", XS_OpenGL__Modern_glDrawElementArrayATI);
        newXS_deffile("OpenGL::Modern::glDrawElements_c", XS_OpenGL__Modern_glDrawElements_c);
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsBaseVertexEXT_c", XS_OpenGL__Modern_glDrawElementsBaseVertex_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsBaseVertex_c", XS_OpenGL__Modern_glDrawElementsBaseVertex_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glDrawElementsIndirect_c", XS_OpenGL__Modern_glDrawElementsIndirect_c);
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsInstancedANGLE_c", XS_OpenGL__Modern_glDrawElementsInstanced_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsInstancedARB_c", XS_OpenGL__Modern_glDrawElementsInstanced_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsInstancedEXT_c", XS_OpenGL__Modern_glDrawElementsInstanced_c);
        XSANY.any_i32 = 3;
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsInstancedNV_c", XS_OpenGL__Modern_glDrawElementsInstanced_c);
        XSANY.any_i32 = 4;
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsInstanced_c", XS_OpenGL__Modern_glDrawElementsInstanced_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsInstancedBaseInstanceEXT_c", XS_OpenGL__Modern_glDrawElementsInstancedBaseInstance_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsInstancedBaseInstance_c", XS_OpenGL__Modern_glDrawElementsInstancedBaseInstance_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsInstancedBaseVertexEXT_c", XS_OpenGL__Modern_glDrawElementsInstancedBaseVertex_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsInstancedBaseVertex_c", XS_OpenGL__Modern_glDrawElementsInstancedBaseVertex_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsInstancedBaseVertexBaseInstanceEXT_c", XS_OpenGL__Modern_glDrawElementsInstancedBaseVertexBaseInstance_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDrawElementsInstancedBaseVertexBaseInstance_c", XS_OpenGL__Modern_glDrawElementsInstancedBaseVertexBaseInstance_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glDrawMeshTasksEXT", XS_OpenGL__Modern_glDrawMeshTasksEXT);
        newXS_deffile("OpenGL::Modern::glDrawMeshTasksIndirectEXT", XS_OpenGL__Modern_glDrawMeshTasksIndirectEXT);
        newXS_deffile("OpenGL::Modern::glDrawMeshTasksIndirectNV", XS_OpenGL__Modern_glDrawMeshTasksIndirectNV);
        newXS_deffile("OpenGL::Modern::glDrawMeshTasksNV", XS_OpenGL__Modern_glDrawMeshTasksNV);
        newXS_deffile("OpenGL::Modern::glDrawPixels_c", XS_OpenGL__Modern_glDrawPixels_c);
        newXS_deffile("OpenGL::Modern::glDrawRangeElementArrayAPPLE", XS_OpenGL__Modern_glDrawRangeElementArrayAPPLE);
        newXS_deffile("OpenGL::Modern::glDrawRangeElementArrayATI", XS_OpenGL__Modern_glDrawRangeElementArrayATI);
        cv = newXS_deffile("OpenGL::Modern::glDrawRangeElementsEXT_c", XS_OpenGL__Modern_glDrawRangeElements_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDrawRangeElements_c", XS_OpenGL__Modern_glDrawRangeElements_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDrawRangeElementsBaseVertexEXT_c", XS_OpenGL__Modern_glDrawRangeElementsBaseVertex_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDrawRangeElementsBaseVertex_c", XS_OpenGL__Modern_glDrawRangeElementsBaseVertex_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glDrawTextureNV", XS_OpenGL__Modern_glDrawTextureNV);
        cv = newXS_deffile("OpenGL::Modern::glDrawTransformFeedback", XS_OpenGL__Modern_glDrawTransformFeedback);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDrawTransformFeedbackEXT", XS_OpenGL__Modern_glDrawTransformFeedback);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glDrawTransformFeedbackNV", XS_OpenGL__Modern_glDrawTransformFeedback);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glDrawTransformFeedbackInstanced", XS_OpenGL__Modern_glDrawTransformFeedbackInstanced);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glDrawTransformFeedbackInstancedEXT", XS_OpenGL__Modern_glDrawTransformFeedbackInstanced);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glDrawTransformFeedbackStream", XS_OpenGL__Modern_glDrawTransformFeedbackStream);
        newXS_deffile("OpenGL::Modern::glDrawTransformFeedbackStreamInstanced", XS_OpenGL__Modern_glDrawTransformFeedbackStreamInstanced);
        newXS_deffile("OpenGL::Modern::glDrawVkImageNV", XS_OpenGL__Modern_glDrawVkImageNV);
        newXS_deffile("OpenGL::Modern::glEGLImageTargetRenderbufferStorageOES", XS_OpenGL__Modern_glEGLImageTargetRenderbufferStorageOES);
        newXS_deffile("OpenGL::Modern::glEGLImageTargetTexStorageEXT_c", XS_OpenGL__Modern_glEGLImageTargetTexStorageEXT_c);
        newXS_deffile("OpenGL::Modern::glEGLImageTargetTexture2DOES", XS_OpenGL__Modern_glEGLImageTargetTexture2DOES);
        newXS_deffile("OpenGL::Modern::glEGLImageTargetTextureStorageEXT_c", XS_OpenGL__Modern_glEGLImageTargetTextureStorageEXT_c);
        newXS_deffile("OpenGL::Modern::glEdgeFlag", XS_OpenGL__Modern_glEdgeFlag);
        newXS_deffile("OpenGL::Modern::glEdgeFlagFormatNV", XS_OpenGL__Modern_glEdgeFlagFormatNV);
        newXS_deffile("OpenGL::Modern::glEdgeFlagPointer_c", XS_OpenGL__Modern_glEdgeFlagPointer_c);
        newXS_deffile("OpenGL::Modern::glEdgeFlagPointerEXT_c", XS_OpenGL__Modern_glEdgeFlagPointerEXT_c);
        newXS_deffile("OpenGL::Modern::glEdgeFlagPointerListIBM_c", XS_OpenGL__Modern_glEdgeFlagPointerListIBM_c);
        newXS_deffile("OpenGL::Modern::glEdgeFlagv_c", XS_OpenGL__Modern_glEdgeFlagv_c);
        newXS_deffile("OpenGL::Modern::glEdgeFlagv_p", XS_OpenGL__Modern_glEdgeFlagv_p);
        newXS_deffile("OpenGL::Modern::glElementPointerAPPLE_c", XS_OpenGL__Modern_glElementPointerAPPLE_c);
        newXS_deffile("OpenGL::Modern::glElementPointerATI_c", XS_OpenGL__Modern_glElementPointerATI_c);
        newXS_deffile("OpenGL::Modern::glEnable", XS_OpenGL__Modern_glEnable);
        newXS_deffile("OpenGL::Modern::glEnableClientState", XS_OpenGL__Modern_glEnableClientState);
        newXS_deffile("OpenGL::Modern::glEnableClientStateIndexedEXT", XS_OpenGL__Modern_glEnableClientStateIndexedEXT);
        newXS_deffile("OpenGL::Modern::glEnableClientStateiEXT", XS_OpenGL__Modern_glEnableClientStateiEXT);
        newXS_deffile("OpenGL::Modern::glEnableDriverControlQCOM", XS_OpenGL__Modern_glEnableDriverControlQCOM);
        newXS_deffile("OpenGL::Modern::glEnableVariantClientStateEXT", XS_OpenGL__Modern_glEnableVariantClientStateEXT);
        newXS_deffile("OpenGL::Modern::glEnableVertexArrayAttrib", XS_OpenGL__Modern_glEnableVertexArrayAttrib);
        newXS_deffile("OpenGL::Modern::glEnableVertexArrayAttribEXT", XS_OpenGL__Modern_glEnableVertexArrayAttribEXT);
        newXS_deffile("OpenGL::Modern::glEnableVertexArrayEXT", XS_OpenGL__Modern_glEnableVertexArrayEXT);
        newXS_deffile("OpenGL::Modern::glEnableVertexAttribAPPLE", XS_OpenGL__Modern_glEnableVertexAttribAPPLE);
        cv = newXS_deffile("OpenGL::Modern::glEnableVertexAttribArray", XS_OpenGL__Modern_glEnableVertexAttribArray);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glEnableVertexAttribArrayARB", XS_OpenGL__Modern_glEnableVertexAttribArray);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glEnableIndexedEXT", XS_OpenGL__Modern_glEnablei);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glEnablei", XS_OpenGL__Modern_glEnablei);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glEnableiEXT", XS_OpenGL__Modern_glEnablei);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glEnableiNV", XS_OpenGL__Modern_glEnablei);
        XSANY.any_i32 = 3;
        newXS_deffile("OpenGL::Modern::glEnableiOES", XS_OpenGL__Modern_glEnableiOES);
        newXS_deffile("OpenGL::Modern::glEnd", XS_OpenGL__Modern_glEnd);
        cv = newXS_deffile("OpenGL::Modern::glEndConditionalRender", XS_OpenGL__Modern_glEndConditionalRender);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glEndConditionalRenderNV", XS_OpenGL__Modern_glEndConditionalRender);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glEndConditionalRenderNVX", XS_OpenGL__Modern_glEndConditionalRender);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glEndFragmentShaderATI", XS_OpenGL__Modern_glEndFragmentShaderATI);
        newXS_deffile("OpenGL::Modern::glEndList", XS_OpenGL__Modern_glEndList);
        newXS_deffile("OpenGL::Modern::glEndOcclusionQueryNV", XS_OpenGL__Modern_glEndOcclusionQueryNV);
        newXS_deffile("OpenGL::Modern::glEndPerfMonitorAMD", XS_OpenGL__Modern_glEndPerfMonitorAMD);
        newXS_deffile("OpenGL::Modern::glEndPerfQueryINTEL", XS_OpenGL__Modern_glEndPerfQueryINTEL);
        cv = newXS_deffile("OpenGL::Modern::glEndQuery", XS_OpenGL__Modern_glEndQuery);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glEndQueryARB", XS_OpenGL__Modern_glEndQuery);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glEndQueryANGLE", XS_OpenGL__Modern_glEndQueryANGLE);
        newXS_deffile("OpenGL::Modern::glEndQueryEXT", XS_OpenGL__Modern_glEndQueryEXT);
        newXS_deffile("OpenGL::Modern::glEndQueryIndexed", XS_OpenGL__Modern_glEndQueryIndexed);
        newXS_deffile("OpenGL::Modern::glEndSceneEXT", XS_OpenGL__Modern_glEndSceneEXT);
        newXS_deffile("OpenGL::Modern::glEndTilingQCOM", XS_OpenGL__Modern_glEndTilingQCOM);
        cv = newXS_deffile("OpenGL::Modern::glEndTransformFeedback", XS_OpenGL__Modern_glEndTransformFeedback);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glEndTransformFeedbackEXT", XS_OpenGL__Modern_glEndTransformFeedback);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glEndTransformFeedbackNV", XS_OpenGL__Modern_glEndTransformFeedback);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glEndVertexShaderEXT", XS_OpenGL__Modern_glEndVertexShaderEXT);
        newXS_deffile("OpenGL::Modern::glEndVideoCaptureNV", XS_OpenGL__Modern_glEndVideoCaptureNV);
        newXS_deffile("OpenGL::Modern::glEvalCoord1d", XS_OpenGL__Modern_glEvalCoord1d);
        newXS_deffile("OpenGL::Modern::glEvalCoord1dv_c", XS_OpenGL__Modern_glEvalCoord1dv_c);
        newXS_deffile("OpenGL::Modern::glEvalCoord1dv_p", XS_OpenGL__Modern_glEvalCoord1dv_p);
        newXS_deffile("OpenGL::Modern::glEvalCoord1f", XS_OpenGL__Modern_glEvalCoord1f);
        newXS_deffile("OpenGL::Modern::glEvalCoord1fv_c", XS_OpenGL__Modern_glEvalCoord1fv_c);
        newXS_deffile("OpenGL::Modern::glEvalCoord1fv_p", XS_OpenGL__Modern_glEvalCoord1fv_p);
        newXS_deffile("OpenGL::Modern::glEvalCoord2d", XS_OpenGL__Modern_glEvalCoord2d);
        newXS_deffile("OpenGL::Modern::glEvalCoord2dv_c", XS_OpenGL__Modern_glEvalCoord2dv_c);
        newXS_deffile("OpenGL::Modern::glEvalCoord2dv_p", XS_OpenGL__Modern_glEvalCoord2dv_p);
        newXS_deffile("OpenGL::Modern::glEvalCoord2f", XS_OpenGL__Modern_glEvalCoord2f);
        newXS_deffile("OpenGL::Modern::glEvalCoord2fv_c", XS_OpenGL__Modern_glEvalCoord2fv_c);
        newXS_deffile("OpenGL::Modern::glEvalCoord2fv_p", XS_OpenGL__Modern_glEvalCoord2fv_p);
        newXS_deffile("OpenGL::Modern::glEvalMapsNV", XS_OpenGL__Modern_glEvalMapsNV);
        newXS_deffile("OpenGL::Modern::glEvalMesh1", XS_OpenGL__Modern_glEvalMesh1);
        newXS_deffile("OpenGL::Modern::glEvalMesh2", XS_OpenGL__Modern_glEvalMesh2);
        newXS_deffile("OpenGL::Modern::glEvalPoint1", XS_OpenGL__Modern_glEvalPoint1);
        newXS_deffile("OpenGL::Modern::glEvalPoint2", XS_OpenGL__Modern_glEvalPoint2);
        newXS_deffile("OpenGL::Modern::glEvaluateDepthValuesARB", XS_OpenGL__Modern_glEvaluateDepthValuesARB);
        newXS_deffile("OpenGL::Modern::glExecuteProgramNV_c", XS_OpenGL__Modern_glExecuteProgramNV_c);
        newXS_deffile("OpenGL::Modern::glExecuteProgramNV_p", XS_OpenGL__Modern_glExecuteProgramNV_p);
        newXS_deffile("OpenGL::Modern::glExtGetBufferPointervQCOM_c", XS_OpenGL__Modern_glExtGetBufferPointervQCOM_c);
        newXS_deffile("OpenGL::Modern::glExtGetBuffersQCOM_c", XS_OpenGL__Modern_glExtGetBuffersQCOM_c);
        newXS_deffile("OpenGL::Modern::glExtGetBuffersQCOM_p", XS_OpenGL__Modern_glExtGetBuffersQCOM_p);
        newXS_deffile("OpenGL::Modern::glExtGetFramebuffersQCOM_c", XS_OpenGL__Modern_glExtGetFramebuffersQCOM_c);
        newXS_deffile("OpenGL::Modern::glExtGetFramebuffersQCOM_p", XS_OpenGL__Modern_glExtGetFramebuffersQCOM_p);
        newXS_deffile("OpenGL::Modern::glExtGetProgramBinarySourceQCOM_c", XS_OpenGL__Modern_glExtGetProgramBinarySourceQCOM_c);
        newXS_deffile("OpenGL::Modern::glExtGetProgramsQCOM_c", XS_OpenGL__Modern_glExtGetProgramsQCOM_c);
        newXS_deffile("OpenGL::Modern::glExtGetProgramsQCOM_p", XS_OpenGL__Modern_glExtGetProgramsQCOM_p);
        newXS_deffile("OpenGL::Modern::glExtGetRenderbuffersQCOM_c", XS_OpenGL__Modern_glExtGetRenderbuffersQCOM_c);
        newXS_deffile("OpenGL::Modern::glExtGetRenderbuffersQCOM_p", XS_OpenGL__Modern_glExtGetRenderbuffersQCOM_p);
        newXS_deffile("OpenGL::Modern::glExtGetShadersQCOM_c", XS_OpenGL__Modern_glExtGetShadersQCOM_c);
        newXS_deffile("OpenGL::Modern::glExtGetShadersQCOM_p", XS_OpenGL__Modern_glExtGetShadersQCOM_p);
        newXS_deffile("OpenGL::Modern::glExtGetTexLevelParameterivQCOM_c", XS_OpenGL__Modern_glExtGetTexLevelParameterivQCOM_c);
        newXS_deffile("OpenGL::Modern::glExtGetTexSubImageQCOM_c", XS_OpenGL__Modern_glExtGetTexSubImageQCOM_c);
        newXS_deffile("OpenGL::Modern::glExtGetTexturesQCOM_c", XS_OpenGL__Modern_glExtGetTexturesQCOM_c);
        newXS_deffile("OpenGL::Modern::glExtIsProgramBinaryQCOM", XS_OpenGL__Modern_glExtIsProgramBinaryQCOM);
        newXS_deffile("OpenGL::Modern::glExtTexObjectStateOverrideiQCOM", XS_OpenGL__Modern_glExtTexObjectStateOverrideiQCOM);
        newXS_deffile("OpenGL::Modern::glExtractComponentEXT", XS_OpenGL__Modern_glExtractComponentEXT);
        newXS_deffile("OpenGL::Modern::glExtrapolateTex2DQCOM", XS_OpenGL__Modern_glExtrapolateTex2DQCOM);
        newXS_deffile("OpenGL::Modern::glFeedbackBuffer_c", XS_OpenGL__Modern_glFeedbackBuffer_c);
        newXS_deffile("OpenGL::Modern::glFeedbackBuffer_p", XS_OpenGL__Modern_glFeedbackBuffer_p);
        cv = newXS_deffile("OpenGL::Modern::glFenceSync", XS_OpenGL__Modern_glFenceSync);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFenceSyncAPPLE", XS_OpenGL__Modern_glFenceSync);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glFinalCombinerInputNV", XS_OpenGL__Modern_glFinalCombinerInputNV);
        newXS_deffile("OpenGL::Modern::glFinish", XS_OpenGL__Modern_glFinish);
        newXS_deffile("OpenGL::Modern::glFinishAsyncSGIX_c", XS_OpenGL__Modern_glFinishAsyncSGIX_c);
        newXS_deffile("OpenGL::Modern::glFinishAsyncSGIX_p", XS_OpenGL__Modern_glFinishAsyncSGIX_p);
        newXS_deffile("OpenGL::Modern::glFinishFenceAPPLE", XS_OpenGL__Modern_glFinishFenceAPPLE);
        newXS_deffile("OpenGL::Modern::glFinishFenceNV", XS_OpenGL__Modern_glFinishFenceNV);
        newXS_deffile("OpenGL::Modern::glFinishObjectAPPLE", XS_OpenGL__Modern_glFinishObjectAPPLE);
        newXS_deffile("OpenGL::Modern::glFinishTextureSUNX", XS_OpenGL__Modern_glFinishTextureSUNX);
        newXS_deffile("OpenGL::Modern::glFlush", XS_OpenGL__Modern_glFlush);
        cv = newXS_deffile("OpenGL::Modern::glFlushMappedBufferRange", XS_OpenGL__Modern_glFlushMappedBufferRange);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFlushMappedBufferRangeAPPLE", XS_OpenGL__Modern_glFlushMappedBufferRange);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFlushMappedBufferRangeEXT", XS_OpenGL__Modern_glFlushMappedBufferRange);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glFlushMappedNamedBufferRange", XS_OpenGL__Modern_glFlushMappedNamedBufferRange);
        newXS_deffile("OpenGL::Modern::glFlushMappedNamedBufferRangeEXT", XS_OpenGL__Modern_glFlushMappedNamedBufferRangeEXT);
        newXS_deffile("OpenGL::Modern::glFlushPixelDataRangeNV", XS_OpenGL__Modern_glFlushPixelDataRangeNV);
        newXS_deffile("OpenGL::Modern::glFlushRasterSGIX", XS_OpenGL__Modern_glFlushRasterSGIX);
        newXS_deffile("OpenGL::Modern::glFlushVertexArrayRangeAPPLE_c", XS_OpenGL__Modern_glFlushVertexArrayRangeAPPLE_c);
        newXS_deffile("OpenGL::Modern::glFlushVertexArrayRangeNV", XS_OpenGL__Modern_glFlushVertexArrayRangeNV);
        newXS_deffile("OpenGL::Modern::glFogCoordFormatNV", XS_OpenGL__Modern_glFogCoordFormatNV);
        cv = newXS_deffile("OpenGL::Modern::glFogCoordPointerEXT_c", XS_OpenGL__Modern_glFogCoordPointer_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFogCoordPointer_c", XS_OpenGL__Modern_glFogCoordPointer_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glFogCoordPointerListIBM_c", XS_OpenGL__Modern_glFogCoordPointerListIBM_c);
        cv = newXS_deffile("OpenGL::Modern::glFogCoordd", XS_OpenGL__Modern_glFogCoordd);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFogCoorddEXT", XS_OpenGL__Modern_glFogCoordd);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFogCoorddvEXT_c", XS_OpenGL__Modern_glFogCoorddv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFogCoorddv_c", XS_OpenGL__Modern_glFogCoorddv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFogCoorddvEXT_p", XS_OpenGL__Modern_glFogCoorddv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFogCoorddv_p", XS_OpenGL__Modern_glFogCoorddv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFogCoordf", XS_OpenGL__Modern_glFogCoordf);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFogCoordfEXT", XS_OpenGL__Modern_glFogCoordf);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFogCoordfvEXT_c", XS_OpenGL__Modern_glFogCoordfv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFogCoordfv_c", XS_OpenGL__Modern_glFogCoordfv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFogCoordfvEXT_p", XS_OpenGL__Modern_glFogCoordfv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFogCoordfv_p", XS_OpenGL__Modern_glFogCoordfv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glFogCoordhNV", XS_OpenGL__Modern_glFogCoordhNV);
        newXS_deffile("OpenGL::Modern::glFogCoordhvNV_c", XS_OpenGL__Modern_glFogCoordhvNV_c);
        newXS_deffile("OpenGL::Modern::glFogCoordhvNV_p", XS_OpenGL__Modern_glFogCoordhvNV_p);
        newXS_deffile("OpenGL::Modern::glFogFuncSGIS_c", XS_OpenGL__Modern_glFogFuncSGIS_c);
        newXS_deffile("OpenGL::Modern::glFogFuncSGIS_p", XS_OpenGL__Modern_glFogFuncSGIS_p);
        newXS_deffile("OpenGL::Modern::glFogLayersSGIX_c", XS_OpenGL__Modern_glFogLayersSGIX_c);
        newXS_deffile("OpenGL::Modern::glFogf", XS_OpenGL__Modern_glFogf);
        newXS_deffile("OpenGL::Modern::glFogfv_c", XS_OpenGL__Modern_glFogfv_c);
        newXS_deffile("OpenGL::Modern::glFogfv_p", XS_OpenGL__Modern_glFogfv_p);
        newXS_deffile("OpenGL::Modern::glFogi", XS_OpenGL__Modern_glFogi);
        newXS_deffile("OpenGL::Modern::glFogiv_c", XS_OpenGL__Modern_glFogiv_c);
        newXS_deffile("OpenGL::Modern::glFogiv_p", XS_OpenGL__Modern_glFogiv_p);
        newXS_deffile("OpenGL::Modern::glFogx", XS_OpenGL__Modern_glFogx);
        newXS_deffile("OpenGL::Modern::glFogxv_c", XS_OpenGL__Modern_glFogxv_c);
        newXS_deffile("OpenGL::Modern::glFogxv_p", XS_OpenGL__Modern_glFogxv_p);
        newXS_deffile("OpenGL::Modern::glFragmentColorMaterialEXT", XS_OpenGL__Modern_glFragmentColorMaterialEXT);
        newXS_deffile("OpenGL::Modern::glFragmentColorMaterialSGIX", XS_OpenGL__Modern_glFragmentColorMaterialSGIX);
        newXS_deffile("OpenGL::Modern::glFragmentCoverageColorNV", XS_OpenGL__Modern_glFragmentCoverageColorNV);
        newXS_deffile("OpenGL::Modern::glFragmentLightModelfEXT", XS_OpenGL__Modern_glFragmentLightModelfEXT);
        newXS_deffile("OpenGL::Modern::glFragmentLightModelfSGIX", XS_OpenGL__Modern_glFragmentLightModelfSGIX);
        newXS_deffile("OpenGL::Modern::glFragmentLightModelfvEXT_c", XS_OpenGL__Modern_glFragmentLightModelfvEXT_c);
        newXS_deffile("OpenGL::Modern::glFragmentLightModelfvSGIX_c", XS_OpenGL__Modern_glFragmentLightModelfvSGIX_c);
        newXS_deffile("OpenGL::Modern::glFragmentLightModeliEXT", XS_OpenGL__Modern_glFragmentLightModeliEXT);
        newXS_deffile("OpenGL::Modern::glFragmentLightModeliSGIX", XS_OpenGL__Modern_glFragmentLightModeliSGIX);
        newXS_deffile("OpenGL::Modern::glFragmentLightModelivEXT_c", XS_OpenGL__Modern_glFragmentLightModelivEXT_c);
        newXS_deffile("OpenGL::Modern::glFragmentLightModelivSGIX_c", XS_OpenGL__Modern_glFragmentLightModelivSGIX_c);
        newXS_deffile("OpenGL::Modern::glFragmentLightfEXT", XS_OpenGL__Modern_glFragmentLightfEXT);
        newXS_deffile("OpenGL::Modern::glFragmentLightfSGIX", XS_OpenGL__Modern_glFragmentLightfSGIX);
        newXS_deffile("OpenGL::Modern::glFragmentLightfvEXT_c", XS_OpenGL__Modern_glFragmentLightfvEXT_c);
        newXS_deffile("OpenGL::Modern::glFragmentLightfvSGIX_c", XS_OpenGL__Modern_glFragmentLightfvSGIX_c);
        newXS_deffile("OpenGL::Modern::glFragmentLightfvSGIX_p", XS_OpenGL__Modern_glFragmentLightfvSGIX_p);
        newXS_deffile("OpenGL::Modern::glFragmentLightiEXT", XS_OpenGL__Modern_glFragmentLightiEXT);
        newXS_deffile("OpenGL::Modern::glFragmentLightiSGIX", XS_OpenGL__Modern_glFragmentLightiSGIX);
        newXS_deffile("OpenGL::Modern::glFragmentLightivEXT_c", XS_OpenGL__Modern_glFragmentLightivEXT_c);
        newXS_deffile("OpenGL::Modern::glFragmentLightivSGIX_c", XS_OpenGL__Modern_glFragmentLightivSGIX_c);
        newXS_deffile("OpenGL::Modern::glFragmentLightivSGIX_p", XS_OpenGL__Modern_glFragmentLightivSGIX_p);
        newXS_deffile("OpenGL::Modern::glFragmentMaterialfEXT", XS_OpenGL__Modern_glFragmentMaterialfEXT);
        newXS_deffile("OpenGL::Modern::glFragmentMaterialfSGIX", XS_OpenGL__Modern_glFragmentMaterialfSGIX);
        newXS_deffile("OpenGL::Modern::glFragmentMaterialfvEXT_c", XS_OpenGL__Modern_glFragmentMaterialfvEXT_c);
        newXS_deffile("OpenGL::Modern::glFragmentMaterialfvSGIX_c", XS_OpenGL__Modern_glFragmentMaterialfvSGIX_c);
        newXS_deffile("OpenGL::Modern::glFragmentMaterialfvSGIX_p", XS_OpenGL__Modern_glFragmentMaterialfvSGIX_p);
        newXS_deffile("OpenGL::Modern::glFragmentMaterialiEXT", XS_OpenGL__Modern_glFragmentMaterialiEXT);
        newXS_deffile("OpenGL::Modern::glFragmentMaterialiSGIX", XS_OpenGL__Modern_glFragmentMaterialiSGIX);
        newXS_deffile("OpenGL::Modern::glFragmentMaterialivEXT_c", XS_OpenGL__Modern_glFragmentMaterialivEXT_c);
        newXS_deffile("OpenGL::Modern::glFragmentMaterialivSGIX_c", XS_OpenGL__Modern_glFragmentMaterialivSGIX_c);
        newXS_deffile("OpenGL::Modern::glFragmentMaterialivSGIX_p", XS_OpenGL__Modern_glFragmentMaterialivSGIX_p);
        newXS_deffile("OpenGL::Modern::glFrameTerminatorGREMEDY", XS_OpenGL__Modern_glFrameTerminatorGREMEDY);
        newXS_deffile("OpenGL::Modern::glFrameZoomSGIX", XS_OpenGL__Modern_glFrameZoomSGIX);
        newXS_deffile("OpenGL::Modern::glFramebufferDrawBufferEXT", XS_OpenGL__Modern_glFramebufferDrawBufferEXT);
        newXS_deffile("OpenGL::Modern::glFramebufferDrawBuffersEXT_c", XS_OpenGL__Modern_glFramebufferDrawBuffersEXT_c);
        newXS_deffile("OpenGL::Modern::glFramebufferDrawBuffersEXT_p", XS_OpenGL__Modern_glFramebufferDrawBuffersEXT_p);
        newXS_deffile("OpenGL::Modern::glFramebufferFetchBarrierEXT", XS_OpenGL__Modern_glFramebufferFetchBarrierEXT);
        newXS_deffile("OpenGL::Modern::glFramebufferFetchBarrierQCOM", XS_OpenGL__Modern_glFramebufferFetchBarrierQCOM);
        newXS_deffile("OpenGL::Modern::glFramebufferFoveationConfigQCOM_c", XS_OpenGL__Modern_glFramebufferFoveationConfigQCOM_c);
        newXS_deffile("OpenGL::Modern::glFramebufferFoveationConfigQCOM_p", XS_OpenGL__Modern_glFramebufferFoveationConfigQCOM_p);
        newXS_deffile("OpenGL::Modern::glFramebufferFoveationParametersQCOM", XS_OpenGL__Modern_glFramebufferFoveationParametersQCOM);
        newXS_deffile("OpenGL::Modern::glFramebufferParameteri", XS_OpenGL__Modern_glFramebufferParameteri);
        newXS_deffile("OpenGL::Modern::glFramebufferParameteriMESA", XS_OpenGL__Modern_glFramebufferParameteriMESA);
        newXS_deffile("OpenGL::Modern::glFramebufferPixelLocalStorageSizeEXT", XS_OpenGL__Modern_glFramebufferPixelLocalStorageSizeEXT);
        newXS_deffile("OpenGL::Modern::glFramebufferReadBufferEXT", XS_OpenGL__Modern_glFramebufferReadBufferEXT);
        cv = newXS_deffile("OpenGL::Modern::glFramebufferRenderbuffer", XS_OpenGL__Modern_glFramebufferRenderbuffer);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferRenderbufferEXT", XS_OpenGL__Modern_glFramebufferRenderbuffer);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glFramebufferRenderbufferOES", XS_OpenGL__Modern_glFramebufferRenderbufferOES);
        newXS_deffile("OpenGL::Modern::glFramebufferSampleLocationsfvARB_c", XS_OpenGL__Modern_glFramebufferSampleLocationsfvARB_c);
        newXS_deffile("OpenGL::Modern::glFramebufferSampleLocationsfvNV_c", XS_OpenGL__Modern_glFramebufferSampleLocationsfvNV_c);
        newXS_deffile("OpenGL::Modern::glFramebufferSamplePositionsfvAMD_c", XS_OpenGL__Modern_glFramebufferSamplePositionsfvAMD_c);
        newXS_deffile("OpenGL::Modern::glFramebufferShadingRateEXT", XS_OpenGL__Modern_glFramebufferShadingRateEXT);
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTexture", XS_OpenGL__Modern_glFramebufferTexture);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTextureARB", XS_OpenGL__Modern_glFramebufferTexture);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTextureEXT", XS_OpenGL__Modern_glFramebufferTexture);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTexture1D", XS_OpenGL__Modern_glFramebufferTexture1D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTexture1DEXT", XS_OpenGL__Modern_glFramebufferTexture1D);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTexture2D", XS_OpenGL__Modern_glFramebufferTexture2D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTexture2DEXT", XS_OpenGL__Modern_glFramebufferTexture2D);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glFramebufferTexture2DDownsampleIMG", XS_OpenGL__Modern_glFramebufferTexture2DDownsampleIMG);
        newXS_deffile("OpenGL::Modern::glFramebufferTexture2DMultisampleEXT", XS_OpenGL__Modern_glFramebufferTexture2DMultisampleEXT);
        newXS_deffile("OpenGL::Modern::glFramebufferTexture2DMultisampleIMG", XS_OpenGL__Modern_glFramebufferTexture2DMultisampleIMG);
        newXS_deffile("OpenGL::Modern::glFramebufferTexture2DOES", XS_OpenGL__Modern_glFramebufferTexture2DOES);
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTexture3D", XS_OpenGL__Modern_glFramebufferTexture3D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTexture3DEXT", XS_OpenGL__Modern_glFramebufferTexture3D);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glFramebufferTexture3DOES", XS_OpenGL__Modern_glFramebufferTexture3DOES);
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTextureFaceARB", XS_OpenGL__Modern_glFramebufferTextureFaceARB);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTextureFaceEXT", XS_OpenGL__Modern_glFramebufferTextureFaceARB);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTextureLayer", XS_OpenGL__Modern_glFramebufferTextureLayer);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTextureLayerARB", XS_OpenGL__Modern_glFramebufferTextureLayer);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glFramebufferTextureLayerEXT", XS_OpenGL__Modern_glFramebufferTextureLayer);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glFramebufferTextureLayerDownsampleIMG", XS_OpenGL__Modern_glFramebufferTextureLayerDownsampleIMG);
        newXS_deffile("OpenGL::Modern::glFramebufferTextureLayerNV", XS_OpenGL__Modern_glFramebufferTextureLayerNV);
        newXS_deffile("OpenGL::Modern::glFramebufferTextureMultisampleMultiviewOVR", XS_OpenGL__Modern_glFramebufferTextureMultisampleMultiviewOVR);
        newXS_deffile("OpenGL::Modern::glFramebufferTextureMultiviewOVR", XS_OpenGL__Modern_glFramebufferTextureMultiviewOVR);
        newXS_deffile("OpenGL::Modern::glFreeObjectBufferATI", XS_OpenGL__Modern_glFreeObjectBufferATI);
        newXS_deffile("OpenGL::Modern::glFrontFace", XS_OpenGL__Modern_glFrontFace);
        newXS_deffile("OpenGL::Modern::glFrustum", XS_OpenGL__Modern_glFrustum);
        newXS_deffile("OpenGL::Modern::glFrustumf", XS_OpenGL__Modern_glFrustumf);
        newXS_deffile("OpenGL::Modern::glFrustumfOES", XS_OpenGL__Modern_glFrustumfOES);
        newXS_deffile("OpenGL::Modern::glFrustumx", XS_OpenGL__Modern_glFrustumx);
        newXS_deffile("OpenGL::Modern::glGenAsyncMarkersSGIX", XS_OpenGL__Modern_glGenAsyncMarkersSGIX);
        cv = newXS_deffile("OpenGL::Modern::glGenBuffersARB_c", XS_OpenGL__Modern_glGenBuffers_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenBuffers_c", XS_OpenGL__Modern_glGenBuffers_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGenBuffersARB_p", XS_OpenGL__Modern_glGenBuffers_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenBuffers_p", XS_OpenGL__Modern_glGenBuffers_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGenFencesAPPLE_c", XS_OpenGL__Modern_glGenFencesAPPLE_c);
        newXS_deffile("OpenGL::Modern::glGenFencesAPPLE_p", XS_OpenGL__Modern_glGenFencesAPPLE_p);
        newXS_deffile("OpenGL::Modern::glGenFencesNV_c", XS_OpenGL__Modern_glGenFencesNV_c);
        newXS_deffile("OpenGL::Modern::glGenFencesNV_p", XS_OpenGL__Modern_glGenFencesNV_p);
        newXS_deffile("OpenGL::Modern::glGenFragmentShadersATI", XS_OpenGL__Modern_glGenFragmentShadersATI);
        cv = newXS_deffile("OpenGL::Modern::glGenFramebuffersEXT_c", XS_OpenGL__Modern_glGenFramebuffers_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenFramebuffers_c", XS_OpenGL__Modern_glGenFramebuffers_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGenFramebuffersEXT_p", XS_OpenGL__Modern_glGenFramebuffers_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenFramebuffers_p", XS_OpenGL__Modern_glGenFramebuffers_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGenFramebuffersOES_c", XS_OpenGL__Modern_glGenFramebuffersOES_c);
        newXS_deffile("OpenGL::Modern::glGenLists", XS_OpenGL__Modern_glGenLists);
        newXS_deffile("OpenGL::Modern::glGenMPEGPredictorsSGIX_c", XS_OpenGL__Modern_glGenMPEGPredictorsSGIX_c);
        newXS_deffile("OpenGL::Modern::glGenNamesAMD_c", XS_OpenGL__Modern_glGenNamesAMD_c);
        newXS_deffile("OpenGL::Modern::glGenNamesAMD_p", XS_OpenGL__Modern_glGenNamesAMD_p);
        newXS_deffile("OpenGL::Modern::glGenOcclusionQueriesNV_c", XS_OpenGL__Modern_glGenOcclusionQueriesNV_c);
        newXS_deffile("OpenGL::Modern::glGenOcclusionQueriesNV_p", XS_OpenGL__Modern_glGenOcclusionQueriesNV_p);
        newXS_deffile("OpenGL::Modern::glGenPathsNV", XS_OpenGL__Modern_glGenPathsNV);
        newXS_deffile("OpenGL::Modern::glGenPerfMonitorsAMD_c", XS_OpenGL__Modern_glGenPerfMonitorsAMD_c);
        newXS_deffile("OpenGL::Modern::glGenPerfMonitorsAMD_p", XS_OpenGL__Modern_glGenPerfMonitorsAMD_p);
        newXS_deffile("OpenGL::Modern::glGenProgramPipelines_c", XS_OpenGL__Modern_glGenProgramPipelines_c);
        newXS_deffile("OpenGL::Modern::glGenProgramPipelines_p", XS_OpenGL__Modern_glGenProgramPipelines_p);
        cv = newXS_deffile("OpenGL::Modern::glGenProgramsARB_c", XS_OpenGL__Modern_glGenProgramsARB_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGenProgramsNV_c", XS_OpenGL__Modern_glGenProgramsARB_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenProgramsARB_p", XS_OpenGL__Modern_glGenProgramsARB_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGenProgramsNV_p", XS_OpenGL__Modern_glGenProgramsARB_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenQueriesARB_c", XS_OpenGL__Modern_glGenQueries_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenQueries_c", XS_OpenGL__Modern_glGenQueries_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGenQueriesARB_p", XS_OpenGL__Modern_glGenQueries_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenQueries_p", XS_OpenGL__Modern_glGenQueries_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGenQueriesANGLE_c", XS_OpenGL__Modern_glGenQueriesANGLE_c);
        newXS_deffile("OpenGL::Modern::glGenQueriesEXT_c", XS_OpenGL__Modern_glGenQueriesEXT_c);
        newXS_deffile("OpenGL::Modern::glGenQueriesEXT_p", XS_OpenGL__Modern_glGenQueriesEXT_p);
        cv = newXS_deffile("OpenGL::Modern::glGenRenderbuffersEXT_c", XS_OpenGL__Modern_glGenRenderbuffers_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenRenderbuffers_c", XS_OpenGL__Modern_glGenRenderbuffers_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGenRenderbuffersEXT_p", XS_OpenGL__Modern_glGenRenderbuffers_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenRenderbuffers_p", XS_OpenGL__Modern_glGenRenderbuffers_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGenRenderbuffersOES_c", XS_OpenGL__Modern_glGenRenderbuffersOES_c);
        newXS_deffile("OpenGL::Modern::glGenSamplers_c", XS_OpenGL__Modern_glGenSamplers_c);
        newXS_deffile("OpenGL::Modern::glGenSamplers_p", XS_OpenGL__Modern_glGenSamplers_p);
        newXS_deffile("OpenGL::Modern::glGenSemaphoresEXT_c", XS_OpenGL__Modern_glGenSemaphoresEXT_c);
        newXS_deffile("OpenGL::Modern::glGenSemaphoresEXT_p", XS_OpenGL__Modern_glGenSemaphoresEXT_p);
        newXS_deffile("OpenGL::Modern::glGenSymbolsEXT", XS_OpenGL__Modern_glGenSymbolsEXT);
        newXS_deffile("OpenGL::Modern::glGenTextures_c", XS_OpenGL__Modern_glGenTextures_c);
        newXS_deffile("OpenGL::Modern::glGenTextures_p", XS_OpenGL__Modern_glGenTextures_p);
        newXS_deffile("OpenGL::Modern::glGenTexturesEXT_c", XS_OpenGL__Modern_glGenTexturesEXT_c);
        newXS_deffile("OpenGL::Modern::glGenTexturesEXT_p", XS_OpenGL__Modern_glGenTexturesEXT_p);
        cv = newXS_deffile("OpenGL::Modern::glGenTransformFeedbacksNV_c", XS_OpenGL__Modern_glGenTransformFeedbacks_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenTransformFeedbacks_c", XS_OpenGL__Modern_glGenTransformFeedbacks_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGenTransformFeedbacksNV_p", XS_OpenGL__Modern_glGenTransformFeedbacks_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenTransformFeedbacks_p", XS_OpenGL__Modern_glGenTransformFeedbacks_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGenVertexArraysAPPLE_c", XS_OpenGL__Modern_glGenVertexArrays_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenVertexArrays_c", XS_OpenGL__Modern_glGenVertexArrays_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGenVertexArraysAPPLE_p", XS_OpenGL__Modern_glGenVertexArrays_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGenVertexArrays_p", XS_OpenGL__Modern_glGenVertexArrays_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGenVertexArraysOES_c", XS_OpenGL__Modern_glGenVertexArraysOES_c);
        newXS_deffile("OpenGL::Modern::glGenVertexArraysSGIX_c", XS_OpenGL__Modern_glGenVertexArraysSGIX_c);
        newXS_deffile("OpenGL::Modern::glGenVertexShadersEXT", XS_OpenGL__Modern_glGenVertexShadersEXT);
        cv = newXS_deffile("OpenGL::Modern::glGenerateMipmap", XS_OpenGL__Modern_glGenerateMipmap);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGenerateMipmapEXT", XS_OpenGL__Modern_glGenerateMipmap);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glGenerateMipmapOES", XS_OpenGL__Modern_glGenerateMipmapOES);
        newXS_deffile("OpenGL::Modern::glGenerateMultiTexMipmapEXT", XS_OpenGL__Modern_glGenerateMultiTexMipmapEXT);
        newXS_deffile("OpenGL::Modern::glGenerateTextureMipmap", XS_OpenGL__Modern_glGenerateTextureMipmap);
        newXS_deffile("OpenGL::Modern::glGenerateTextureMipmapEXT", XS_OpenGL__Modern_glGenerateTextureMipmapEXT);
        newXS_deffile("OpenGL::Modern::glGetActiveAtomicCounterBufferiv_c", XS_OpenGL__Modern_glGetActiveAtomicCounterBufferiv_c);
        newXS_deffile("OpenGL::Modern::glGetActiveAtomicCounterBufferiv_p", XS_OpenGL__Modern_glGetActiveAtomicCounterBufferiv_p);
        newXS_deffile("OpenGL::Modern::glGetActiveAttrib_c", XS_OpenGL__Modern_glGetActiveAttrib_c);
        newXS_deffile("OpenGL::Modern::glGetActiveAttrib_p", XS_OpenGL__Modern_glGetActiveAttrib_p);
        newXS_deffile("OpenGL::Modern::glGetActiveAttribARB_c", XS_OpenGL__Modern_glGetActiveAttribARB_c);
        newXS_deffile("OpenGL::Modern::glGetActiveAttribARB_p", XS_OpenGL__Modern_glGetActiveAttribARB_p);
        newXS_deffile("OpenGL::Modern::glGetActiveSubroutineName_c", XS_OpenGL__Modern_glGetActiveSubroutineName_c);
        newXS_deffile("OpenGL::Modern::glGetActiveSubroutineName_p", XS_OpenGL__Modern_glGetActiveSubroutineName_p);
        newXS_deffile("OpenGL::Modern::glGetActiveSubroutineUniformName_c", XS_OpenGL__Modern_glGetActiveSubroutineUniformName_c);
        newXS_deffile("OpenGL::Modern::glGetActiveSubroutineUniformName_p", XS_OpenGL__Modern_glGetActiveSubroutineUniformName_p);
        newXS_deffile("OpenGL::Modern::glGetActiveSubroutineUniformiv_c", XS_OpenGL__Modern_glGetActiveSubroutineUniformiv_c);
        newXS_deffile("OpenGL::Modern::glGetActiveSubroutineUniformiv_p", XS_OpenGL__Modern_glGetActiveSubroutineUniformiv_p);
        newXS_deffile("OpenGL::Modern::glGetActiveUniform_c", XS_OpenGL__Modern_glGetActiveUniform_c);
        newXS_deffile("OpenGL::Modern::glGetActiveUniform_p", XS_OpenGL__Modern_glGetActiveUniform_p);
        newXS_deffile("OpenGL::Modern::glGetActiveUniformARB_c", XS_OpenGL__Modern_glGetActiveUniformARB_c);
        newXS_deffile("OpenGL::Modern::glGetActiveUniformARB_p", XS_OpenGL__Modern_glGetActiveUniformARB_p);
        newXS_deffile("OpenGL::Modern::glGetActiveUniformBlockName_c", XS_OpenGL__Modern_glGetActiveUniformBlockName_c);
        newXS_deffile("OpenGL::Modern::glGetActiveUniformBlockName_p", XS_OpenGL__Modern_glGetActiveUniformBlockName_p);
        newXS_deffile("OpenGL::Modern::glGetActiveUniformBlockiv_c", XS_OpenGL__Modern_glGetActiveUniformBlockiv_c);
        newXS_deffile("OpenGL::Modern::glGetActiveUniformName_c", XS_OpenGL__Modern_glGetActiveUniformName_c);
        newXS_deffile("OpenGL::Modern::glGetActiveUniformName_p", XS_OpenGL__Modern_glGetActiveUniformName_p);
        newXS_deffile("OpenGL::Modern::glGetActiveUniformsiv_c", XS_OpenGL__Modern_glGetActiveUniformsiv_c);
        newXS_deffile("OpenGL::Modern::glGetActiveUniformsiv_p", XS_OpenGL__Modern_glGetActiveUniformsiv_p);
        newXS_deffile("OpenGL::Modern::glGetActiveVaryingNV_c", XS_OpenGL__Modern_glGetActiveVaryingNV_c);
        newXS_deffile("OpenGL::Modern::glGetActiveVaryingNV_p", XS_OpenGL__Modern_glGetActiveVaryingNV_p);
        newXS_deffile("OpenGL::Modern::glGetArrayObjectfvATI_c", XS_OpenGL__Modern_glGetArrayObjectfvATI_c);
        newXS_deffile("OpenGL::Modern::glGetArrayObjectfvATI_p", XS_OpenGL__Modern_glGetArrayObjectfvATI_p);
        newXS_deffile("OpenGL::Modern::glGetArrayObjectivATI_c", XS_OpenGL__Modern_glGetArrayObjectivATI_c);
        newXS_deffile("OpenGL::Modern::glGetArrayObjectivATI_p", XS_OpenGL__Modern_glGetArrayObjectivATI_p);
        newXS_deffile("OpenGL::Modern::glGetAttachedObjectsARB_c", XS_OpenGL__Modern_glGetAttachedObjectsARB_c);
        newXS_deffile("OpenGL::Modern::glGetAttachedShaders_c", XS_OpenGL__Modern_glGetAttachedShaders_c);
        newXS_deffile("OpenGL::Modern::glGetAttachedShaders_p", XS_OpenGL__Modern_glGetAttachedShaders_p);
        newXS_deffile("OpenGL::Modern::glGetAttribLocation", XS_OpenGL__Modern_glGetAttribLocation);
        newXS_deffile("OpenGL::Modern::glGetAttribLocationARB", XS_OpenGL__Modern_glGetAttribLocationARB);
        cv = newXS_deffile("OpenGL::Modern::glGetBooleanIndexedvEXT_c", XS_OpenGL__Modern_glGetBooleani_v_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetBooleani_v_c", XS_OpenGL__Modern_glGetBooleani_v_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetBooleanIndexedvEXT_p", XS_OpenGL__Modern_glGetBooleani_v_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetBooleani_v_p", XS_OpenGL__Modern_glGetBooleani_v_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetBooleanv_c", XS_OpenGL__Modern_glGetBooleanv_c);
        newXS_deffile("OpenGL::Modern::glGetBooleanv_p", XS_OpenGL__Modern_glGetBooleanv_p);
        newXS_deffile("OpenGL::Modern::glGetBufferParameteri64v_c", XS_OpenGL__Modern_glGetBufferParameteri64v_c);
        newXS_deffile("OpenGL::Modern::glGetBufferParameteri64v_p", XS_OpenGL__Modern_glGetBufferParameteri64v_p);
        cv = newXS_deffile("OpenGL::Modern::glGetBufferParameterivARB_c", XS_OpenGL__Modern_glGetBufferParameteriv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetBufferParameteriv_c", XS_OpenGL__Modern_glGetBufferParameteriv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetBufferParameterivARB_p", XS_OpenGL__Modern_glGetBufferParameteriv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetBufferParameteriv_p", XS_OpenGL__Modern_glGetBufferParameteriv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetBufferParameterui64vNV_c", XS_OpenGL__Modern_glGetBufferParameterui64vNV_c);
        cv = newXS_deffile("OpenGL::Modern::glGetBufferPointervARB_c", XS_OpenGL__Modern_glGetBufferPointerv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetBufferPointerv_c", XS_OpenGL__Modern_glGetBufferPointerv_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetBufferPointervOES_c", XS_OpenGL__Modern_glGetBufferPointervOES_c);
        cv = newXS_deffile("OpenGL::Modern::glGetBufferSubDataARB_c", XS_OpenGL__Modern_glGetBufferSubData_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetBufferSubData_c", XS_OpenGL__Modern_glGetBufferSubData_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetClipPlane_c", XS_OpenGL__Modern_glGetClipPlane_c);
        newXS_deffile("OpenGL::Modern::glGetClipPlane_p", XS_OpenGL__Modern_glGetClipPlane_p);
        newXS_deffile("OpenGL::Modern::glGetClipPlanef_c", XS_OpenGL__Modern_glGetClipPlanef_c);
        newXS_deffile("OpenGL::Modern::glGetClipPlanef_p", XS_OpenGL__Modern_glGetClipPlanef_p);
        newXS_deffile("OpenGL::Modern::glGetClipPlanefOES_c", XS_OpenGL__Modern_glGetClipPlanefOES_c);
        newXS_deffile("OpenGL::Modern::glGetClipPlanex_c", XS_OpenGL__Modern_glGetClipPlanex_c);
        newXS_deffile("OpenGL::Modern::glGetClipPlanex_p", XS_OpenGL__Modern_glGetClipPlanex_p);
        cv = newXS_deffile("OpenGL::Modern::glGetColorTableEXT_c", XS_OpenGL__Modern_glGetColorTable_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetColorTable_c", XS_OpenGL__Modern_glGetColorTable_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetColorTableParameterfvEXT_c", XS_OpenGL__Modern_glGetColorTableParameterfv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetColorTableParameterfv_c", XS_OpenGL__Modern_glGetColorTableParameterfv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetColorTableParameterfvEXT_p", XS_OpenGL__Modern_glGetColorTableParameterfv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetColorTableParameterfv_p", XS_OpenGL__Modern_glGetColorTableParameterfv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetColorTableParameterfvSGI_c", XS_OpenGL__Modern_glGetColorTableParameterfvSGI_c);
        newXS_deffile("OpenGL::Modern::glGetColorTableParameterfvSGI_p", XS_OpenGL__Modern_glGetColorTableParameterfvSGI_p);
        cv = newXS_deffile("OpenGL::Modern::glGetColorTableParameterivEXT_c", XS_OpenGL__Modern_glGetColorTableParameteriv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetColorTableParameteriv_c", XS_OpenGL__Modern_glGetColorTableParameteriv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetColorTableParameterivEXT_p", XS_OpenGL__Modern_glGetColorTableParameteriv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetColorTableParameteriv_p", XS_OpenGL__Modern_glGetColorTableParameteriv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetColorTableParameterivSGI_c", XS_OpenGL__Modern_glGetColorTableParameterivSGI_c);
        newXS_deffile("OpenGL::Modern::glGetColorTableParameterivSGI_p", XS_OpenGL__Modern_glGetColorTableParameterivSGI_p);
        newXS_deffile("OpenGL::Modern::glGetColorTableSGI_c", XS_OpenGL__Modern_glGetColorTableSGI_c);
        newXS_deffile("OpenGL::Modern::glGetCombinerInputParameterfvNV_c", XS_OpenGL__Modern_glGetCombinerInputParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetCombinerInputParameterivNV_c", XS_OpenGL__Modern_glGetCombinerInputParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glGetCombinerOutputParameterfvNV_c", XS_OpenGL__Modern_glGetCombinerOutputParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetCombinerOutputParameterivNV_c", XS_OpenGL__Modern_glGetCombinerOutputParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glGetCombinerStageParameterfvNV_c", XS_OpenGL__Modern_glGetCombinerStageParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetCommandHeaderNV", XS_OpenGL__Modern_glGetCommandHeaderNV);
        newXS_deffile("OpenGL::Modern::glGetCompressedMultiTexImageEXT_c", XS_OpenGL__Modern_glGetCompressedMultiTexImageEXT_c);
        cv = newXS_deffile("OpenGL::Modern::glGetCompressedTexImageARB_c", XS_OpenGL__Modern_glGetCompressedTexImage_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetCompressedTexImage_c", XS_OpenGL__Modern_glGetCompressedTexImage_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetCompressedTextureImage_c", XS_OpenGL__Modern_glGetCompressedTextureImage_c);
        newXS_deffile("OpenGL::Modern::glGetCompressedTextureImageEXT_c", XS_OpenGL__Modern_glGetCompressedTextureImageEXT_c);
        newXS_deffile("OpenGL::Modern::glGetCompressedTextureSubImage_c", XS_OpenGL__Modern_glGetCompressedTextureSubImage_c);
        newXS_deffile("OpenGL::Modern::glGetConvolutionFilter_c", XS_OpenGL__Modern_glGetConvolutionFilter_c);
        newXS_deffile("OpenGL::Modern::glGetConvolutionFilterEXT_c", XS_OpenGL__Modern_glGetConvolutionFilterEXT_c);
        newXS_deffile("OpenGL::Modern::glGetConvolutionParameterfv_c", XS_OpenGL__Modern_glGetConvolutionParameterfv_c);
        newXS_deffile("OpenGL::Modern::glGetConvolutionParameterfv_p", XS_OpenGL__Modern_glGetConvolutionParameterfv_p);
        newXS_deffile("OpenGL::Modern::glGetConvolutionParameterfvEXT_c", XS_OpenGL__Modern_glGetConvolutionParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetConvolutionParameterfvEXT_p", XS_OpenGL__Modern_glGetConvolutionParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetConvolutionParameteriv_c", XS_OpenGL__Modern_glGetConvolutionParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetConvolutionParameteriv_p", XS_OpenGL__Modern_glGetConvolutionParameteriv_p);
        newXS_deffile("OpenGL::Modern::glGetConvolutionParameterivEXT_c", XS_OpenGL__Modern_glGetConvolutionParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetConvolutionParameterivEXT_p", XS_OpenGL__Modern_glGetConvolutionParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetCoverageModulationTableNV_c", XS_OpenGL__Modern_glGetCoverageModulationTableNV_c);
        cv = newXS_deffile("OpenGL::Modern::glGetDebugMessageLogARB_c", XS_OpenGL__Modern_glGetDebugMessageLog_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetDebugMessageLogKHR_c", XS_OpenGL__Modern_glGetDebugMessageLog_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetDebugMessageLog_c", XS_OpenGL__Modern_glGetDebugMessageLog_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetDebugMessageLogARB_p", XS_OpenGL__Modern_glGetDebugMessageLog_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetDebugMessageLogKHR_p", XS_OpenGL__Modern_glGetDebugMessageLog_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetDebugMessageLog_p", XS_OpenGL__Modern_glGetDebugMessageLog_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetDebugMessageLogAMD_c", XS_OpenGL__Modern_glGetDebugMessageLogAMD_c);
        newXS_deffile("OpenGL::Modern::glGetDebugMessageLogAMD_p", XS_OpenGL__Modern_glGetDebugMessageLogAMD_p);
        newXS_deffile("OpenGL::Modern::glGetDetailTexFuncSGIS_c", XS_OpenGL__Modern_glGetDetailTexFuncSGIS_c);
        newXS_deffile("OpenGL::Modern::glGetDetailTexFuncSGIS_p", XS_OpenGL__Modern_glGetDetailTexFuncSGIS_p);
        cv = newXS_deffile("OpenGL::Modern::glGetDoubleIndexedvEXT_c", XS_OpenGL__Modern_glGetDoublei_v_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetDoublei_vEXT_c", XS_OpenGL__Modern_glGetDoublei_v_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetDoublei_v_c", XS_OpenGL__Modern_glGetDoublei_v_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetDoubleIndexedvEXT_p", XS_OpenGL__Modern_glGetDoublei_v_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetDoublei_vEXT_p", XS_OpenGL__Modern_glGetDoublei_v_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetDoublei_v_p", XS_OpenGL__Modern_glGetDoublei_v_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetDoublev_c", XS_OpenGL__Modern_glGetDoublev_c);
        newXS_deffile("OpenGL::Modern::glGetDoublev_p", XS_OpenGL__Modern_glGetDoublev_p);
        newXS_deffile("OpenGL::Modern::glGetDriverControlStringQCOM_c", XS_OpenGL__Modern_glGetDriverControlStringQCOM_c);
        newXS_deffile("OpenGL::Modern::glGetDriverControlsQCOM_c", XS_OpenGL__Modern_glGetDriverControlsQCOM_c);
        newXS_deffile("OpenGL::Modern::glGetError", XS_OpenGL__Modern_glGetError);
        newXS_deffile("OpenGL::Modern::glGetExtensionREGAL", XS_OpenGL__Modern_glGetExtensionREGAL);
        newXS_deffile("OpenGL::Modern::glGetFenceivNV_c", XS_OpenGL__Modern_glGetFenceivNV_c);
        newXS_deffile("OpenGL::Modern::glGetFinalCombinerInputParameterfvNV_c", XS_OpenGL__Modern_glGetFinalCombinerInputParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetFinalCombinerInputParameterivNV_c", XS_OpenGL__Modern_glGetFinalCombinerInputParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glGetFirstPerfQueryIdINTEL_c", XS_OpenGL__Modern_glGetFirstPerfQueryIdINTEL_c);
        newXS_deffile("OpenGL::Modern::glGetFixedv_c", XS_OpenGL__Modern_glGetFixedv_c);
        cv = newXS_deffile("OpenGL::Modern::glGetFloatIndexedvEXT_c", XS_OpenGL__Modern_glGetFloati_v_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetFloati_vEXT_c", XS_OpenGL__Modern_glGetFloati_v_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetFloati_vNV_c", XS_OpenGL__Modern_glGetFloati_v_c);
        XSANY.any_i32 = 3;
        cv = newXS_deffile("OpenGL::Modern::glGetFloati_v_c", XS_OpenGL__Modern_glGetFloati_v_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetFloatIndexedvEXT_p", XS_OpenGL__Modern_glGetFloati_v_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetFloati_vEXT_p", XS_OpenGL__Modern_glGetFloati_v_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetFloati_vNV_p", XS_OpenGL__Modern_glGetFloati_v_p);
        XSANY.any_i32 = 3;
        cv = newXS_deffile("OpenGL::Modern::glGetFloati_v_p", XS_OpenGL__Modern_glGetFloati_v_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetFloatv_c", XS_OpenGL__Modern_glGetFloatv_c);
        newXS_deffile("OpenGL::Modern::glGetFloatv_p", XS_OpenGL__Modern_glGetFloatv_p);
        newXS_deffile("OpenGL::Modern::glGetFogFuncSGIS_c", XS_OpenGL__Modern_glGetFogFuncSGIS_c);
        newXS_deffile("OpenGL::Modern::glGetFogLayersSGIX_c", XS_OpenGL__Modern_glGetFogLayersSGIX_c);
        cv = newXS_deffile("OpenGL::Modern::glGetFragDataIndex", XS_OpenGL__Modern_glGetFragDataIndex);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetFragDataIndexEXT", XS_OpenGL__Modern_glGetFragDataIndex);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetFragDataLocation", XS_OpenGL__Modern_glGetFragDataLocation);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetFragDataLocationEXT", XS_OpenGL__Modern_glGetFragDataLocation);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glGetFragmentLightfvEXT_c", XS_OpenGL__Modern_glGetFragmentLightfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetFragmentLightfvSGIX_c", XS_OpenGL__Modern_glGetFragmentLightfvSGIX_c);
        newXS_deffile("OpenGL::Modern::glGetFragmentLightfvSGIX_p", XS_OpenGL__Modern_glGetFragmentLightfvSGIX_p);
        newXS_deffile("OpenGL::Modern::glGetFragmentLightivEXT_c", XS_OpenGL__Modern_glGetFragmentLightivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetFragmentLightivSGIX_c", XS_OpenGL__Modern_glGetFragmentLightivSGIX_c);
        newXS_deffile("OpenGL::Modern::glGetFragmentLightivSGIX_p", XS_OpenGL__Modern_glGetFragmentLightivSGIX_p);
        newXS_deffile("OpenGL::Modern::glGetFragmentMaterialfvEXT_c", XS_OpenGL__Modern_glGetFragmentMaterialfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetFragmentMaterialfvSGIX_c", XS_OpenGL__Modern_glGetFragmentMaterialfvSGIX_c);
        newXS_deffile("OpenGL::Modern::glGetFragmentMaterialfvSGIX_p", XS_OpenGL__Modern_glGetFragmentMaterialfvSGIX_p);
        newXS_deffile("OpenGL::Modern::glGetFragmentMaterialivEXT_c", XS_OpenGL__Modern_glGetFragmentMaterialivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetFragmentMaterialivSGIX_c", XS_OpenGL__Modern_glGetFragmentMaterialivSGIX_c);
        newXS_deffile("OpenGL::Modern::glGetFragmentMaterialivSGIX_p", XS_OpenGL__Modern_glGetFragmentMaterialivSGIX_p);
        newXS_deffile("OpenGL::Modern::glGetFragmentShadingRatesEXT_c", XS_OpenGL__Modern_glGetFragmentShadingRatesEXT_c);
        newXS_deffile("OpenGL::Modern::glGetFragmentShadingRatesEXT_p", XS_OpenGL__Modern_glGetFragmentShadingRatesEXT_p);
        cv = newXS_deffile("OpenGL::Modern::glGetFramebufferAttachmentParameterivEXT_c", XS_OpenGL__Modern_glGetFramebufferAttachmentParameteriv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetFramebufferAttachmentParameteriv_c", XS_OpenGL__Modern_glGetFramebufferAttachmentParameteriv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetFramebufferAttachmentParameterivEXT_p", XS_OpenGL__Modern_glGetFramebufferAttachmentParameteriv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetFramebufferAttachmentParameteriv_p", XS_OpenGL__Modern_glGetFramebufferAttachmentParameteriv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetFramebufferAttachmentParameterivOES_c", XS_OpenGL__Modern_glGetFramebufferAttachmentParameterivOES_c);
        newXS_deffile("OpenGL::Modern::glGetFramebufferParameterfvAMD_c", XS_OpenGL__Modern_glGetFramebufferParameterfvAMD_c);
        newXS_deffile("OpenGL::Modern::glGetFramebufferParameteriv_c", XS_OpenGL__Modern_glGetFramebufferParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetFramebufferParameteriv_p", XS_OpenGL__Modern_glGetFramebufferParameteriv_p);
        newXS_deffile("OpenGL::Modern::glGetFramebufferParameterivEXT_c", XS_OpenGL__Modern_glGetFramebufferParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetFramebufferParameterivEXT_p", XS_OpenGL__Modern_glGetFramebufferParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetFramebufferParameterivMESA_c", XS_OpenGL__Modern_glGetFramebufferParameterivMESA_c);
        newXS_deffile("OpenGL::Modern::glGetFramebufferParameterivMESA_p", XS_OpenGL__Modern_glGetFramebufferParameterivMESA_p);
        newXS_deffile("OpenGL::Modern::glGetFramebufferPixelLocalStorageSizeEXT", XS_OpenGL__Modern_glGetFramebufferPixelLocalStorageSizeEXT);
        cv = newXS_deffile("OpenGL::Modern::glGetGraphicsResetStatus", XS_OpenGL__Modern_glGetGraphicsResetStatus);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetGraphicsResetStatusEXT", XS_OpenGL__Modern_glGetGraphicsResetStatus);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetGraphicsResetStatusKHR", XS_OpenGL__Modern_glGetGraphicsResetStatus);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glGetGraphicsResetStatusARB", XS_OpenGL__Modern_glGetGraphicsResetStatusARB);
        newXS_deffile("OpenGL::Modern::glGetHandleARB", XS_OpenGL__Modern_glGetHandleARB);
        newXS_deffile("OpenGL::Modern::glGetHistogram_c", XS_OpenGL__Modern_glGetHistogram_c);
        newXS_deffile("OpenGL::Modern::glGetHistogramEXT_c", XS_OpenGL__Modern_glGetHistogramEXT_c);
        newXS_deffile("OpenGL::Modern::glGetHistogramParameterfv_c", XS_OpenGL__Modern_glGetHistogramParameterfv_c);
        newXS_deffile("OpenGL::Modern::glGetHistogramParameterfv_p", XS_OpenGL__Modern_glGetHistogramParameterfv_p);
        newXS_deffile("OpenGL::Modern::glGetHistogramParameterfvEXT_c", XS_OpenGL__Modern_glGetHistogramParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetHistogramParameterfvEXT_p", XS_OpenGL__Modern_glGetHistogramParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetHistogramParameteriv_c", XS_OpenGL__Modern_glGetHistogramParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetHistogramParameteriv_p", XS_OpenGL__Modern_glGetHistogramParameteriv_p);
        newXS_deffile("OpenGL::Modern::glGetHistogramParameterivEXT_c", XS_OpenGL__Modern_glGetHistogramParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetHistogramParameterivEXT_p", XS_OpenGL__Modern_glGetHistogramParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetImageHandleARB", XS_OpenGL__Modern_glGetImageHandleARB);
        newXS_deffile("OpenGL::Modern::glGetImageHandleNV", XS_OpenGL__Modern_glGetImageHandleNV);
        newXS_deffile("OpenGL::Modern::glGetImageTransformParameterfvHP_c", XS_OpenGL__Modern_glGetImageTransformParameterfvHP_c);
        newXS_deffile("OpenGL::Modern::glGetImageTransformParameterivHP_c", XS_OpenGL__Modern_glGetImageTransformParameterivHP_c);
        newXS_deffile("OpenGL::Modern::glGetInfoLogARB_c", XS_OpenGL__Modern_glGetInfoLogARB_c);
        newXS_deffile("OpenGL::Modern::glGetInfoLogARB_p", XS_OpenGL__Modern_glGetInfoLogARB_p);
        newXS_deffile("OpenGL::Modern::glGetInteger64i_v_c", XS_OpenGL__Modern_glGetInteger64i_v_c);
        newXS_deffile("OpenGL::Modern::glGetInteger64i_v_p", XS_OpenGL__Modern_glGetInteger64i_v_p);
        cv = newXS_deffile("OpenGL::Modern::glGetInteger64vAPPLE_c", XS_OpenGL__Modern_glGetInteger64v_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetInteger64vEXT_c", XS_OpenGL__Modern_glGetInteger64v_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetInteger64v_c", XS_OpenGL__Modern_glGetInteger64v_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetInteger64vAPPLE_p", XS_OpenGL__Modern_glGetInteger64v_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetInteger64vEXT_p", XS_OpenGL__Modern_glGetInteger64v_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetInteger64v_p", XS_OpenGL__Modern_glGetInteger64v_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetIntegerIndexedvEXT_c", XS_OpenGL__Modern_glGetIntegeri_v_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetIntegeri_v_c", XS_OpenGL__Modern_glGetIntegeri_v_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetIntegerIndexedvEXT_p", XS_OpenGL__Modern_glGetIntegeri_v_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetIntegeri_v_p", XS_OpenGL__Modern_glGetIntegeri_v_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetIntegeri_vEXT_c", XS_OpenGL__Modern_glGetIntegeri_vEXT_c);
        newXS_deffile("OpenGL::Modern::glGetIntegerui64i_vNV_c", XS_OpenGL__Modern_glGetIntegerui64i_vNV_c);
        newXS_deffile("OpenGL::Modern::glGetIntegerui64vNV_c", XS_OpenGL__Modern_glGetIntegerui64vNV_c);
        newXS_deffile("OpenGL::Modern::glGetIntegerv_c", XS_OpenGL__Modern_glGetIntegerv_c);
        newXS_deffile("OpenGL::Modern::glGetIntegerv_p", XS_OpenGL__Modern_glGetIntegerv_p);
        newXS_deffile("OpenGL::Modern::glGetInternalformatSampleivNV_c", XS_OpenGL__Modern_glGetInternalformatSampleivNV_c);
        newXS_deffile("OpenGL::Modern::glGetInternalformatSampleivNV_p", XS_OpenGL__Modern_glGetInternalformatSampleivNV_p);
        newXS_deffile("OpenGL::Modern::glGetInternalformati64v_c", XS_OpenGL__Modern_glGetInternalformati64v_c);
        newXS_deffile("OpenGL::Modern::glGetInternalformati64v_p", XS_OpenGL__Modern_glGetInternalformati64v_p);
        newXS_deffile("OpenGL::Modern::glGetInternalformativ_c", XS_OpenGL__Modern_glGetInternalformativ_c);
        newXS_deffile("OpenGL::Modern::glGetInternalformativ_p", XS_OpenGL__Modern_glGetInternalformativ_p);
        newXS_deffile("OpenGL::Modern::glGetInvariantBooleanvEXT_c", XS_OpenGL__Modern_glGetInvariantBooleanvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetInvariantFloatvEXT_c", XS_OpenGL__Modern_glGetInvariantFloatvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetInvariantIntegervEXT_c", XS_OpenGL__Modern_glGetInvariantIntegervEXT_c);
        newXS_deffile("OpenGL::Modern::glGetLightfv_c", XS_OpenGL__Modern_glGetLightfv_c);
        newXS_deffile("OpenGL::Modern::glGetLightfv_p", XS_OpenGL__Modern_glGetLightfv_p);
        newXS_deffile("OpenGL::Modern::glGetLightiv_c", XS_OpenGL__Modern_glGetLightiv_c);
        newXS_deffile("OpenGL::Modern::glGetLightiv_p", XS_OpenGL__Modern_glGetLightiv_p);
        newXS_deffile("OpenGL::Modern::glGetLightxv_c", XS_OpenGL__Modern_glGetLightxv_c);
        newXS_deffile("OpenGL::Modern::glGetLightxv_p", XS_OpenGL__Modern_glGetLightxv_p);
        newXS_deffile("OpenGL::Modern::glGetLocalConstantBooleanvEXT_c", XS_OpenGL__Modern_glGetLocalConstantBooleanvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetLocalConstantFloatvEXT_c", XS_OpenGL__Modern_glGetLocalConstantFloatvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetLocalConstantIntegervEXT_c", XS_OpenGL__Modern_glGetLocalConstantIntegervEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMPEGParameterfvSGIX_c", XS_OpenGL__Modern_glGetMPEGParameterfvSGIX_c);
        newXS_deffile("OpenGL::Modern::glGetMPEGParameterivSGIX_c", XS_OpenGL__Modern_glGetMPEGParameterivSGIX_c);
        newXS_deffile("OpenGL::Modern::glGetMPEGPredictorSGIX_c", XS_OpenGL__Modern_glGetMPEGPredictorSGIX_c);
        newXS_deffile("OpenGL::Modern::glGetMPEGQuantTableubv_c", XS_OpenGL__Modern_glGetMPEGQuantTableubv_c);
        newXS_deffile("OpenGL::Modern::glGetMapAttribParameterfvNV_c", XS_OpenGL__Modern_glGetMapAttribParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetMapAttribParameterivNV_c", XS_OpenGL__Modern_glGetMapAttribParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glGetMapControlPointsNV_c", XS_OpenGL__Modern_glGetMapControlPointsNV_c);
        newXS_deffile("OpenGL::Modern::glGetMapParameterfvNV_c", XS_OpenGL__Modern_glGetMapParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetMapParameterivNV_c", XS_OpenGL__Modern_glGetMapParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glGetMapdv_c", XS_OpenGL__Modern_glGetMapdv_c);
        newXS_deffile("OpenGL::Modern::glGetMapfv_c", XS_OpenGL__Modern_glGetMapfv_c);
        newXS_deffile("OpenGL::Modern::glGetMapiv_c", XS_OpenGL__Modern_glGetMapiv_c);
        newXS_deffile("OpenGL::Modern::glGetMaterialfv_c", XS_OpenGL__Modern_glGetMaterialfv_c);
        newXS_deffile("OpenGL::Modern::glGetMaterialfv_p", XS_OpenGL__Modern_glGetMaterialfv_p);
        newXS_deffile("OpenGL::Modern::glGetMaterialiv_c", XS_OpenGL__Modern_glGetMaterialiv_c);
        newXS_deffile("OpenGL::Modern::glGetMaterialiv_p", XS_OpenGL__Modern_glGetMaterialiv_p);
        newXS_deffile("OpenGL::Modern::glGetMaterialxv_c", XS_OpenGL__Modern_glGetMaterialxv_c);
        newXS_deffile("OpenGL::Modern::glGetMaterialxv_p", XS_OpenGL__Modern_glGetMaterialxv_p);
        newXS_deffile("OpenGL::Modern::glGetMemoryObjectDetachedResourcesuivNV_c", XS_OpenGL__Modern_glGetMemoryObjectDetachedResourcesuivNV_c);
        newXS_deffile("OpenGL::Modern::glGetMemoryObjectParameterivEXT_c", XS_OpenGL__Modern_glGetMemoryObjectParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMinmax_c", XS_OpenGL__Modern_glGetMinmax_c);
        newXS_deffile("OpenGL::Modern::glGetMinmaxEXT_c", XS_OpenGL__Modern_glGetMinmaxEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMinmaxParameterfv_c", XS_OpenGL__Modern_glGetMinmaxParameterfv_c);
        newXS_deffile("OpenGL::Modern::glGetMinmaxParameterfv_p", XS_OpenGL__Modern_glGetMinmaxParameterfv_p);
        newXS_deffile("OpenGL::Modern::glGetMinmaxParameterfvEXT_c", XS_OpenGL__Modern_glGetMinmaxParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMinmaxParameterfvEXT_p", XS_OpenGL__Modern_glGetMinmaxParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMinmaxParameteriv_c", XS_OpenGL__Modern_glGetMinmaxParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetMinmaxParameteriv_p", XS_OpenGL__Modern_glGetMinmaxParameteriv_p);
        newXS_deffile("OpenGL::Modern::glGetMinmaxParameterivEXT_c", XS_OpenGL__Modern_glGetMinmaxParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMinmaxParameterivEXT_p", XS_OpenGL__Modern_glGetMinmaxParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMultiTexEnvfvEXT_c", XS_OpenGL__Modern_glGetMultiTexEnvfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexEnvfvEXT_p", XS_OpenGL__Modern_glGetMultiTexEnvfvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMultiTexEnvivEXT_c", XS_OpenGL__Modern_glGetMultiTexEnvivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexEnvivEXT_p", XS_OpenGL__Modern_glGetMultiTexEnvivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMultiTexGendvEXT_c", XS_OpenGL__Modern_glGetMultiTexGendvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexGendvEXT_p", XS_OpenGL__Modern_glGetMultiTexGendvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMultiTexGenfvEXT_c", XS_OpenGL__Modern_glGetMultiTexGenfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexGenfvEXT_p", XS_OpenGL__Modern_glGetMultiTexGenfvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMultiTexGenivEXT_c", XS_OpenGL__Modern_glGetMultiTexGenivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexGenivEXT_p", XS_OpenGL__Modern_glGetMultiTexGenivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMultiTexImageEXT_c", XS_OpenGL__Modern_glGetMultiTexImageEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexLevelParameterfvEXT_c", XS_OpenGL__Modern_glGetMultiTexLevelParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexLevelParameterfvEXT_p", XS_OpenGL__Modern_glGetMultiTexLevelParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMultiTexLevelParameterivEXT_c", XS_OpenGL__Modern_glGetMultiTexLevelParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexLevelParameterivEXT_p", XS_OpenGL__Modern_glGetMultiTexLevelParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMultiTexParameterIivEXT_c", XS_OpenGL__Modern_glGetMultiTexParameterIivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexParameterIivEXT_p", XS_OpenGL__Modern_glGetMultiTexParameterIivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMultiTexParameterIuivEXT_c", XS_OpenGL__Modern_glGetMultiTexParameterIuivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexParameterIuivEXT_p", XS_OpenGL__Modern_glGetMultiTexParameterIuivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMultiTexParameterfvEXT_c", XS_OpenGL__Modern_glGetMultiTexParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexParameterfvEXT_p", XS_OpenGL__Modern_glGetMultiTexParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetMultiTexParameterivEXT_c", XS_OpenGL__Modern_glGetMultiTexParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetMultiTexParameterivEXT_p", XS_OpenGL__Modern_glGetMultiTexParameterivEXT_p);
        cv = newXS_deffile("OpenGL::Modern::glGetMultisamplefvNV_c", XS_OpenGL__Modern_glGetMultisamplefv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetMultisamplefv_c", XS_OpenGL__Modern_glGetMultisamplefv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetMultisamplefvNV_p", XS_OpenGL__Modern_glGetMultisamplefv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetMultisamplefv_p", XS_OpenGL__Modern_glGetMultisamplefv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetNamedBufferParameteri64v_c", XS_OpenGL__Modern_glGetNamedBufferParameteri64v_c);
        newXS_deffile("OpenGL::Modern::glGetNamedBufferParameteriv_c", XS_OpenGL__Modern_glGetNamedBufferParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetNamedBufferParameterivEXT_c", XS_OpenGL__Modern_glGetNamedBufferParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedBufferParameterivEXT_p", XS_OpenGL__Modern_glGetNamedBufferParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetNamedBufferParameterui64vNV_c", XS_OpenGL__Modern_glGetNamedBufferParameterui64vNV_c);
        newXS_deffile("OpenGL::Modern::glGetNamedBufferParameterui64vNV_p", XS_OpenGL__Modern_glGetNamedBufferParameterui64vNV_p);
        newXS_deffile("OpenGL::Modern::glGetNamedBufferPointerv_c", XS_OpenGL__Modern_glGetNamedBufferPointerv_c);
        newXS_deffile("OpenGL::Modern::glGetNamedBufferPointervEXT_c", XS_OpenGL__Modern_glGetNamedBufferPointervEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedBufferSubData_c", XS_OpenGL__Modern_glGetNamedBufferSubData_c);
        newXS_deffile("OpenGL::Modern::glGetNamedBufferSubDataEXT_c", XS_OpenGL__Modern_glGetNamedBufferSubDataEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedFramebufferAttachmentParameteriv_c", XS_OpenGL__Modern_glGetNamedFramebufferAttachmentParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetNamedFramebufferAttachmentParameterivEXT_c", XS_OpenGL__Modern_glGetNamedFramebufferAttachmentParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedFramebufferAttachmentParameterivEXT_p", XS_OpenGL__Modern_glGetNamedFramebufferAttachmentParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetNamedFramebufferParameterfvAMD_c", XS_OpenGL__Modern_glGetNamedFramebufferParameterfvAMD_c);
        newXS_deffile("OpenGL::Modern::glGetNamedFramebufferParameteriv_c", XS_OpenGL__Modern_glGetNamedFramebufferParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetNamedFramebufferParameterivEXT_c", XS_OpenGL__Modern_glGetNamedFramebufferParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedFramebufferParameterivEXT_p", XS_OpenGL__Modern_glGetNamedFramebufferParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetNamedProgramLocalParameterIivEXT_c", XS_OpenGL__Modern_glGetNamedProgramLocalParameterIivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedProgramLocalParameterIivEXT_p", XS_OpenGL__Modern_glGetNamedProgramLocalParameterIivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetNamedProgramLocalParameterIuivEXT_c", XS_OpenGL__Modern_glGetNamedProgramLocalParameterIuivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedProgramLocalParameterIuivEXT_p", XS_OpenGL__Modern_glGetNamedProgramLocalParameterIuivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetNamedProgramLocalParameterdvEXT_c", XS_OpenGL__Modern_glGetNamedProgramLocalParameterdvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedProgramLocalParameterdvEXT_p", XS_OpenGL__Modern_glGetNamedProgramLocalParameterdvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetNamedProgramLocalParameterfvEXT_c", XS_OpenGL__Modern_glGetNamedProgramLocalParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedProgramLocalParameterfvEXT_p", XS_OpenGL__Modern_glGetNamedProgramLocalParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetNamedProgramStringEXT_c", XS_OpenGL__Modern_glGetNamedProgramStringEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedProgramivEXT_c", XS_OpenGL__Modern_glGetNamedProgramivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedProgramivEXT_p", XS_OpenGL__Modern_glGetNamedProgramivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetNamedRenderbufferParameteriv_c", XS_OpenGL__Modern_glGetNamedRenderbufferParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetNamedRenderbufferParameterivEXT_c", XS_OpenGL__Modern_glGetNamedRenderbufferParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetNamedRenderbufferParameterivEXT_p", XS_OpenGL__Modern_glGetNamedRenderbufferParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetNamedStringARB_c", XS_OpenGL__Modern_glGetNamedStringARB_c);
        newXS_deffile("OpenGL::Modern::glGetNamedStringARB_p", XS_OpenGL__Modern_glGetNamedStringARB_p);
        newXS_deffile("OpenGL::Modern::glGetNamedStringivARB_c", XS_OpenGL__Modern_glGetNamedStringivARB_c);
        newXS_deffile("OpenGL::Modern::glGetNextPerfQueryIdINTEL_c", XS_OpenGL__Modern_glGetNextPerfQueryIdINTEL_c);
        newXS_deffile("OpenGL::Modern::glGetNonlinLightfvSGIX_c", XS_OpenGL__Modern_glGetNonlinLightfvSGIX_c);
        newXS_deffile("OpenGL::Modern::glGetNonlinMaterialfvSGIX_c", XS_OpenGL__Modern_glGetNonlinMaterialfvSGIX_c);
        newXS_deffile("OpenGL::Modern::glGetObjectBufferfvATI_c", XS_OpenGL__Modern_glGetObjectBufferfvATI_c);
        newXS_deffile("OpenGL::Modern::glGetObjectBufferfvATI_p", XS_OpenGL__Modern_glGetObjectBufferfvATI_p);
        newXS_deffile("OpenGL::Modern::glGetObjectBufferivATI_c", XS_OpenGL__Modern_glGetObjectBufferivATI_c);
        newXS_deffile("OpenGL::Modern::glGetObjectBufferivATI_p", XS_OpenGL__Modern_glGetObjectBufferivATI_p);
        cv = newXS_deffile("OpenGL::Modern::glGetObjectLabelKHR_c", XS_OpenGL__Modern_glGetObjectLabel_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetObjectLabel_c", XS_OpenGL__Modern_glGetObjectLabel_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetObjectLabelKHR_p", XS_OpenGL__Modern_glGetObjectLabel_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetObjectLabel_p", XS_OpenGL__Modern_glGetObjectLabel_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetObjectLabelEXT_c", XS_OpenGL__Modern_glGetObjectLabelEXT_c);
        newXS_deffile("OpenGL::Modern::glGetObjectLabelEXT_p", XS_OpenGL__Modern_glGetObjectLabelEXT_p);
        newXS_deffile("OpenGL::Modern::glGetObjectParameterfvARB_c", XS_OpenGL__Modern_glGetObjectParameterfvARB_c);
        newXS_deffile("OpenGL::Modern::glGetObjectParameterivAPPLE_c", XS_OpenGL__Modern_glGetObjectParameterivAPPLE_c);
        newXS_deffile("OpenGL::Modern::glGetObjectParameterivARB_c", XS_OpenGL__Modern_glGetObjectParameterivARB_c);
        cv = newXS_deffile("OpenGL::Modern::glGetObjectPtrLabelKHR_c", XS_OpenGL__Modern_glGetObjectPtrLabel_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetObjectPtrLabel_c", XS_OpenGL__Modern_glGetObjectPtrLabel_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetOcclusionQueryivNV_c", XS_OpenGL__Modern_glGetOcclusionQueryivNV_c);
        newXS_deffile("OpenGL::Modern::glGetOcclusionQueryuivNV_c", XS_OpenGL__Modern_glGetOcclusionQueryuivNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathColorGenfvNV_c", XS_OpenGL__Modern_glGetPathColorGenfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathColorGenivNV_c", XS_OpenGL__Modern_glGetPathColorGenivNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathCommandsNV_c", XS_OpenGL__Modern_glGetPathCommandsNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathCoordsNV_c", XS_OpenGL__Modern_glGetPathCoordsNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathDashArrayNV_c", XS_OpenGL__Modern_glGetPathDashArrayNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathLengthNV", XS_OpenGL__Modern_glGetPathLengthNV);
        newXS_deffile("OpenGL::Modern::glGetPathMetricRangeNV_c", XS_OpenGL__Modern_glGetPathMetricRangeNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathMetricsNV_c", XS_OpenGL__Modern_glGetPathMetricsNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathParameterfvNV_c", XS_OpenGL__Modern_glGetPathParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathParameterfvNV_p", XS_OpenGL__Modern_glGetPathParameterfvNV_p);
        newXS_deffile("OpenGL::Modern::glGetPathParameterivNV_c", XS_OpenGL__Modern_glGetPathParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathParameterivNV_p", XS_OpenGL__Modern_glGetPathParameterivNV_p);
        newXS_deffile("OpenGL::Modern::glGetPathSpacingNV_c", XS_OpenGL__Modern_glGetPathSpacingNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathTexGenfvNV_c", XS_OpenGL__Modern_glGetPathTexGenfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetPathTexGenivNV_c", XS_OpenGL__Modern_glGetPathTexGenivNV_c);
        newXS_deffile("OpenGL::Modern::glGetPerfCounterInfoINTEL_c", XS_OpenGL__Modern_glGetPerfCounterInfoINTEL_c);
        newXS_deffile("OpenGL::Modern::glGetPerfMonitorCounterDataAMD_c", XS_OpenGL__Modern_glGetPerfMonitorCounterDataAMD_c);
        newXS_deffile("OpenGL::Modern::glGetPerfMonitorCounterDataAMD_p", XS_OpenGL__Modern_glGetPerfMonitorCounterDataAMD_p);
        newXS_deffile("OpenGL::Modern::glGetPerfMonitorCounterInfoAMD_c", XS_OpenGL__Modern_glGetPerfMonitorCounterInfoAMD_c);
        newXS_deffile("OpenGL::Modern::glGetPerfMonitorCounterStringAMD_c", XS_OpenGL__Modern_glGetPerfMonitorCounterStringAMD_c);
        newXS_deffile("OpenGL::Modern::glGetPerfMonitorCounterStringAMD_p", XS_OpenGL__Modern_glGetPerfMonitorCounterStringAMD_p);
        newXS_deffile("OpenGL::Modern::glGetPerfMonitorCountersAMD_c", XS_OpenGL__Modern_glGetPerfMonitorCountersAMD_c);
        newXS_deffile("OpenGL::Modern::glGetPerfMonitorCountersAMD_p", XS_OpenGL__Modern_glGetPerfMonitorCountersAMD_p);
        newXS_deffile("OpenGL::Modern::glGetPerfMonitorGroupStringAMD_c", XS_OpenGL__Modern_glGetPerfMonitorGroupStringAMD_c);
        newXS_deffile("OpenGL::Modern::glGetPerfMonitorGroupStringAMD_p", XS_OpenGL__Modern_glGetPerfMonitorGroupStringAMD_p);
        newXS_deffile("OpenGL::Modern::glGetPerfMonitorGroupsAMD_c", XS_OpenGL__Modern_glGetPerfMonitorGroupsAMD_c);
        newXS_deffile("OpenGL::Modern::glGetPerfMonitorGroupsAMD_p", XS_OpenGL__Modern_glGetPerfMonitorGroupsAMD_p);
        newXS_deffile("OpenGL::Modern::glGetPerfQueryDataINTEL_c", XS_OpenGL__Modern_glGetPerfQueryDataINTEL_c);
        newXS_deffile("OpenGL::Modern::glGetPerfQueryIdByNameINTEL_c", XS_OpenGL__Modern_glGetPerfQueryIdByNameINTEL_c);
        newXS_deffile("OpenGL::Modern::glGetPerfQueryInfoINTEL_c", XS_OpenGL__Modern_glGetPerfQueryInfoINTEL_c);
        newXS_deffile("OpenGL::Modern::glGetPixelMapfv_c", XS_OpenGL__Modern_glGetPixelMapfv_c);
        newXS_deffile("OpenGL::Modern::glGetPixelMapuiv_c", XS_OpenGL__Modern_glGetPixelMapuiv_c);
        newXS_deffile("OpenGL::Modern::glGetPixelMapusv_c", XS_OpenGL__Modern_glGetPixelMapusv_c);
        newXS_deffile("OpenGL::Modern::glGetPixelTransformParameterfvEXT_c", XS_OpenGL__Modern_glGetPixelTransformParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetPixelTransformParameterfvSGI_c", XS_OpenGL__Modern_glGetPixelTransformParameterfvSGI_c);
        newXS_deffile("OpenGL::Modern::glGetPixelTransformParameterivEXT_c", XS_OpenGL__Modern_glGetPixelTransformParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetPixelTransformParameterivSGI_c", XS_OpenGL__Modern_glGetPixelTransformParameterivSGI_c);
        newXS_deffile("OpenGL::Modern::glGetPointerIndexedvEXT_c", XS_OpenGL__Modern_glGetPointerIndexedvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetPointeri_vEXT_c", XS_OpenGL__Modern_glGetPointeri_vEXT_c);
        cv = newXS_deffile("OpenGL::Modern::glGetPointervEXT_c", XS_OpenGL__Modern_glGetPointerv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetPointervKHR_c", XS_OpenGL__Modern_glGetPointerv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetPointerv_c", XS_OpenGL__Modern_glGetPointerv_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetPolygonStipple_c", XS_OpenGL__Modern_glGetPolygonStipple_c);
        newXS_deffile("OpenGL::Modern::glGetProcAddressREGAL_c", XS_OpenGL__Modern_glGetProcAddressREGAL_c);
        newXS_deffile("OpenGL::Modern::glGetProgramBinary_c", XS_OpenGL__Modern_glGetProgramBinary_c);
        newXS_deffile("OpenGL::Modern::glGetProgramBinary_p", XS_OpenGL__Modern_glGetProgramBinary_p);
        newXS_deffile("OpenGL::Modern::glGetProgramBinaryOES_c", XS_OpenGL__Modern_glGetProgramBinaryOES_c);
        newXS_deffile("OpenGL::Modern::glGetProgramEnvParameterdvARB_c", XS_OpenGL__Modern_glGetProgramEnvParameterdvARB_c);
        newXS_deffile("OpenGL::Modern::glGetProgramEnvParameterdvARB_p", XS_OpenGL__Modern_glGetProgramEnvParameterdvARB_p);
        newXS_deffile("OpenGL::Modern::glGetProgramEnvParameterfvARB_c", XS_OpenGL__Modern_glGetProgramEnvParameterfvARB_c);
        newXS_deffile("OpenGL::Modern::glGetProgramEnvParameterfvARB_p", XS_OpenGL__Modern_glGetProgramEnvParameterfvARB_p);
        newXS_deffile("OpenGL::Modern::glGetProgramInfoLog_c", XS_OpenGL__Modern_glGetProgramInfoLog_c);
        newXS_deffile("OpenGL::Modern::glGetProgramInfoLog_p", XS_OpenGL__Modern_glGetProgramInfoLog_p);
        newXS_deffile("OpenGL::Modern::glGetProgramInterfaceiv_c", XS_OpenGL__Modern_glGetProgramInterfaceiv_c);
        newXS_deffile("OpenGL::Modern::glGetProgramInterfaceiv_p", XS_OpenGL__Modern_glGetProgramInterfaceiv_p);
        newXS_deffile("OpenGL::Modern::glGetProgramLocalParameterdvARB_c", XS_OpenGL__Modern_glGetProgramLocalParameterdvARB_c);
        newXS_deffile("OpenGL::Modern::glGetProgramLocalParameterdvARB_p", XS_OpenGL__Modern_glGetProgramLocalParameterdvARB_p);
        newXS_deffile("OpenGL::Modern::glGetProgramLocalParameterfvARB_c", XS_OpenGL__Modern_glGetProgramLocalParameterfvARB_c);
        newXS_deffile("OpenGL::Modern::glGetProgramLocalParameterfvARB_p", XS_OpenGL__Modern_glGetProgramLocalParameterfvARB_p);
        newXS_deffile("OpenGL::Modern::glGetProgramNamedParameterdvNV_c", XS_OpenGL__Modern_glGetProgramNamedParameterdvNV_c);
        newXS_deffile("OpenGL::Modern::glGetProgramNamedParameterdvNV_p", XS_OpenGL__Modern_glGetProgramNamedParameterdvNV_p);
        newXS_deffile("OpenGL::Modern::glGetProgramNamedParameterfvNV_c", XS_OpenGL__Modern_glGetProgramNamedParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetProgramNamedParameterfvNV_p", XS_OpenGL__Modern_glGetProgramNamedParameterfvNV_p);
        newXS_deffile("OpenGL::Modern::glGetProgramParameterdvNV_c", XS_OpenGL__Modern_glGetProgramParameterdvNV_c);
        newXS_deffile("OpenGL::Modern::glGetProgramParameterdvNV_p", XS_OpenGL__Modern_glGetProgramParameterdvNV_p);
        newXS_deffile("OpenGL::Modern::glGetProgramParameterfvNV_c", XS_OpenGL__Modern_glGetProgramParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetProgramParameterfvNV_p", XS_OpenGL__Modern_glGetProgramParameterfvNV_p);
        newXS_deffile("OpenGL::Modern::glGetProgramPipelineInfoLog_c", XS_OpenGL__Modern_glGetProgramPipelineInfoLog_c);
        newXS_deffile("OpenGL::Modern::glGetProgramPipelineInfoLog_p", XS_OpenGL__Modern_glGetProgramPipelineInfoLog_p);
        newXS_deffile("OpenGL::Modern::glGetProgramPipelineiv_c", XS_OpenGL__Modern_glGetProgramPipelineiv_c);
        newXS_deffile("OpenGL::Modern::glGetProgramPipelineiv_p", XS_OpenGL__Modern_glGetProgramPipelineiv_p);
        newXS_deffile("OpenGL::Modern::glGetProgramResourceIndex", XS_OpenGL__Modern_glGetProgramResourceIndex);
        newXS_deffile("OpenGL::Modern::glGetProgramResourceLocation", XS_OpenGL__Modern_glGetProgramResourceLocation);
        newXS_deffile("OpenGL::Modern::glGetProgramResourceLocationIndex", XS_OpenGL__Modern_glGetProgramResourceLocationIndex);
        newXS_deffile("OpenGL::Modern::glGetProgramResourceLocationIndexEXT", XS_OpenGL__Modern_glGetProgramResourceLocationIndexEXT);
        newXS_deffile("OpenGL::Modern::glGetProgramResourceName_c", XS_OpenGL__Modern_glGetProgramResourceName_c);
        newXS_deffile("OpenGL::Modern::glGetProgramResourceName_p", XS_OpenGL__Modern_glGetProgramResourceName_p);
        newXS_deffile("OpenGL::Modern::glGetProgramResourcefvNV_c", XS_OpenGL__Modern_glGetProgramResourcefvNV_c);
        newXS_deffile("OpenGL::Modern::glGetProgramResourcefvNV_p", XS_OpenGL__Modern_glGetProgramResourcefvNV_p);
        newXS_deffile("OpenGL::Modern::glGetProgramResourceiv_c", XS_OpenGL__Modern_glGetProgramResourceiv_c);
        newXS_deffile("OpenGL::Modern::glGetProgramResourceiv_p", XS_OpenGL__Modern_glGetProgramResourceiv_p);
        newXS_deffile("OpenGL::Modern::glGetProgramStageiv_c", XS_OpenGL__Modern_glGetProgramStageiv_c);
        newXS_deffile("OpenGL::Modern::glGetProgramStageiv_p", XS_OpenGL__Modern_glGetProgramStageiv_p);
        newXS_deffile("OpenGL::Modern::glGetProgramStringARB_c", XS_OpenGL__Modern_glGetProgramStringARB_c);
        newXS_deffile("OpenGL::Modern::glGetProgramStringNV_c", XS_OpenGL__Modern_glGetProgramStringNV_c);
        newXS_deffile("OpenGL::Modern::glGetProgramiv_c", XS_OpenGL__Modern_glGetProgramiv_c);
        newXS_deffile("OpenGL::Modern::glGetProgramiv_p", XS_OpenGL__Modern_glGetProgramiv_p);
        newXS_deffile("OpenGL::Modern::glGetProgramivARB_c", XS_OpenGL__Modern_glGetProgramivARB_c);
        newXS_deffile("OpenGL::Modern::glGetProgramivARB_p", XS_OpenGL__Modern_glGetProgramivARB_p);
        newXS_deffile("OpenGL::Modern::glGetProgramivNV_c", XS_OpenGL__Modern_glGetProgramivNV_c);
        newXS_deffile("OpenGL::Modern::glGetProgramivNV_p", XS_OpenGL__Modern_glGetProgramivNV_p);
        newXS_deffile("OpenGL::Modern::glGetQueryBufferObjecti64v", XS_OpenGL__Modern_glGetQueryBufferObjecti64v);
        newXS_deffile("OpenGL::Modern::glGetQueryBufferObjectiv", XS_OpenGL__Modern_glGetQueryBufferObjectiv);
        newXS_deffile("OpenGL::Modern::glGetQueryBufferObjectui64v", XS_OpenGL__Modern_glGetQueryBufferObjectui64v);
        newXS_deffile("OpenGL::Modern::glGetQueryBufferObjectuiv", XS_OpenGL__Modern_glGetQueryBufferObjectuiv);
        newXS_deffile("OpenGL::Modern::glGetQueryIndexediv_c", XS_OpenGL__Modern_glGetQueryIndexediv_c);
        newXS_deffile("OpenGL::Modern::glGetQueryIndexediv_p", XS_OpenGL__Modern_glGetQueryIndexediv_p);
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjecti64vEXT_c", XS_OpenGL__Modern_glGetQueryObjecti64v_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjecti64v_c", XS_OpenGL__Modern_glGetQueryObjecti64v_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjecti64vEXT_p", XS_OpenGL__Modern_glGetQueryObjecti64v_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjecti64v_p", XS_OpenGL__Modern_glGetQueryObjecti64v_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetQueryObjecti64vANGLE_c", XS_OpenGL__Modern_glGetQueryObjecti64vANGLE_c);
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectivARB_c", XS_OpenGL__Modern_glGetQueryObjectiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectivEXT_c", XS_OpenGL__Modern_glGetQueryObjectiv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectiv_c", XS_OpenGL__Modern_glGetQueryObjectiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectivARB_p", XS_OpenGL__Modern_glGetQueryObjectiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectivEXT_p", XS_OpenGL__Modern_glGetQueryObjectiv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectiv_p", XS_OpenGL__Modern_glGetQueryObjectiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetQueryObjectivANGLE_c", XS_OpenGL__Modern_glGetQueryObjectivANGLE_c);
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectui64vEXT_c", XS_OpenGL__Modern_glGetQueryObjectui64v_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectui64v_c", XS_OpenGL__Modern_glGetQueryObjectui64v_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectui64vEXT_p", XS_OpenGL__Modern_glGetQueryObjectui64v_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectui64v_p", XS_OpenGL__Modern_glGetQueryObjectui64v_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetQueryObjectui64vANGLE_c", XS_OpenGL__Modern_glGetQueryObjectui64vANGLE_c);
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectuivARB_c", XS_OpenGL__Modern_glGetQueryObjectuiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectuiv_c", XS_OpenGL__Modern_glGetQueryObjectuiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectuivARB_p", XS_OpenGL__Modern_glGetQueryObjectuiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryObjectuiv_p", XS_OpenGL__Modern_glGetQueryObjectuiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetQueryObjectuivANGLE_c", XS_OpenGL__Modern_glGetQueryObjectuivANGLE_c);
        newXS_deffile("OpenGL::Modern::glGetQueryObjectuivEXT_c", XS_OpenGL__Modern_glGetQueryObjectuivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetQueryObjectuivEXT_p", XS_OpenGL__Modern_glGetQueryObjectuivEXT_p);
        cv = newXS_deffile("OpenGL::Modern::glGetQueryivARB_c", XS_OpenGL__Modern_glGetQueryiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryiv_c", XS_OpenGL__Modern_glGetQueryiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryivARB_p", XS_OpenGL__Modern_glGetQueryiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetQueryiv_p", XS_OpenGL__Modern_glGetQueryiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetQueryivANGLE_c", XS_OpenGL__Modern_glGetQueryivANGLE_c);
        newXS_deffile("OpenGL::Modern::glGetQueryivEXT_c", XS_OpenGL__Modern_glGetQueryivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetQueryivEXT_p", XS_OpenGL__Modern_glGetQueryivEXT_p);
        cv = newXS_deffile("OpenGL::Modern::glGetRenderbufferParameterivEXT_c", XS_OpenGL__Modern_glGetRenderbufferParameteriv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetRenderbufferParameteriv_c", XS_OpenGL__Modern_glGetRenderbufferParameteriv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetRenderbufferParameterivEXT_p", XS_OpenGL__Modern_glGetRenderbufferParameteriv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetRenderbufferParameteriv_p", XS_OpenGL__Modern_glGetRenderbufferParameteriv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetRenderbufferParameterivOES_c", XS_OpenGL__Modern_glGetRenderbufferParameterivOES_c);
        cv = newXS_deffile("OpenGL::Modern::glGetSamplerParameterIivEXT_c", XS_OpenGL__Modern_glGetSamplerParameterIiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetSamplerParameterIiv_c", XS_OpenGL__Modern_glGetSamplerParameterIiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetSamplerParameterIivEXT_p", XS_OpenGL__Modern_glGetSamplerParameterIiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetSamplerParameterIiv_p", XS_OpenGL__Modern_glGetSamplerParameterIiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetSamplerParameterIivOES_c", XS_OpenGL__Modern_glGetSamplerParameterIivOES_c);
        cv = newXS_deffile("OpenGL::Modern::glGetSamplerParameterIuivEXT_c", XS_OpenGL__Modern_glGetSamplerParameterIuiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetSamplerParameterIuiv_c", XS_OpenGL__Modern_glGetSamplerParameterIuiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetSamplerParameterIuivEXT_p", XS_OpenGL__Modern_glGetSamplerParameterIuiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetSamplerParameterIuiv_p", XS_OpenGL__Modern_glGetSamplerParameterIuiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetSamplerParameterIuivOES_c", XS_OpenGL__Modern_glGetSamplerParameterIuivOES_c);
        newXS_deffile("OpenGL::Modern::glGetSamplerParameterfv_c", XS_OpenGL__Modern_glGetSamplerParameterfv_c);
        newXS_deffile("OpenGL::Modern::glGetSamplerParameterfv_p", XS_OpenGL__Modern_glGetSamplerParameterfv_p);
        newXS_deffile("OpenGL::Modern::glGetSamplerParameteriv_c", XS_OpenGL__Modern_glGetSamplerParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetSamplerParameteriv_p", XS_OpenGL__Modern_glGetSamplerParameteriv_p);
        newXS_deffile("OpenGL::Modern::glGetSemaphoreParameterivNV_c", XS_OpenGL__Modern_glGetSemaphoreParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glGetSemaphoreParameterui64vEXT_c", XS_OpenGL__Modern_glGetSemaphoreParameterui64vEXT_c);
        newXS_deffile("OpenGL::Modern::glGetSeparableFilter_c", XS_OpenGL__Modern_glGetSeparableFilter_c);
        newXS_deffile("OpenGL::Modern::glGetSeparableFilterEXT_c", XS_OpenGL__Modern_glGetSeparableFilterEXT_c);
        newXS_deffile("OpenGL::Modern::glGetShaderInfoLog_c", XS_OpenGL__Modern_glGetShaderInfoLog_c);
        newXS_deffile("OpenGL::Modern::glGetShaderInfoLog_p", XS_OpenGL__Modern_glGetShaderInfoLog_p);
        newXS_deffile("OpenGL::Modern::glGetShaderPrecisionFormat_c", XS_OpenGL__Modern_glGetShaderPrecisionFormat_c);
        newXS_deffile("OpenGL::Modern::glGetShaderPrecisionFormat_p", XS_OpenGL__Modern_glGetShaderPrecisionFormat_p);
        newXS_deffile("OpenGL::Modern::glGetShaderSource_c", XS_OpenGL__Modern_glGetShaderSource_c);
        newXS_deffile("OpenGL::Modern::glGetShaderSource_p", XS_OpenGL__Modern_glGetShaderSource_p);
        newXS_deffile("OpenGL::Modern::glGetShaderSourceARB_c", XS_OpenGL__Modern_glGetShaderSourceARB_c);
        newXS_deffile("OpenGL::Modern::glGetShaderSourceARB_p", XS_OpenGL__Modern_glGetShaderSourceARB_p);
        newXS_deffile("OpenGL::Modern::glGetShaderiv_c", XS_OpenGL__Modern_glGetShaderiv_c);
        newXS_deffile("OpenGL::Modern::glGetShaderiv_p", XS_OpenGL__Modern_glGetShaderiv_p);
        newXS_deffile("OpenGL::Modern::glGetShadingRateImagePaletteNV_c", XS_OpenGL__Modern_glGetShadingRateImagePaletteNV_c);
        newXS_deffile("OpenGL::Modern::glGetShadingRateImagePaletteNV_p", XS_OpenGL__Modern_glGetShadingRateImagePaletteNV_p);
        newXS_deffile("OpenGL::Modern::glGetShadingRateSampleLocationivNV_c", XS_OpenGL__Modern_glGetShadingRateSampleLocationivNV_c);
        newXS_deffile("OpenGL::Modern::glGetShadingRateSampleLocationivNV_p", XS_OpenGL__Modern_glGetShadingRateSampleLocationivNV_p);
        newXS_deffile("OpenGL::Modern::glGetSharpenTexFuncSGIS_c", XS_OpenGL__Modern_glGetSharpenTexFuncSGIS_c);
        newXS_deffile("OpenGL::Modern::glGetSharpenTexFuncSGIS_p", XS_OpenGL__Modern_glGetSharpenTexFuncSGIS_p);
        newXS_deffile("OpenGL::Modern::glGetStageIndexNV", XS_OpenGL__Modern_glGetStageIndexNV);
        newXS_deffile("OpenGL::Modern::glGetString", XS_OpenGL__Modern_glGetString);
        newXS_deffile("OpenGL::Modern::glGetSubroutineIndex", XS_OpenGL__Modern_glGetSubroutineIndex);
        newXS_deffile("OpenGL::Modern::glGetSubroutineUniformLocation", XS_OpenGL__Modern_glGetSubroutineUniformLocation);
        cv = newXS_deffile("OpenGL::Modern::glGetSyncivAPPLE_c", XS_OpenGL__Modern_glGetSynciv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetSynciv_c", XS_OpenGL__Modern_glGetSynciv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetSyncivAPPLE_p", XS_OpenGL__Modern_glGetSynciv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetSynciv_p", XS_OpenGL__Modern_glGetSynciv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetTexBumpParameterfvATI_c", XS_OpenGL__Modern_glGetTexBumpParameterfvATI_c);
        newXS_deffile("OpenGL::Modern::glGetTexBumpParameterivATI_c", XS_OpenGL__Modern_glGetTexBumpParameterivATI_c);
        newXS_deffile("OpenGL::Modern::glGetTexEnvfv_c", XS_OpenGL__Modern_glGetTexEnvfv_c);
        newXS_deffile("OpenGL::Modern::glGetTexEnvfv_p", XS_OpenGL__Modern_glGetTexEnvfv_p);
        newXS_deffile("OpenGL::Modern::glGetTexEnviv_c", XS_OpenGL__Modern_glGetTexEnviv_c);
        newXS_deffile("OpenGL::Modern::glGetTexEnviv_p", XS_OpenGL__Modern_glGetTexEnviv_p);
        newXS_deffile("OpenGL::Modern::glGetTexEnvxv_c", XS_OpenGL__Modern_glGetTexEnvxv_c);
        newXS_deffile("OpenGL::Modern::glGetTexEnvxv_p", XS_OpenGL__Modern_glGetTexEnvxv_p);
        newXS_deffile("OpenGL::Modern::glGetTexFilterFuncSGIS_c", XS_OpenGL__Modern_glGetTexFilterFuncSGIS_c);
        newXS_deffile("OpenGL::Modern::glGetTexGendv_c", XS_OpenGL__Modern_glGetTexGendv_c);
        newXS_deffile("OpenGL::Modern::glGetTexGendv_p", XS_OpenGL__Modern_glGetTexGendv_p);
        newXS_deffile("OpenGL::Modern::glGetTexGenfv_c", XS_OpenGL__Modern_glGetTexGenfv_c);
        newXS_deffile("OpenGL::Modern::glGetTexGenfv_p", XS_OpenGL__Modern_glGetTexGenfv_p);
        newXS_deffile("OpenGL::Modern::glGetTexGenfvOES_c", XS_OpenGL__Modern_glGetTexGenfvOES_c);
        newXS_deffile("OpenGL::Modern::glGetTexGeniv_c", XS_OpenGL__Modern_glGetTexGeniv_c);
        newXS_deffile("OpenGL::Modern::glGetTexGeniv_p", XS_OpenGL__Modern_glGetTexGeniv_p);
        newXS_deffile("OpenGL::Modern::glGetTexGenivOES_c", XS_OpenGL__Modern_glGetTexGenivOES_c);
        newXS_deffile("OpenGL::Modern::glGetTexGenxvOES_c", XS_OpenGL__Modern_glGetTexGenxvOES_c);
        newXS_deffile("OpenGL::Modern::glGetTexImage_c", XS_OpenGL__Modern_glGetTexImage_c);
        newXS_deffile("OpenGL::Modern::glGetTexLevelParameterfv_c", XS_OpenGL__Modern_glGetTexLevelParameterfv_c);
        newXS_deffile("OpenGL::Modern::glGetTexLevelParameterfv_p", XS_OpenGL__Modern_glGetTexLevelParameterfv_p);
        newXS_deffile("OpenGL::Modern::glGetTexLevelParameteriv_c", XS_OpenGL__Modern_glGetTexLevelParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetTexLevelParameteriv_p", XS_OpenGL__Modern_glGetTexLevelParameteriv_p);
        cv = newXS_deffile("OpenGL::Modern::glGetTexParameterIivEXT_c", XS_OpenGL__Modern_glGetTexParameterIiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetTexParameterIiv_c", XS_OpenGL__Modern_glGetTexParameterIiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetTexParameterIivEXT_p", XS_OpenGL__Modern_glGetTexParameterIiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetTexParameterIiv_p", XS_OpenGL__Modern_glGetTexParameterIiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetTexParameterIivOES_c", XS_OpenGL__Modern_glGetTexParameterIivOES_c);
        cv = newXS_deffile("OpenGL::Modern::glGetTexParameterIuivEXT_c", XS_OpenGL__Modern_glGetTexParameterIuiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetTexParameterIuiv_c", XS_OpenGL__Modern_glGetTexParameterIuiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetTexParameterIuivEXT_p", XS_OpenGL__Modern_glGetTexParameterIuiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetTexParameterIuiv_p", XS_OpenGL__Modern_glGetTexParameterIuiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetTexParameterIuivOES_c", XS_OpenGL__Modern_glGetTexParameterIuivOES_c);
        newXS_deffile("OpenGL::Modern::glGetTexParameterPointervAPPLE_c", XS_OpenGL__Modern_glGetTexParameterPointervAPPLE_c);
        newXS_deffile("OpenGL::Modern::glGetTexParameterfv_c", XS_OpenGL__Modern_glGetTexParameterfv_c);
        newXS_deffile("OpenGL::Modern::glGetTexParameterfv_p", XS_OpenGL__Modern_glGetTexParameterfv_p);
        newXS_deffile("OpenGL::Modern::glGetTexParameteriv_c", XS_OpenGL__Modern_glGetTexParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetTexParameteriv_p", XS_OpenGL__Modern_glGetTexParameteriv_p);
        newXS_deffile("OpenGL::Modern::glGetTexParameterxv_c", XS_OpenGL__Modern_glGetTexParameterxv_c);
        newXS_deffile("OpenGL::Modern::glGetTexParameterxv_p", XS_OpenGL__Modern_glGetTexParameterxv_p);
        cv = newXS_deffile("OpenGL::Modern::glGetTextureHandleARB", XS_OpenGL__Modern_glGetTextureHandleARB);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetTextureHandleIMG", XS_OpenGL__Modern_glGetTextureHandleARB);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glGetTextureHandleNV", XS_OpenGL__Modern_glGetTextureHandleNV);
        newXS_deffile("OpenGL::Modern::glGetTextureImage_c", XS_OpenGL__Modern_glGetTextureImage_c);
        newXS_deffile("OpenGL::Modern::glGetTextureImageEXT_c", XS_OpenGL__Modern_glGetTextureImageEXT_c);
        newXS_deffile("OpenGL::Modern::glGetTextureLevelParameterfv_c", XS_OpenGL__Modern_glGetTextureLevelParameterfv_c);
        newXS_deffile("OpenGL::Modern::glGetTextureLevelParameterfvEXT_c", XS_OpenGL__Modern_glGetTextureLevelParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetTextureLevelParameterfvEXT_p", XS_OpenGL__Modern_glGetTextureLevelParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetTextureLevelParameteriv_c", XS_OpenGL__Modern_glGetTextureLevelParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetTextureLevelParameterivEXT_c", XS_OpenGL__Modern_glGetTextureLevelParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetTextureLevelParameterivEXT_p", XS_OpenGL__Modern_glGetTextureLevelParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetTextureParameterIiv_c", XS_OpenGL__Modern_glGetTextureParameterIiv_c);
        newXS_deffile("OpenGL::Modern::glGetTextureParameterIivEXT_c", XS_OpenGL__Modern_glGetTextureParameterIivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetTextureParameterIivEXT_p", XS_OpenGL__Modern_glGetTextureParameterIivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetTextureParameterIuiv_c", XS_OpenGL__Modern_glGetTextureParameterIuiv_c);
        newXS_deffile("OpenGL::Modern::glGetTextureParameterIuivEXT_c", XS_OpenGL__Modern_glGetTextureParameterIuivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetTextureParameterIuivEXT_p", XS_OpenGL__Modern_glGetTextureParameterIuivEXT_p);
        newXS_deffile("OpenGL::Modern::glGetTextureParameterfv_c", XS_OpenGL__Modern_glGetTextureParameterfv_c);
        newXS_deffile("OpenGL::Modern::glGetTextureParameterfvEXT_c", XS_OpenGL__Modern_glGetTextureParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetTextureParameterfvEXT_p", XS_OpenGL__Modern_glGetTextureParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glGetTextureParameteriv_c", XS_OpenGL__Modern_glGetTextureParameteriv_c);
        newXS_deffile("OpenGL::Modern::glGetTextureParameterivEXT_c", XS_OpenGL__Modern_glGetTextureParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glGetTextureParameterivEXT_p", XS_OpenGL__Modern_glGetTextureParameterivEXT_p);
        cv = newXS_deffile("OpenGL::Modern::glGetTextureSamplerHandleARB", XS_OpenGL__Modern_glGetTextureSamplerHandleARB);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetTextureSamplerHandleIMG", XS_OpenGL__Modern_glGetTextureSamplerHandleARB);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glGetTextureSamplerHandleNV", XS_OpenGL__Modern_glGetTextureSamplerHandleNV);
        newXS_deffile("OpenGL::Modern::glGetTextureSubImage_c", XS_OpenGL__Modern_glGetTextureSubImage_c);
        newXS_deffile("OpenGL::Modern::glGetTrackMatrixivNV_c", XS_OpenGL__Modern_glGetTrackMatrixivNV_c);
        newXS_deffile("OpenGL::Modern::glGetTrackMatrixivNV_p", XS_OpenGL__Modern_glGetTrackMatrixivNV_p);
        cv = newXS_deffile("OpenGL::Modern::glGetTransformFeedbackVaryingEXT_c", XS_OpenGL__Modern_glGetTransformFeedbackVarying_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetTransformFeedbackVarying_c", XS_OpenGL__Modern_glGetTransformFeedbackVarying_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetTransformFeedbackVaryingEXT_p", XS_OpenGL__Modern_glGetTransformFeedbackVarying_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetTransformFeedbackVarying_p", XS_OpenGL__Modern_glGetTransformFeedbackVarying_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetTransformFeedbackVaryingNV_c", XS_OpenGL__Modern_glGetTransformFeedbackVaryingNV_c);
        newXS_deffile("OpenGL::Modern::glGetTransformFeedbackVaryingNV_p", XS_OpenGL__Modern_glGetTransformFeedbackVaryingNV_p);
        newXS_deffile("OpenGL::Modern::glGetTransformFeedbacki64_v_c", XS_OpenGL__Modern_glGetTransformFeedbacki64_v_c);
        newXS_deffile("OpenGL::Modern::glGetTransformFeedbacki_v_c", XS_OpenGL__Modern_glGetTransformFeedbacki_v_c);
        newXS_deffile("OpenGL::Modern::glGetTransformFeedbackiv_c", XS_OpenGL__Modern_glGetTransformFeedbackiv_c);
        newXS_deffile("OpenGL::Modern::glGetTranslatedShaderSourceANGLE_c", XS_OpenGL__Modern_glGetTranslatedShaderSourceANGLE_c);
        newXS_deffile("OpenGL::Modern::glGetTranslatedShaderSourceANGLE_p", XS_OpenGL__Modern_glGetTranslatedShaderSourceANGLE_p);
        newXS_deffile("OpenGL::Modern::glGetUniformBlockIndex", XS_OpenGL__Modern_glGetUniformBlockIndex);
        newXS_deffile("OpenGL::Modern::glGetUniformBufferSizeEXT", XS_OpenGL__Modern_glGetUniformBufferSizeEXT);
        newXS_deffile("OpenGL::Modern::glGetUniformIndices_c", XS_OpenGL__Modern_glGetUniformIndices_c);
        newXS_deffile("OpenGL::Modern::glGetUniformIndices_p", XS_OpenGL__Modern_glGetUniformIndices_p);
        newXS_deffile("OpenGL::Modern::glGetUniformLocation", XS_OpenGL__Modern_glGetUniformLocation);
        newXS_deffile("OpenGL::Modern::glGetUniformLocationARB", XS_OpenGL__Modern_glGetUniformLocationARB);
        newXS_deffile("OpenGL::Modern::glGetUniformOffsetEXT", XS_OpenGL__Modern_glGetUniformOffsetEXT);
        newXS_deffile("OpenGL::Modern::glGetUniformSubroutineuiv_c", XS_OpenGL__Modern_glGetUniformSubroutineuiv_c);
        newXS_deffile("OpenGL::Modern::glGetUniformSubroutineuiv_p", XS_OpenGL__Modern_glGetUniformSubroutineuiv_p);
        newXS_deffile("OpenGL::Modern::glGetUniformdv_c", XS_OpenGL__Modern_glGetUniformdv_c);
        newXS_deffile("OpenGL::Modern::glGetUniformfv_c", XS_OpenGL__Modern_glGetUniformfv_c);
        newXS_deffile("OpenGL::Modern::glGetUniformfvARB_c", XS_OpenGL__Modern_glGetUniformfvARB_c);
        newXS_deffile("OpenGL::Modern::glGetUniformi64vARB_c", XS_OpenGL__Modern_glGetUniformi64vARB_c);
        newXS_deffile("OpenGL::Modern::glGetUniformi64vNV_c", XS_OpenGL__Modern_glGetUniformi64vNV_c);
        newXS_deffile("OpenGL::Modern::glGetUniformiv_c", XS_OpenGL__Modern_glGetUniformiv_c);
        newXS_deffile("OpenGL::Modern::glGetUniformivARB_c", XS_OpenGL__Modern_glGetUniformivARB_c);
        newXS_deffile("OpenGL::Modern::glGetUniformui64vARB_c", XS_OpenGL__Modern_glGetUniformui64vARB_c);
        newXS_deffile("OpenGL::Modern::glGetUniformui64vNV_c", XS_OpenGL__Modern_glGetUniformui64vNV_c);
        cv = newXS_deffile("OpenGL::Modern::glGetUniformuivEXT_c", XS_OpenGL__Modern_glGetUniformuiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetUniformuiv_c", XS_OpenGL__Modern_glGetUniformuiv_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetUnsignedBytei_vEXT_c", XS_OpenGL__Modern_glGetUnsignedBytei_vEXT_c);
        newXS_deffile("OpenGL::Modern::glGetUnsignedBytevEXT_c", XS_OpenGL__Modern_glGetUnsignedBytevEXT_c);
        newXS_deffile("OpenGL::Modern::glGetUnsignedBytevEXT_p", XS_OpenGL__Modern_glGetUnsignedBytevEXT_p);
        newXS_deffile("OpenGL::Modern::glGetVariantArrayObjectfvATI_c", XS_OpenGL__Modern_glGetVariantArrayObjectfvATI_c);
        newXS_deffile("OpenGL::Modern::glGetVariantArrayObjectfvATI_p", XS_OpenGL__Modern_glGetVariantArrayObjectfvATI_p);
        newXS_deffile("OpenGL::Modern::glGetVariantArrayObjectivATI_c", XS_OpenGL__Modern_glGetVariantArrayObjectivATI_c);
        newXS_deffile("OpenGL::Modern::glGetVariantArrayObjectivATI_p", XS_OpenGL__Modern_glGetVariantArrayObjectivATI_p);
        newXS_deffile("OpenGL::Modern::glGetVariantBooleanvEXT_c", XS_OpenGL__Modern_glGetVariantBooleanvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetVariantFloatvEXT_c", XS_OpenGL__Modern_glGetVariantFloatvEXT_c);
        newXS_deffile("OpenGL::Modern::glGetVariantIntegervEXT_c", XS_OpenGL__Modern_glGetVariantIntegervEXT_c);
        newXS_deffile("OpenGL::Modern::glGetVariantPointervEXT_c", XS_OpenGL__Modern_glGetVariantPointervEXT_c);
        newXS_deffile("OpenGL::Modern::glGetVaryingLocationNV", XS_OpenGL__Modern_glGetVaryingLocationNV);
        newXS_deffile("OpenGL::Modern::glGetVectorOperationSGIX", XS_OpenGL__Modern_glGetVectorOperationSGIX);
        newXS_deffile("OpenGL::Modern::glGetVertexArrayIndexed64iv_c", XS_OpenGL__Modern_glGetVertexArrayIndexed64iv_c);
        newXS_deffile("OpenGL::Modern::glGetVertexArrayIndexediv_c", XS_OpenGL__Modern_glGetVertexArrayIndexediv_c);
        newXS_deffile("OpenGL::Modern::glGetVertexArrayIntegeri_vEXT_c", XS_OpenGL__Modern_glGetVertexArrayIntegeri_vEXT_c);
        newXS_deffile("OpenGL::Modern::glGetVertexArrayIntegervEXT_c", XS_OpenGL__Modern_glGetVertexArrayIntegervEXT_c);
        newXS_deffile("OpenGL::Modern::glGetVertexArrayPointeri_vEXT_c", XS_OpenGL__Modern_glGetVertexArrayPointeri_vEXT_c);
        newXS_deffile("OpenGL::Modern::glGetVertexArrayPointervEXT_c", XS_OpenGL__Modern_glGetVertexArrayPointervEXT_c);
        newXS_deffile("OpenGL::Modern::glGetVertexArrayiv_c", XS_OpenGL__Modern_glGetVertexArrayiv_c);
        newXS_deffile("OpenGL::Modern::glGetVertexAttribArrayObjectfvATI_c", XS_OpenGL__Modern_glGetVertexAttribArrayObjectfvATI_c);
        newXS_deffile("OpenGL::Modern::glGetVertexAttribArrayObjectfvATI_p", XS_OpenGL__Modern_glGetVertexAttribArrayObjectfvATI_p);
        newXS_deffile("OpenGL::Modern::glGetVertexAttribArrayObjectivATI_c", XS_OpenGL__Modern_glGetVertexAttribArrayObjectivATI_c);
        newXS_deffile("OpenGL::Modern::glGetVertexAttribArrayObjectivATI_p", XS_OpenGL__Modern_glGetVertexAttribArrayObjectivATI_p);
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribIivEXT_c", XS_OpenGL__Modern_glGetVertexAttribIiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribIiv_c", XS_OpenGL__Modern_glGetVertexAttribIiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribIivEXT_p", XS_OpenGL__Modern_glGetVertexAttribIiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribIiv_p", XS_OpenGL__Modern_glGetVertexAttribIiv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribIuivEXT_c", XS_OpenGL__Modern_glGetVertexAttribIuiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribIuiv_c", XS_OpenGL__Modern_glGetVertexAttribIuiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribIuivEXT_p", XS_OpenGL__Modern_glGetVertexAttribIuiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribIuiv_p", XS_OpenGL__Modern_glGetVertexAttribIuiv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribLdvEXT_c", XS_OpenGL__Modern_glGetVertexAttribLdv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribLdv_c", XS_OpenGL__Modern_glGetVertexAttribLdv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribLdvEXT_p", XS_OpenGL__Modern_glGetVertexAttribLdv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribLdv_p", XS_OpenGL__Modern_glGetVertexAttribLdv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetVertexAttribLi64vNV_c", XS_OpenGL__Modern_glGetVertexAttribLi64vNV_c);
        newXS_deffile("OpenGL::Modern::glGetVertexAttribLi64vNV_p", XS_OpenGL__Modern_glGetVertexAttribLi64vNV_p);
        newXS_deffile("OpenGL::Modern::glGetVertexAttribLui64vARB_c", XS_OpenGL__Modern_glGetVertexAttribLui64vARB_c);
        newXS_deffile("OpenGL::Modern::glGetVertexAttribLui64vNV_c", XS_OpenGL__Modern_glGetVertexAttribLui64vNV_c);
        newXS_deffile("OpenGL::Modern::glGetVertexAttribLui64vNV_p", XS_OpenGL__Modern_glGetVertexAttribLui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribPointervARB_c", XS_OpenGL__Modern_glGetVertexAttribPointerv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribPointervNV_c", XS_OpenGL__Modern_glGetVertexAttribPointerv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribPointerv_c", XS_OpenGL__Modern_glGetVertexAttribPointerv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribdvARB_c", XS_OpenGL__Modern_glGetVertexAttribdv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribdvNV_c", XS_OpenGL__Modern_glGetVertexAttribdv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribdv_c", XS_OpenGL__Modern_glGetVertexAttribdv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribdvARB_p", XS_OpenGL__Modern_glGetVertexAttribdv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribdvNV_p", XS_OpenGL__Modern_glGetVertexAttribdv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribdv_p", XS_OpenGL__Modern_glGetVertexAttribdv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribfvARB_c", XS_OpenGL__Modern_glGetVertexAttribfv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribfvNV_c", XS_OpenGL__Modern_glGetVertexAttribfv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribfv_c", XS_OpenGL__Modern_glGetVertexAttribfv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribfvARB_p", XS_OpenGL__Modern_glGetVertexAttribfv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribfvNV_p", XS_OpenGL__Modern_glGetVertexAttribfv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribfv_p", XS_OpenGL__Modern_glGetVertexAttribfv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribivARB_c", XS_OpenGL__Modern_glGetVertexAttribiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribivNV_c", XS_OpenGL__Modern_glGetVertexAttribiv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribiv_c", XS_OpenGL__Modern_glGetVertexAttribiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribivARB_p", XS_OpenGL__Modern_glGetVertexAttribiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribivNV_p", XS_OpenGL__Modern_glGetVertexAttribiv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetVertexAttribiv_p", XS_OpenGL__Modern_glGetVertexAttribiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetVideoCaptureStreamdvNV_c", XS_OpenGL__Modern_glGetVideoCaptureStreamdvNV_c);
        newXS_deffile("OpenGL::Modern::glGetVideoCaptureStreamfvNV_c", XS_OpenGL__Modern_glGetVideoCaptureStreamfvNV_c);
        newXS_deffile("OpenGL::Modern::glGetVideoCaptureStreamivNV_c", XS_OpenGL__Modern_glGetVideoCaptureStreamivNV_c);
        newXS_deffile("OpenGL::Modern::glGetVideoCaptureivNV_c", XS_OpenGL__Modern_glGetVideoCaptureivNV_c);
        newXS_deffile("OpenGL::Modern::glGetVideoi64vNV_c", XS_OpenGL__Modern_glGetVideoi64vNV_c);
        newXS_deffile("OpenGL::Modern::glGetVideoivNV_c", XS_OpenGL__Modern_glGetVideoivNV_c);
        newXS_deffile("OpenGL::Modern::glGetVideoui64vNV_c", XS_OpenGL__Modern_glGetVideoui64vNV_c);
        newXS_deffile("OpenGL::Modern::glGetVideouivNV_c", XS_OpenGL__Modern_glGetVideouivNV_c);
        newXS_deffile("OpenGL::Modern::glGetVkProcAddrNV", XS_OpenGL__Modern_glGetVkProcAddrNV);
        newXS_deffile("OpenGL::Modern::glGetnColorTableARB_c", XS_OpenGL__Modern_glGetnColorTableARB_c);
        newXS_deffile("OpenGL::Modern::glGetnCompressedTexImage_c", XS_OpenGL__Modern_glGetnCompressedTexImage_c);
        newXS_deffile("OpenGL::Modern::glGetnCompressedTexImageARB_c", XS_OpenGL__Modern_glGetnCompressedTexImageARB_c);
        newXS_deffile("OpenGL::Modern::glGetnConvolutionFilterARB_c", XS_OpenGL__Modern_glGetnConvolutionFilterARB_c);
        newXS_deffile("OpenGL::Modern::glGetnHistogramARB_c", XS_OpenGL__Modern_glGetnHistogramARB_c);
        newXS_deffile("OpenGL::Modern::glGetnMapdvARB_c", XS_OpenGL__Modern_glGetnMapdvARB_c);
        newXS_deffile("OpenGL::Modern::glGetnMapdvARB_p", XS_OpenGL__Modern_glGetnMapdvARB_p);
        newXS_deffile("OpenGL::Modern::glGetnMapfvARB_c", XS_OpenGL__Modern_glGetnMapfvARB_c);
        newXS_deffile("OpenGL::Modern::glGetnMapfvARB_p", XS_OpenGL__Modern_glGetnMapfvARB_p);
        newXS_deffile("OpenGL::Modern::glGetnMapivARB_c", XS_OpenGL__Modern_glGetnMapivARB_c);
        newXS_deffile("OpenGL::Modern::glGetnMapivARB_p", XS_OpenGL__Modern_glGetnMapivARB_p);
        newXS_deffile("OpenGL::Modern::glGetnMinmaxARB_c", XS_OpenGL__Modern_glGetnMinmaxARB_c);
        newXS_deffile("OpenGL::Modern::glGetnPixelMapfvARB_c", XS_OpenGL__Modern_glGetnPixelMapfvARB_c);
        newXS_deffile("OpenGL::Modern::glGetnPixelMapfvARB_p", XS_OpenGL__Modern_glGetnPixelMapfvARB_p);
        newXS_deffile("OpenGL::Modern::glGetnPixelMapuivARB_c", XS_OpenGL__Modern_glGetnPixelMapuivARB_c);
        newXS_deffile("OpenGL::Modern::glGetnPixelMapuivARB_p", XS_OpenGL__Modern_glGetnPixelMapuivARB_p);
        newXS_deffile("OpenGL::Modern::glGetnPixelMapusvARB_c", XS_OpenGL__Modern_glGetnPixelMapusvARB_c);
        newXS_deffile("OpenGL::Modern::glGetnPixelMapusvARB_p", XS_OpenGL__Modern_glGetnPixelMapusvARB_p);
        newXS_deffile("OpenGL::Modern::glGetnPolygonStippleARB_c", XS_OpenGL__Modern_glGetnPolygonStippleARB_c);
        newXS_deffile("OpenGL::Modern::glGetnPolygonStippleARB_p", XS_OpenGL__Modern_glGetnPolygonStippleARB_p);
        newXS_deffile("OpenGL::Modern::glGetnSeparableFilterARB_c", XS_OpenGL__Modern_glGetnSeparableFilterARB_c);
        newXS_deffile("OpenGL::Modern::glGetnTexImage_c", XS_OpenGL__Modern_glGetnTexImage_c);
        newXS_deffile("OpenGL::Modern::glGetnTexImageARB_c", XS_OpenGL__Modern_glGetnTexImageARB_c);
        newXS_deffile("OpenGL::Modern::glGetnUniformdv_c", XS_OpenGL__Modern_glGetnUniformdv_c);
        newXS_deffile("OpenGL::Modern::glGetnUniformdv_p", XS_OpenGL__Modern_glGetnUniformdv_p);
        newXS_deffile("OpenGL::Modern::glGetnUniformdvARB_c", XS_OpenGL__Modern_glGetnUniformdvARB_c);
        newXS_deffile("OpenGL::Modern::glGetnUniformdvARB_p", XS_OpenGL__Modern_glGetnUniformdvARB_p);
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformfvEXT_c", XS_OpenGL__Modern_glGetnUniformfv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformfvKHR_c", XS_OpenGL__Modern_glGetnUniformfv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformfv_c", XS_OpenGL__Modern_glGetnUniformfv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformfvEXT_p", XS_OpenGL__Modern_glGetnUniformfv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformfvKHR_p", XS_OpenGL__Modern_glGetnUniformfv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformfv_p", XS_OpenGL__Modern_glGetnUniformfv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetnUniformfvARB_c", XS_OpenGL__Modern_glGetnUniformfvARB_c);
        newXS_deffile("OpenGL::Modern::glGetnUniformfvARB_p", XS_OpenGL__Modern_glGetnUniformfvARB_p);
        newXS_deffile("OpenGL::Modern::glGetnUniformi64vARB_c", XS_OpenGL__Modern_glGetnUniformi64vARB_c);
        newXS_deffile("OpenGL::Modern::glGetnUniformi64vARB_p", XS_OpenGL__Modern_glGetnUniformi64vARB_p);
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformivEXT_c", XS_OpenGL__Modern_glGetnUniformiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformivKHR_c", XS_OpenGL__Modern_glGetnUniformiv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformiv_c", XS_OpenGL__Modern_glGetnUniformiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformivEXT_p", XS_OpenGL__Modern_glGetnUniformiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformivKHR_p", XS_OpenGL__Modern_glGetnUniformiv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformiv_p", XS_OpenGL__Modern_glGetnUniformiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetnUniformivARB_c", XS_OpenGL__Modern_glGetnUniformivARB_c);
        newXS_deffile("OpenGL::Modern::glGetnUniformivARB_p", XS_OpenGL__Modern_glGetnUniformivARB_p);
        newXS_deffile("OpenGL::Modern::glGetnUniformui64vARB_c", XS_OpenGL__Modern_glGetnUniformui64vARB_c);
        newXS_deffile("OpenGL::Modern::glGetnUniformui64vARB_p", XS_OpenGL__Modern_glGetnUniformui64vARB_p);
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformuivKHR_c", XS_OpenGL__Modern_glGetnUniformuiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformuiv_c", XS_OpenGL__Modern_glGetnUniformuiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformuivKHR_p", XS_OpenGL__Modern_glGetnUniformuiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glGetnUniformuiv_p", XS_OpenGL__Modern_glGetnUniformuiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glGetnUniformuivARB_c", XS_OpenGL__Modern_glGetnUniformuivARB_c);
        newXS_deffile("OpenGL::Modern::glGetnUniformuivARB_p", XS_OpenGL__Modern_glGetnUniformuivARB_p);
        newXS_deffile("OpenGL::Modern::glGlobalAlphaFactorbSUN", XS_OpenGL__Modern_glGlobalAlphaFactorbSUN);
        newXS_deffile("OpenGL::Modern::glGlobalAlphaFactordSUN", XS_OpenGL__Modern_glGlobalAlphaFactordSUN);
        newXS_deffile("OpenGL::Modern::glGlobalAlphaFactorfSUN", XS_OpenGL__Modern_glGlobalAlphaFactorfSUN);
        newXS_deffile("OpenGL::Modern::glGlobalAlphaFactoriSUN", XS_OpenGL__Modern_glGlobalAlphaFactoriSUN);
        newXS_deffile("OpenGL::Modern::glGlobalAlphaFactorsSUN", XS_OpenGL__Modern_glGlobalAlphaFactorsSUN);
        newXS_deffile("OpenGL::Modern::glGlobalAlphaFactorubSUN", XS_OpenGL__Modern_glGlobalAlphaFactorubSUN);
        newXS_deffile("OpenGL::Modern::glGlobalAlphaFactoruiSUN", XS_OpenGL__Modern_glGlobalAlphaFactoruiSUN);
        newXS_deffile("OpenGL::Modern::glGlobalAlphaFactorusSUN", XS_OpenGL__Modern_glGlobalAlphaFactorusSUN);
        newXS_deffile("OpenGL::Modern::glHint", XS_OpenGL__Modern_glHint);
        cv = newXS_deffile("OpenGL::Modern::glHistogram", XS_OpenGL__Modern_glHistogram);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glHistogramEXT", XS_OpenGL__Modern_glHistogram);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glIglooInterfaceSGIX_c", XS_OpenGL__Modern_glIglooInterfaceSGIX_c);
        newXS_deffile("OpenGL::Modern::glImageTransformParameterfHP", XS_OpenGL__Modern_glImageTransformParameterfHP);
        newXS_deffile("OpenGL::Modern::glImageTransformParameterfvHP_c", XS_OpenGL__Modern_glImageTransformParameterfvHP_c);
        newXS_deffile("OpenGL::Modern::glImageTransformParameteriHP", XS_OpenGL__Modern_glImageTransformParameteriHP);
        newXS_deffile("OpenGL::Modern::glImageTransformParameterivHP_c", XS_OpenGL__Modern_glImageTransformParameterivHP_c);
        newXS_deffile("OpenGL::Modern::glImportMemoryFdEXT", XS_OpenGL__Modern_glImportMemoryFdEXT);
        newXS_deffile("OpenGL::Modern::glImportMemoryWin32HandleEXT_c", XS_OpenGL__Modern_glImportMemoryWin32HandleEXT_c);
        newXS_deffile("OpenGL::Modern::glImportMemoryWin32NameEXT_c", XS_OpenGL__Modern_glImportMemoryWin32NameEXT_c);
        newXS_deffile("OpenGL::Modern::glImportSemaphoreFdEXT", XS_OpenGL__Modern_glImportSemaphoreFdEXT);
        newXS_deffile("OpenGL::Modern::glImportSemaphoreWin32HandleEXT_c", XS_OpenGL__Modern_glImportSemaphoreWin32HandleEXT_c);
        newXS_deffile("OpenGL::Modern::glImportSemaphoreWin32NameEXT_c", XS_OpenGL__Modern_glImportSemaphoreWin32NameEXT_c);
        newXS_deffile("OpenGL::Modern::glImportSyncEXT", XS_OpenGL__Modern_glImportSyncEXT);
        newXS_deffile("OpenGL::Modern::glIndexFormatNV", XS_OpenGL__Modern_glIndexFormatNV);
        newXS_deffile("OpenGL::Modern::glIndexFuncEXT", XS_OpenGL__Modern_glIndexFuncEXT);
        newXS_deffile("OpenGL::Modern::glIndexMask", XS_OpenGL__Modern_glIndexMask);
        newXS_deffile("OpenGL::Modern::glIndexMaterialEXT", XS_OpenGL__Modern_glIndexMaterialEXT);
        newXS_deffile("OpenGL::Modern::glIndexPointer_c", XS_OpenGL__Modern_glIndexPointer_c);
        newXS_deffile("OpenGL::Modern::glIndexPointerEXT_c", XS_OpenGL__Modern_glIndexPointerEXT_c);
        newXS_deffile("OpenGL::Modern::glIndexPointerListIBM_c", XS_OpenGL__Modern_glIndexPointerListIBM_c);
        newXS_deffile("OpenGL::Modern::glIndexd", XS_OpenGL__Modern_glIndexd);
        newXS_deffile("OpenGL::Modern::glIndexdv_c", XS_OpenGL__Modern_glIndexdv_c);
        newXS_deffile("OpenGL::Modern::glIndexdv_p", XS_OpenGL__Modern_glIndexdv_p);
        newXS_deffile("OpenGL::Modern::glIndexf", XS_OpenGL__Modern_glIndexf);
        newXS_deffile("OpenGL::Modern::glIndexfv_c", XS_OpenGL__Modern_glIndexfv_c);
        newXS_deffile("OpenGL::Modern::glIndexfv_p", XS_OpenGL__Modern_glIndexfv_p);
        newXS_deffile("OpenGL::Modern::glIndexi", XS_OpenGL__Modern_glIndexi);
        newXS_deffile("OpenGL::Modern::glIndexiv_c", XS_OpenGL__Modern_glIndexiv_c);
        newXS_deffile("OpenGL::Modern::glIndexiv_p", XS_OpenGL__Modern_glIndexiv_p);
        newXS_deffile("OpenGL::Modern::glIndexs", XS_OpenGL__Modern_glIndexs);
        newXS_deffile("OpenGL::Modern::glIndexsv_c", XS_OpenGL__Modern_glIndexsv_c);
        newXS_deffile("OpenGL::Modern::glIndexsv_p", XS_OpenGL__Modern_glIndexsv_p);
        newXS_deffile("OpenGL::Modern::glIndexub", XS_OpenGL__Modern_glIndexub);
        newXS_deffile("OpenGL::Modern::glIndexubv_c", XS_OpenGL__Modern_glIndexubv_c);
        newXS_deffile("OpenGL::Modern::glIndexubv_p", XS_OpenGL__Modern_glIndexubv_p);
        newXS_deffile("OpenGL::Modern::glInitNames", XS_OpenGL__Modern_glInitNames);
        newXS_deffile("OpenGL::Modern::glInsertComponentEXT", XS_OpenGL__Modern_glInsertComponentEXT);
        newXS_deffile("OpenGL::Modern::glInsertEventMarkerEXT", XS_OpenGL__Modern_glInsertEventMarkerEXT);
        newXS_deffile("OpenGL::Modern::glInterleavedArrays_c", XS_OpenGL__Modern_glInterleavedArrays_c);
        newXS_deffile("OpenGL::Modern::glInterleavedTextureCoordSetsSGIS", XS_OpenGL__Modern_glInterleavedTextureCoordSetsSGIS);
        newXS_deffile("OpenGL::Modern::glInterpolatePathsNV", XS_OpenGL__Modern_glInterpolatePathsNV);
        newXS_deffile("OpenGL::Modern::glInvalidateBufferData", XS_OpenGL__Modern_glInvalidateBufferData);
        newXS_deffile("OpenGL::Modern::glInvalidateBufferSubData", XS_OpenGL__Modern_glInvalidateBufferSubData);
        newXS_deffile("OpenGL::Modern::glInvalidateFramebuffer_c", XS_OpenGL__Modern_glInvalidateFramebuffer_c);
        newXS_deffile("OpenGL::Modern::glInvalidateFramebuffer_p", XS_OpenGL__Modern_glInvalidateFramebuffer_p);
        newXS_deffile("OpenGL::Modern::glInvalidateNamedFramebufferData_c", XS_OpenGL__Modern_glInvalidateNamedFramebufferData_c);
        newXS_deffile("OpenGL::Modern::glInvalidateNamedFramebufferData_p", XS_OpenGL__Modern_glInvalidateNamedFramebufferData_p);
        newXS_deffile("OpenGL::Modern::glInvalidateNamedFramebufferSubData_c", XS_OpenGL__Modern_glInvalidateNamedFramebufferSubData_c);
        newXS_deffile("OpenGL::Modern::glInvalidateNamedFramebufferSubData_p", XS_OpenGL__Modern_glInvalidateNamedFramebufferSubData_p);
        newXS_deffile("OpenGL::Modern::glInvalidateSubFramebuffer_c", XS_OpenGL__Modern_glInvalidateSubFramebuffer_c);
        newXS_deffile("OpenGL::Modern::glInvalidateSubFramebuffer_p", XS_OpenGL__Modern_glInvalidateSubFramebuffer_p);
        newXS_deffile("OpenGL::Modern::glInvalidateTexImage", XS_OpenGL__Modern_glInvalidateTexImage);
        newXS_deffile("OpenGL::Modern::glInvalidateTexSubImage", XS_OpenGL__Modern_glInvalidateTexSubImage);
        newXS_deffile("OpenGL::Modern::glIsAsyncMarkerSGIX", XS_OpenGL__Modern_glIsAsyncMarkerSGIX);
        cv = newXS_deffile("OpenGL::Modern::glIsBuffer", XS_OpenGL__Modern_glIsBuffer);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glIsBufferARB", XS_OpenGL__Modern_glIsBuffer);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glIsBufferResidentNV", XS_OpenGL__Modern_glIsBufferResidentNV);
        newXS_deffile("OpenGL::Modern::glIsCommandListNV", XS_OpenGL__Modern_glIsCommandListNV);
        newXS_deffile("OpenGL::Modern::glIsEnabled", XS_OpenGL__Modern_glIsEnabled);
        cv = newXS_deffile("OpenGL::Modern::glIsEnabledIndexedEXT", XS_OpenGL__Modern_glIsEnabledi);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glIsEnabledi", XS_OpenGL__Modern_glIsEnabledi);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glIsEnablediEXT", XS_OpenGL__Modern_glIsEnabledi);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glIsEnablediNV", XS_OpenGL__Modern_glIsEnabledi);
        XSANY.any_i32 = 3;
        newXS_deffile("OpenGL::Modern::glIsEnablediOES", XS_OpenGL__Modern_glIsEnablediOES);
        newXS_deffile("OpenGL::Modern::glIsFenceAPPLE", XS_OpenGL__Modern_glIsFenceAPPLE);
        newXS_deffile("OpenGL::Modern::glIsFenceNV", XS_OpenGL__Modern_glIsFenceNV);
        cv = newXS_deffile("OpenGL::Modern::glIsFramebuffer", XS_OpenGL__Modern_glIsFramebuffer);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glIsFramebufferEXT", XS_OpenGL__Modern_glIsFramebuffer);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glIsFramebufferOES", XS_OpenGL__Modern_glIsFramebufferOES);
        newXS_deffile("OpenGL::Modern::glIsImageHandleResidentARB", XS_OpenGL__Modern_glIsImageHandleResidentARB);
        newXS_deffile("OpenGL::Modern::glIsImageHandleResidentNV", XS_OpenGL__Modern_glIsImageHandleResidentNV);
        newXS_deffile("OpenGL::Modern::glIsList", XS_OpenGL__Modern_glIsList);
        newXS_deffile("OpenGL::Modern::glIsMPEGPredictorSGIX", XS_OpenGL__Modern_glIsMPEGPredictorSGIX);
        newXS_deffile("OpenGL::Modern::glIsMemoryObjectEXT", XS_OpenGL__Modern_glIsMemoryObjectEXT);
        newXS_deffile("OpenGL::Modern::glIsNameAMD", XS_OpenGL__Modern_glIsNameAMD);
        newXS_deffile("OpenGL::Modern::glIsNamedBufferResidentNV", XS_OpenGL__Modern_glIsNamedBufferResidentNV);
        newXS_deffile("OpenGL::Modern::glIsNamedStringARB", XS_OpenGL__Modern_glIsNamedStringARB);
        newXS_deffile("OpenGL::Modern::glIsObjectBufferATI", XS_OpenGL__Modern_glIsObjectBufferATI);
        newXS_deffile("OpenGL::Modern::glIsOcclusionQueryNV", XS_OpenGL__Modern_glIsOcclusionQueryNV);
        newXS_deffile("OpenGL::Modern::glIsPathNV", XS_OpenGL__Modern_glIsPathNV);
        newXS_deffile("OpenGL::Modern::glIsPointInFillPathNV", XS_OpenGL__Modern_glIsPointInFillPathNV);
        newXS_deffile("OpenGL::Modern::glIsPointInStrokePathNV", XS_OpenGL__Modern_glIsPointInStrokePathNV);
        newXS_deffile("OpenGL::Modern::glIsProgram", XS_OpenGL__Modern_glIsProgram);
        cv = newXS_deffile("OpenGL::Modern::glIsProgramARB", XS_OpenGL__Modern_glIsProgramARB);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glIsProgramNV", XS_OpenGL__Modern_glIsProgramARB);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glIsProgramPipeline", XS_OpenGL__Modern_glIsProgramPipeline);
        cv = newXS_deffile("OpenGL::Modern::glIsQuery", XS_OpenGL__Modern_glIsQuery);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glIsQueryARB", XS_OpenGL__Modern_glIsQuery);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glIsQueryANGLE", XS_OpenGL__Modern_glIsQueryANGLE);
        newXS_deffile("OpenGL::Modern::glIsQueryEXT", XS_OpenGL__Modern_glIsQueryEXT);
        cv = newXS_deffile("OpenGL::Modern::glIsRenderbuffer", XS_OpenGL__Modern_glIsRenderbuffer);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glIsRenderbufferEXT", XS_OpenGL__Modern_glIsRenderbuffer);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glIsRenderbufferOES", XS_OpenGL__Modern_glIsRenderbufferOES);
        newXS_deffile("OpenGL::Modern::glIsSampler", XS_OpenGL__Modern_glIsSampler);
        newXS_deffile("OpenGL::Modern::glIsSemaphoreEXT", XS_OpenGL__Modern_glIsSemaphoreEXT);
        newXS_deffile("OpenGL::Modern::glIsShader", XS_OpenGL__Modern_glIsShader);
        newXS_deffile("OpenGL::Modern::glIsStateNV", XS_OpenGL__Modern_glIsStateNV);
        newXS_deffile("OpenGL::Modern::glIsSupportedREGAL", XS_OpenGL__Modern_glIsSupportedREGAL);
        cv = newXS_deffile("OpenGL::Modern::glIsSync", XS_OpenGL__Modern_glIsSync);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glIsSyncAPPLE", XS_OpenGL__Modern_glIsSync);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glIsTexture", XS_OpenGL__Modern_glIsTexture);
        newXS_deffile("OpenGL::Modern::glIsTextureEXT", XS_OpenGL__Modern_glIsTextureEXT);
        newXS_deffile("OpenGL::Modern::glIsTextureHandleResidentARB", XS_OpenGL__Modern_glIsTextureHandleResidentARB);
        newXS_deffile("OpenGL::Modern::glIsTextureHandleResidentNV", XS_OpenGL__Modern_glIsTextureHandleResidentNV);
        cv = newXS_deffile("OpenGL::Modern::glIsTransformFeedback", XS_OpenGL__Modern_glIsTransformFeedback);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glIsTransformFeedbackNV", XS_OpenGL__Modern_glIsTransformFeedback);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glIsVariantEnabledEXT", XS_OpenGL__Modern_glIsVariantEnabledEXT);
        cv = newXS_deffile("OpenGL::Modern::glIsVertexArray", XS_OpenGL__Modern_glIsVertexArray);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glIsVertexArrayAPPLE", XS_OpenGL__Modern_glIsVertexArray);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glIsVertexArrayOES", XS_OpenGL__Modern_glIsVertexArrayOES);
        newXS_deffile("OpenGL::Modern::glIsVertexArraySGIX", XS_OpenGL__Modern_glIsVertexArraySGIX);
        newXS_deffile("OpenGL::Modern::glIsVertexAttribEnabledAPPLE", XS_OpenGL__Modern_glIsVertexAttribEnabledAPPLE);
        newXS_deffile("OpenGL::Modern::glLGPUCopyImageSubDataNVX", XS_OpenGL__Modern_glLGPUCopyImageSubDataNVX);
        newXS_deffile("OpenGL::Modern::glLGPUInterlockNVX", XS_OpenGL__Modern_glLGPUInterlockNVX);
        newXS_deffile("OpenGL::Modern::glLGPUNamedBufferSubDataNVX_c", XS_OpenGL__Modern_glLGPUNamedBufferSubDataNVX_c);
        newXS_deffile("OpenGL::Modern::glLabelObjectEXT", XS_OpenGL__Modern_glLabelObjectEXT);
        newXS_deffile("OpenGL::Modern::glLightEnviEXT", XS_OpenGL__Modern_glLightEnviEXT);
        newXS_deffile("OpenGL::Modern::glLightModelf", XS_OpenGL__Modern_glLightModelf);
        newXS_deffile("OpenGL::Modern::glLightModelfv_c", XS_OpenGL__Modern_glLightModelfv_c);
        newXS_deffile("OpenGL::Modern::glLightModelfv_p", XS_OpenGL__Modern_glLightModelfv_p);
        newXS_deffile("OpenGL::Modern::glLightModeli", XS_OpenGL__Modern_glLightModeli);
        newXS_deffile("OpenGL::Modern::glLightModeliv_c", XS_OpenGL__Modern_glLightModeliv_c);
        newXS_deffile("OpenGL::Modern::glLightModeliv_p", XS_OpenGL__Modern_glLightModeliv_p);
        newXS_deffile("OpenGL::Modern::glLightModelx", XS_OpenGL__Modern_glLightModelx);
        newXS_deffile("OpenGL::Modern::glLightModelxv_c", XS_OpenGL__Modern_glLightModelxv_c);
        newXS_deffile("OpenGL::Modern::glLightModelxv_p", XS_OpenGL__Modern_glLightModelxv_p);
        newXS_deffile("OpenGL::Modern::glLightf", XS_OpenGL__Modern_glLightf);
        newXS_deffile("OpenGL::Modern::glLightfv_c", XS_OpenGL__Modern_glLightfv_c);
        newXS_deffile("OpenGL::Modern::glLightfv_p", XS_OpenGL__Modern_glLightfv_p);
        newXS_deffile("OpenGL::Modern::glLighti", XS_OpenGL__Modern_glLighti);
        newXS_deffile("OpenGL::Modern::glLightiv_c", XS_OpenGL__Modern_glLightiv_c);
        newXS_deffile("OpenGL::Modern::glLightiv_p", XS_OpenGL__Modern_glLightiv_p);
        newXS_deffile("OpenGL::Modern::glLightx", XS_OpenGL__Modern_glLightx);
        newXS_deffile("OpenGL::Modern::glLightxv_c", XS_OpenGL__Modern_glLightxv_c);
        newXS_deffile("OpenGL::Modern::glLightxv_p", XS_OpenGL__Modern_glLightxv_p);
        newXS_deffile("OpenGL::Modern::glLineStipple", XS_OpenGL__Modern_glLineStipple);
        newXS_deffile("OpenGL::Modern::glLineWidth", XS_OpenGL__Modern_glLineWidth);
        newXS_deffile("OpenGL::Modern::glLineWidthx", XS_OpenGL__Modern_glLineWidthx);
        newXS_deffile("OpenGL::Modern::glLinkProgram", XS_OpenGL__Modern_glLinkProgram);
        newXS_deffile("OpenGL::Modern::glLinkProgramARB", XS_OpenGL__Modern_glLinkProgramARB);
        newXS_deffile("OpenGL::Modern::glListBase", XS_OpenGL__Modern_glListBase);
        newXS_deffile("OpenGL::Modern::glListDrawCommandsStatesClientNV_c", XS_OpenGL__Modern_glListDrawCommandsStatesClientNV_c);
        newXS_deffile("OpenGL::Modern::glLoadIdentity", XS_OpenGL__Modern_glLoadIdentity);
        newXS_deffile("OpenGL::Modern::glLoadIdentityDeformationMapSGIX", XS_OpenGL__Modern_glLoadIdentityDeformationMapSGIX);
        newXS_deffile("OpenGL::Modern::glLoadMatrixd_c", XS_OpenGL__Modern_glLoadMatrixd_c);
        newXS_deffile("OpenGL::Modern::glLoadMatrixd_p", XS_OpenGL__Modern_glLoadMatrixd_p);
        newXS_deffile("OpenGL::Modern::glLoadMatrixf_c", XS_OpenGL__Modern_glLoadMatrixf_c);
        newXS_deffile("OpenGL::Modern::glLoadMatrixf_p", XS_OpenGL__Modern_glLoadMatrixf_p);
        newXS_deffile("OpenGL::Modern::glLoadMatrixx_c", XS_OpenGL__Modern_glLoadMatrixx_c);
        newXS_deffile("OpenGL::Modern::glLoadMatrixx_p", XS_OpenGL__Modern_glLoadMatrixx_p);
        newXS_deffile("OpenGL::Modern::glLoadName", XS_OpenGL__Modern_glLoadName);
        newXS_deffile("OpenGL::Modern::glLoadPaletteFromModelViewMatrixOES", XS_OpenGL__Modern_glLoadPaletteFromModelViewMatrixOES);
        newXS_deffile("OpenGL::Modern::glLoadProgramNV", XS_OpenGL__Modern_glLoadProgramNV);
        cv = newXS_deffile("OpenGL::Modern::glLoadTransposeMatrixdARB_c", XS_OpenGL__Modern_glLoadTransposeMatrixd_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glLoadTransposeMatrixd_c", XS_OpenGL__Modern_glLoadTransposeMatrixd_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glLoadTransposeMatrixdARB_p", XS_OpenGL__Modern_glLoadTransposeMatrixd_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glLoadTransposeMatrixd_p", XS_OpenGL__Modern_glLoadTransposeMatrixd_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glLoadTransposeMatrixfARB_c", XS_OpenGL__Modern_glLoadTransposeMatrixf_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glLoadTransposeMatrixf_c", XS_OpenGL__Modern_glLoadTransposeMatrixf_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glLoadTransposeMatrixfARB_p", XS_OpenGL__Modern_glLoadTransposeMatrixf_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glLoadTransposeMatrixf_p", XS_OpenGL__Modern_glLoadTransposeMatrixf_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glLockArraysEXT", XS_OpenGL__Modern_glLockArraysEXT);
        newXS_deffile("OpenGL::Modern::glLogMessageCallbackREGAL", XS_OpenGL__Modern_glLogMessageCallbackREGAL);
        newXS_deffile("OpenGL::Modern::glLogicOp", XS_OpenGL__Modern_glLogicOp);
        newXS_deffile("OpenGL::Modern::glMPEGPredictorSGIX_c", XS_OpenGL__Modern_glMPEGPredictorSGIX_c);
        newXS_deffile("OpenGL::Modern::glMPEGQuantTableubv_c", XS_OpenGL__Modern_glMPEGQuantTableubv_c);
        newXS_deffile("OpenGL::Modern::glMakeBufferNonResidentNV", XS_OpenGL__Modern_glMakeBufferNonResidentNV);
        newXS_deffile("OpenGL::Modern::glMakeBufferResidentNV", XS_OpenGL__Modern_glMakeBufferResidentNV);
        newXS_deffile("OpenGL::Modern::glMakeImageHandleNonResidentARB", XS_OpenGL__Modern_glMakeImageHandleNonResidentARB);
        newXS_deffile("OpenGL::Modern::glMakeImageHandleNonResidentNV", XS_OpenGL__Modern_glMakeImageHandleNonResidentNV);
        newXS_deffile("OpenGL::Modern::glMakeImageHandleResidentARB", XS_OpenGL__Modern_glMakeImageHandleResidentARB);
        newXS_deffile("OpenGL::Modern::glMakeImageHandleResidentNV", XS_OpenGL__Modern_glMakeImageHandleResidentNV);
        newXS_deffile("OpenGL::Modern::glMakeNamedBufferNonResidentNV", XS_OpenGL__Modern_glMakeNamedBufferNonResidentNV);
        newXS_deffile("OpenGL::Modern::glMakeNamedBufferResidentNV", XS_OpenGL__Modern_glMakeNamedBufferResidentNV);
        newXS_deffile("OpenGL::Modern::glMakeTextureHandleNonResidentARB", XS_OpenGL__Modern_glMakeTextureHandleNonResidentARB);
        newXS_deffile("OpenGL::Modern::glMakeTextureHandleNonResidentNV", XS_OpenGL__Modern_glMakeTextureHandleNonResidentNV);
        newXS_deffile("OpenGL::Modern::glMakeTextureHandleResidentARB", XS_OpenGL__Modern_glMakeTextureHandleResidentARB);
        newXS_deffile("OpenGL::Modern::glMakeTextureHandleResidentNV", XS_OpenGL__Modern_glMakeTextureHandleResidentNV);
        newXS_deffile("OpenGL::Modern::glMap1d_c", XS_OpenGL__Modern_glMap1d_c);
        newXS_deffile("OpenGL::Modern::glMap1f_c", XS_OpenGL__Modern_glMap1f_c);
        newXS_deffile("OpenGL::Modern::glMap2d_c", XS_OpenGL__Modern_glMap2d_c);
        newXS_deffile("OpenGL::Modern::glMap2f_c", XS_OpenGL__Modern_glMap2f_c);
        cv = newXS_deffile("OpenGL::Modern::glMapBufferARB_c", XS_OpenGL__Modern_glMapBuffer_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMapBuffer_c", XS_OpenGL__Modern_glMapBuffer_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glMapBufferOES_c", XS_OpenGL__Modern_glMapBufferOES_c);
        cv = newXS_deffile("OpenGL::Modern::glMapBufferRangeEXT_c", XS_OpenGL__Modern_glMapBufferRange_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMapBufferRange_c", XS_OpenGL__Modern_glMapBufferRange_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glMapControlPointsNV_c", XS_OpenGL__Modern_glMapControlPointsNV_c);
        newXS_deffile("OpenGL::Modern::glMapGrid1d", XS_OpenGL__Modern_glMapGrid1d);
        newXS_deffile("OpenGL::Modern::glMapGrid1f", XS_OpenGL__Modern_glMapGrid1f);
        newXS_deffile("OpenGL::Modern::glMapGrid2d", XS_OpenGL__Modern_glMapGrid2d);
        newXS_deffile("OpenGL::Modern::glMapGrid2f", XS_OpenGL__Modern_glMapGrid2f);
        newXS_deffile("OpenGL::Modern::glMapNamedBuffer_c", XS_OpenGL__Modern_glMapNamedBuffer_c);
        newXS_deffile("OpenGL::Modern::glMapNamedBufferEXT_c", XS_OpenGL__Modern_glMapNamedBufferEXT_c);
        newXS_deffile("OpenGL::Modern::glMapNamedBufferRange_c", XS_OpenGL__Modern_glMapNamedBufferRange_c);
        newXS_deffile("OpenGL::Modern::glMapNamedBufferRangeEXT_c", XS_OpenGL__Modern_glMapNamedBufferRangeEXT_c);
        newXS_deffile("OpenGL::Modern::glMapObjectBufferATI_c", XS_OpenGL__Modern_glMapObjectBufferATI_c);
        newXS_deffile("OpenGL::Modern::glMapParameterfvNV_c", XS_OpenGL__Modern_glMapParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glMapParameterivNV_c", XS_OpenGL__Modern_glMapParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glMapTexture2DINTEL_c", XS_OpenGL__Modern_glMapTexture2DINTEL_c);
        newXS_deffile("OpenGL::Modern::glMapTexture2DINTEL_p", XS_OpenGL__Modern_glMapTexture2DINTEL_p);
        newXS_deffile("OpenGL::Modern::glMapVertexAttrib1dAPPLE_c", XS_OpenGL__Modern_glMapVertexAttrib1dAPPLE_c);
        newXS_deffile("OpenGL::Modern::glMapVertexAttrib1fAPPLE_c", XS_OpenGL__Modern_glMapVertexAttrib1fAPPLE_c);
        newXS_deffile("OpenGL::Modern::glMapVertexAttrib2dAPPLE_c", XS_OpenGL__Modern_glMapVertexAttrib2dAPPLE_c);
        newXS_deffile("OpenGL::Modern::glMapVertexAttrib2fAPPLE_c", XS_OpenGL__Modern_glMapVertexAttrib2fAPPLE_c);
        newXS_deffile("OpenGL::Modern::glMaterialf", XS_OpenGL__Modern_glMaterialf);
        newXS_deffile("OpenGL::Modern::glMaterialfv_c", XS_OpenGL__Modern_glMaterialfv_c);
        newXS_deffile("OpenGL::Modern::glMaterialfv_p", XS_OpenGL__Modern_glMaterialfv_p);
        newXS_deffile("OpenGL::Modern::glMateriali", XS_OpenGL__Modern_glMateriali);
        newXS_deffile("OpenGL::Modern::glMaterialiv_c", XS_OpenGL__Modern_glMaterialiv_c);
        newXS_deffile("OpenGL::Modern::glMaterialiv_p", XS_OpenGL__Modern_glMaterialiv_p);
        newXS_deffile("OpenGL::Modern::glMaterialx", XS_OpenGL__Modern_glMaterialx);
        newXS_deffile("OpenGL::Modern::glMaterialxv_c", XS_OpenGL__Modern_glMaterialxv_c);
        newXS_deffile("OpenGL::Modern::glMaterialxv_p", XS_OpenGL__Modern_glMaterialxv_p);
        newXS_deffile("OpenGL::Modern::glMatrixFrustumEXT", XS_OpenGL__Modern_glMatrixFrustumEXT);
        newXS_deffile("OpenGL::Modern::glMatrixIndexPointerARB_c", XS_OpenGL__Modern_glMatrixIndexPointerARB_c);
        newXS_deffile("OpenGL::Modern::glMatrixIndexPointerOES_c", XS_OpenGL__Modern_glMatrixIndexPointerOES_c);
        newXS_deffile("OpenGL::Modern::glMatrixIndexubvARB_c", XS_OpenGL__Modern_glMatrixIndexubvARB_c);
        newXS_deffile("OpenGL::Modern::glMatrixIndexubvARB_p", XS_OpenGL__Modern_glMatrixIndexubvARB_p);
        newXS_deffile("OpenGL::Modern::glMatrixIndexuivARB_c", XS_OpenGL__Modern_glMatrixIndexuivARB_c);
        newXS_deffile("OpenGL::Modern::glMatrixIndexuivARB_p", XS_OpenGL__Modern_glMatrixIndexuivARB_p);
        newXS_deffile("OpenGL::Modern::glMatrixIndexusvARB_c", XS_OpenGL__Modern_glMatrixIndexusvARB_c);
        newXS_deffile("OpenGL::Modern::glMatrixIndexusvARB_p", XS_OpenGL__Modern_glMatrixIndexusvARB_p);
        newXS_deffile("OpenGL::Modern::glMatrixLoad3x2fNV_c", XS_OpenGL__Modern_glMatrixLoad3x2fNV_c);
        newXS_deffile("OpenGL::Modern::glMatrixLoad3x3fNV_c", XS_OpenGL__Modern_glMatrixLoad3x3fNV_c);
        newXS_deffile("OpenGL::Modern::glMatrixLoadIdentityEXT", XS_OpenGL__Modern_glMatrixLoadIdentityEXT);
        newXS_deffile("OpenGL::Modern::glMatrixLoadTranspose3x3fNV_c", XS_OpenGL__Modern_glMatrixLoadTranspose3x3fNV_c);
        newXS_deffile("OpenGL::Modern::glMatrixLoadTransposedEXT_c", XS_OpenGL__Modern_glMatrixLoadTransposedEXT_c);
        newXS_deffile("OpenGL::Modern::glMatrixLoadTransposedEXT_p", XS_OpenGL__Modern_glMatrixLoadTransposedEXT_p);
        newXS_deffile("OpenGL::Modern::glMatrixLoadTransposefEXT_c", XS_OpenGL__Modern_glMatrixLoadTransposefEXT_c);
        newXS_deffile("OpenGL::Modern::glMatrixLoadTransposefEXT_p", XS_OpenGL__Modern_glMatrixLoadTransposefEXT_p);
        newXS_deffile("OpenGL::Modern::glMatrixLoaddEXT_c", XS_OpenGL__Modern_glMatrixLoaddEXT_c);
        newXS_deffile("OpenGL::Modern::glMatrixLoaddEXT_p", XS_OpenGL__Modern_glMatrixLoaddEXT_p);
        newXS_deffile("OpenGL::Modern::glMatrixLoadfEXT_c", XS_OpenGL__Modern_glMatrixLoadfEXT_c);
        newXS_deffile("OpenGL::Modern::glMatrixLoadfEXT_p", XS_OpenGL__Modern_glMatrixLoadfEXT_p);
        newXS_deffile("OpenGL::Modern::glMatrixMode", XS_OpenGL__Modern_glMatrixMode);
        newXS_deffile("OpenGL::Modern::glMatrixMult3x2fNV_c", XS_OpenGL__Modern_glMatrixMult3x2fNV_c);
        newXS_deffile("OpenGL::Modern::glMatrixMult3x3fNV_c", XS_OpenGL__Modern_glMatrixMult3x3fNV_c);
        newXS_deffile("OpenGL::Modern::glMatrixMultTranspose3x3fNV_c", XS_OpenGL__Modern_glMatrixMultTranspose3x3fNV_c);
        newXS_deffile("OpenGL::Modern::glMatrixMultTransposedEXT_c", XS_OpenGL__Modern_glMatrixMultTransposedEXT_c);
        newXS_deffile("OpenGL::Modern::glMatrixMultTransposedEXT_p", XS_OpenGL__Modern_glMatrixMultTransposedEXT_p);
        newXS_deffile("OpenGL::Modern::glMatrixMultTransposefEXT_c", XS_OpenGL__Modern_glMatrixMultTransposefEXT_c);
        newXS_deffile("OpenGL::Modern::glMatrixMultTransposefEXT_p", XS_OpenGL__Modern_glMatrixMultTransposefEXT_p);
        newXS_deffile("OpenGL::Modern::glMatrixMultdEXT_c", XS_OpenGL__Modern_glMatrixMultdEXT_c);
        newXS_deffile("OpenGL::Modern::glMatrixMultdEXT_p", XS_OpenGL__Modern_glMatrixMultdEXT_p);
        newXS_deffile("OpenGL::Modern::glMatrixMultfEXT_c", XS_OpenGL__Modern_glMatrixMultfEXT_c);
        newXS_deffile("OpenGL::Modern::glMatrixMultfEXT_p", XS_OpenGL__Modern_glMatrixMultfEXT_p);
        newXS_deffile("OpenGL::Modern::glMatrixOrthoEXT", XS_OpenGL__Modern_glMatrixOrthoEXT);
        newXS_deffile("OpenGL::Modern::glMatrixPopEXT", XS_OpenGL__Modern_glMatrixPopEXT);
        newXS_deffile("OpenGL::Modern::glMatrixPushEXT", XS_OpenGL__Modern_glMatrixPushEXT);
        newXS_deffile("OpenGL::Modern::glMatrixRotatedEXT", XS_OpenGL__Modern_glMatrixRotatedEXT);
        newXS_deffile("OpenGL::Modern::glMatrixRotatefEXT", XS_OpenGL__Modern_glMatrixRotatefEXT);
        newXS_deffile("OpenGL::Modern::glMatrixScaledEXT", XS_OpenGL__Modern_glMatrixScaledEXT);
        newXS_deffile("OpenGL::Modern::glMatrixScalefEXT", XS_OpenGL__Modern_glMatrixScalefEXT);
        newXS_deffile("OpenGL::Modern::glMatrixTranslatedEXT", XS_OpenGL__Modern_glMatrixTranslatedEXT);
        newXS_deffile("OpenGL::Modern::glMatrixTranslatefEXT", XS_OpenGL__Modern_glMatrixTranslatefEXT);
        newXS_deffile("OpenGL::Modern::glMaxActiveShaderCoresARM", XS_OpenGL__Modern_glMaxActiveShaderCoresARM);
        cv = newXS_deffile("OpenGL::Modern::glMaxShaderCompilerThreadsARB", XS_OpenGL__Modern_glMaxShaderCompilerThreadsKHR);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMaxShaderCompilerThreadsKHR", XS_OpenGL__Modern_glMaxShaderCompilerThreadsKHR);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMemoryBarrier", XS_OpenGL__Modern_glMemoryBarrier);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMemoryBarrierEXT", XS_OpenGL__Modern_glMemoryBarrier);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glMemoryBarrierByRegion", XS_OpenGL__Modern_glMemoryBarrierByRegion);
        newXS_deffile("OpenGL::Modern::glMemoryObjectParameterivEXT_c", XS_OpenGL__Modern_glMemoryObjectParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glMeshBreadthSGIX", XS_OpenGL__Modern_glMeshBreadthSGIX);
        newXS_deffile("OpenGL::Modern::glMeshStrideSGIX", XS_OpenGL__Modern_glMeshStrideSGIX);
        cv = newXS_deffile("OpenGL::Modern::glMinSampleShading", XS_OpenGL__Modern_glMinSampleShading);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMinSampleShadingARB", XS_OpenGL__Modern_glMinSampleShading);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glMinSampleShadingOES", XS_OpenGL__Modern_glMinSampleShadingOES);
        cv = newXS_deffile("OpenGL::Modern::glMinmax", XS_OpenGL__Modern_glMinmax);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMinmaxEXT", XS_OpenGL__Modern_glMinmax);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glMultMatrixd_c", XS_OpenGL__Modern_glMultMatrixd_c);
        newXS_deffile("OpenGL::Modern::glMultMatrixd_p", XS_OpenGL__Modern_glMultMatrixd_p);
        newXS_deffile("OpenGL::Modern::glMultMatrixf_c", XS_OpenGL__Modern_glMultMatrixf_c);
        newXS_deffile("OpenGL::Modern::glMultMatrixf_p", XS_OpenGL__Modern_glMultMatrixf_p);
        newXS_deffile("OpenGL::Modern::glMultMatrixx_c", XS_OpenGL__Modern_glMultMatrixx_c);
        newXS_deffile("OpenGL::Modern::glMultMatrixx_p", XS_OpenGL__Modern_glMultMatrixx_p);
        cv = newXS_deffile("OpenGL::Modern::glMultTransposeMatrixdARB_c", XS_OpenGL__Modern_glMultTransposeMatrixd_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultTransposeMatrixd_c", XS_OpenGL__Modern_glMultTransposeMatrixd_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultTransposeMatrixdARB_p", XS_OpenGL__Modern_glMultTransposeMatrixd_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultTransposeMatrixd_p", XS_OpenGL__Modern_glMultTransposeMatrixd_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultTransposeMatrixfARB_c", XS_OpenGL__Modern_glMultTransposeMatrixf_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultTransposeMatrixf_c", XS_OpenGL__Modern_glMultTransposeMatrixf_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultTransposeMatrixfARB_p", XS_OpenGL__Modern_glMultTransposeMatrixf_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultTransposeMatrixf_p", XS_OpenGL__Modern_glMultTransposeMatrixf_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawArraysEXT_c", XS_OpenGL__Modern_glMultiDrawArrays_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawArrays_c", XS_OpenGL__Modern_glMultiDrawArrays_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawArraysEXT_p", XS_OpenGL__Modern_glMultiDrawArrays_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawArrays_p", XS_OpenGL__Modern_glMultiDrawArrays_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawArraysIndirectAMD_c", XS_OpenGL__Modern_glMultiDrawArraysIndirect_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawArraysIndirectEXT_c", XS_OpenGL__Modern_glMultiDrawArraysIndirect_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawArraysIndirect_c", XS_OpenGL__Modern_glMultiDrawArraysIndirect_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glMultiDrawArraysIndirectBindlessCountNV_c", XS_OpenGL__Modern_glMultiDrawArraysIndirectBindlessCountNV_c);
        newXS_deffile("OpenGL::Modern::glMultiDrawArraysIndirectBindlessNV_c", XS_OpenGL__Modern_glMultiDrawArraysIndirectBindlessNV_c);
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawArraysIndirectCountARB_c", XS_OpenGL__Modern_glMultiDrawArraysIndirectCount_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawArraysIndirectCount_c", XS_OpenGL__Modern_glMultiDrawArraysIndirectCount_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glMultiDrawElementArrayAPPLE_c", XS_OpenGL__Modern_glMultiDrawElementArrayAPPLE_c);
        newXS_deffile("OpenGL::Modern::glMultiDrawElementArrayAPPLE_p", XS_OpenGL__Modern_glMultiDrawElementArrayAPPLE_p);
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawElementsEXT_c", XS_OpenGL__Modern_glMultiDrawElements_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawElements_c", XS_OpenGL__Modern_glMultiDrawElements_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawElementsBaseVertexEXT_c", XS_OpenGL__Modern_glMultiDrawElementsBaseVertex_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawElementsBaseVertex_c", XS_OpenGL__Modern_glMultiDrawElementsBaseVertex_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawElementsIndirectAMD_c", XS_OpenGL__Modern_glMultiDrawElementsIndirect_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawElementsIndirectEXT_c", XS_OpenGL__Modern_glMultiDrawElementsIndirect_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawElementsIndirect_c", XS_OpenGL__Modern_glMultiDrawElementsIndirect_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glMultiDrawElementsIndirectBindlessCountNV_c", XS_OpenGL__Modern_glMultiDrawElementsIndirectBindlessCountNV_c);
        newXS_deffile("OpenGL::Modern::glMultiDrawElementsIndirectBindlessNV_c", XS_OpenGL__Modern_glMultiDrawElementsIndirectBindlessNV_c);
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawElementsIndirectCountARB_c", XS_OpenGL__Modern_glMultiDrawElementsIndirectCount_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiDrawElementsIndirectCount_c", XS_OpenGL__Modern_glMultiDrawElementsIndirectCount_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glMultiDrawMeshTasksIndirectCountEXT", XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectCountEXT);
        newXS_deffile("OpenGL::Modern::glMultiDrawMeshTasksIndirectCountNV", XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectCountNV);
        newXS_deffile("OpenGL::Modern::glMultiDrawMeshTasksIndirectEXT", XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectEXT);
        newXS_deffile("OpenGL::Modern::glMultiDrawMeshTasksIndirectNV", XS_OpenGL__Modern_glMultiDrawMeshTasksIndirectNV);
        newXS_deffile("OpenGL::Modern::glMultiDrawRangeElementArrayAPPLE_c", XS_OpenGL__Modern_glMultiDrawRangeElementArrayAPPLE_c);
        newXS_deffile("OpenGL::Modern::glMultiDrawRangeElementArrayAPPLE_p", XS_OpenGL__Modern_glMultiDrawRangeElementArrayAPPLE_p);
        newXS_deffile("OpenGL::Modern::glMultiModeDrawArraysIBM_c", XS_OpenGL__Modern_glMultiModeDrawArraysIBM_c);
        newXS_deffile("OpenGL::Modern::glMultiModeDrawElementsIBM_c", XS_OpenGL__Modern_glMultiModeDrawElementsIBM_c);
        newXS_deffile("OpenGL::Modern::glMultiTexBufferEXT", XS_OpenGL__Modern_glMultiTexBufferEXT);
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1d", XS_OpenGL__Modern_glMultiTexCoord1d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1dARB", XS_OpenGL__Modern_glMultiTexCoord1d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1dvARB_c", XS_OpenGL__Modern_glMultiTexCoord1dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1dv_c", XS_OpenGL__Modern_glMultiTexCoord1dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1dvARB_p", XS_OpenGL__Modern_glMultiTexCoord1dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1dv_p", XS_OpenGL__Modern_glMultiTexCoord1dv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1f", XS_OpenGL__Modern_glMultiTexCoord1f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1fARB", XS_OpenGL__Modern_glMultiTexCoord1f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1fvARB_c", XS_OpenGL__Modern_glMultiTexCoord1fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1fv_c", XS_OpenGL__Modern_glMultiTexCoord1fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1fvARB_p", XS_OpenGL__Modern_glMultiTexCoord1fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1fv_p", XS_OpenGL__Modern_glMultiTexCoord1fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glMultiTexCoord1hNV", XS_OpenGL__Modern_glMultiTexCoord1hNV);
        newXS_deffile("OpenGL::Modern::glMultiTexCoord1hvNV_c", XS_OpenGL__Modern_glMultiTexCoord1hvNV_c);
        newXS_deffile("OpenGL::Modern::glMultiTexCoord1hvNV_p", XS_OpenGL__Modern_glMultiTexCoord1hvNV_p);
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1i", XS_OpenGL__Modern_glMultiTexCoord1i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1iARB", XS_OpenGL__Modern_glMultiTexCoord1i);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1ivARB_c", XS_OpenGL__Modern_glMultiTexCoord1iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1iv_c", XS_OpenGL__Modern_glMultiTexCoord1iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1ivARB_p", XS_OpenGL__Modern_glMultiTexCoord1iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1iv_p", XS_OpenGL__Modern_glMultiTexCoord1iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1s", XS_OpenGL__Modern_glMultiTexCoord1s);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1sARB", XS_OpenGL__Modern_glMultiTexCoord1s);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1svARB_c", XS_OpenGL__Modern_glMultiTexCoord1sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1sv_c", XS_OpenGL__Modern_glMultiTexCoord1sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1svARB_p", XS_OpenGL__Modern_glMultiTexCoord1sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord1sv_p", XS_OpenGL__Modern_glMultiTexCoord1sv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2d", XS_OpenGL__Modern_glMultiTexCoord2d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2dARB", XS_OpenGL__Modern_glMultiTexCoord2d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2dvARB_c", XS_OpenGL__Modern_glMultiTexCoord2dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2dv_c", XS_OpenGL__Modern_glMultiTexCoord2dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2dvARB_p", XS_OpenGL__Modern_glMultiTexCoord2dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2dv_p", XS_OpenGL__Modern_glMultiTexCoord2dv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2f", XS_OpenGL__Modern_glMultiTexCoord2f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2fARB", XS_OpenGL__Modern_glMultiTexCoord2f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2fvARB_c", XS_OpenGL__Modern_glMultiTexCoord2fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2fv_c", XS_OpenGL__Modern_glMultiTexCoord2fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2fvARB_p", XS_OpenGL__Modern_glMultiTexCoord2fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2fv_p", XS_OpenGL__Modern_glMultiTexCoord2fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glMultiTexCoord2hNV", XS_OpenGL__Modern_glMultiTexCoord2hNV);
        newXS_deffile("OpenGL::Modern::glMultiTexCoord2hvNV_c", XS_OpenGL__Modern_glMultiTexCoord2hvNV_c);
        newXS_deffile("OpenGL::Modern::glMultiTexCoord2hvNV_p", XS_OpenGL__Modern_glMultiTexCoord2hvNV_p);
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2i", XS_OpenGL__Modern_glMultiTexCoord2i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2iARB", XS_OpenGL__Modern_glMultiTexCoord2i);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2ivARB_c", XS_OpenGL__Modern_glMultiTexCoord2iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2iv_c", XS_OpenGL__Modern_glMultiTexCoord2iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2ivARB_p", XS_OpenGL__Modern_glMultiTexCoord2iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2iv_p", XS_OpenGL__Modern_glMultiTexCoord2iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2s", XS_OpenGL__Modern_glMultiTexCoord2s);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2sARB", XS_OpenGL__Modern_glMultiTexCoord2s);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2svARB_c", XS_OpenGL__Modern_glMultiTexCoord2sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2sv_c", XS_OpenGL__Modern_glMultiTexCoord2sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2svARB_p", XS_OpenGL__Modern_glMultiTexCoord2sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord2sv_p", XS_OpenGL__Modern_glMultiTexCoord2sv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3d", XS_OpenGL__Modern_glMultiTexCoord3d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3dARB", XS_OpenGL__Modern_glMultiTexCoord3d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3dvARB_c", XS_OpenGL__Modern_glMultiTexCoord3dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3dv_c", XS_OpenGL__Modern_glMultiTexCoord3dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3dvARB_p", XS_OpenGL__Modern_glMultiTexCoord3dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3dv_p", XS_OpenGL__Modern_glMultiTexCoord3dv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3f", XS_OpenGL__Modern_glMultiTexCoord3f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3fARB", XS_OpenGL__Modern_glMultiTexCoord3f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3fvARB_c", XS_OpenGL__Modern_glMultiTexCoord3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3fv_c", XS_OpenGL__Modern_glMultiTexCoord3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3fvARB_p", XS_OpenGL__Modern_glMultiTexCoord3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3fv_p", XS_OpenGL__Modern_glMultiTexCoord3fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glMultiTexCoord3hNV", XS_OpenGL__Modern_glMultiTexCoord3hNV);
        newXS_deffile("OpenGL::Modern::glMultiTexCoord3hvNV_c", XS_OpenGL__Modern_glMultiTexCoord3hvNV_c);
        newXS_deffile("OpenGL::Modern::glMultiTexCoord3hvNV_p", XS_OpenGL__Modern_glMultiTexCoord3hvNV_p);
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3i", XS_OpenGL__Modern_glMultiTexCoord3i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3iARB", XS_OpenGL__Modern_glMultiTexCoord3i);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3ivARB_c", XS_OpenGL__Modern_glMultiTexCoord3iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3iv_c", XS_OpenGL__Modern_glMultiTexCoord3iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3ivARB_p", XS_OpenGL__Modern_glMultiTexCoord3iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3iv_p", XS_OpenGL__Modern_glMultiTexCoord3iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3s", XS_OpenGL__Modern_glMultiTexCoord3s);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3sARB", XS_OpenGL__Modern_glMultiTexCoord3s);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3svARB_c", XS_OpenGL__Modern_glMultiTexCoord3sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3sv_c", XS_OpenGL__Modern_glMultiTexCoord3sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3svARB_p", XS_OpenGL__Modern_glMultiTexCoord3sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord3sv_p", XS_OpenGL__Modern_glMultiTexCoord3sv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4d", XS_OpenGL__Modern_glMultiTexCoord4d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4dARB", XS_OpenGL__Modern_glMultiTexCoord4d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4dvARB_c", XS_OpenGL__Modern_glMultiTexCoord4dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4dv_c", XS_OpenGL__Modern_glMultiTexCoord4dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4dvARB_p", XS_OpenGL__Modern_glMultiTexCoord4dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4dv_p", XS_OpenGL__Modern_glMultiTexCoord4dv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4f", XS_OpenGL__Modern_glMultiTexCoord4f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4fARB", XS_OpenGL__Modern_glMultiTexCoord4f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4fvARB_c", XS_OpenGL__Modern_glMultiTexCoord4fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4fv_c", XS_OpenGL__Modern_glMultiTexCoord4fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4fvARB_p", XS_OpenGL__Modern_glMultiTexCoord4fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4fv_p", XS_OpenGL__Modern_glMultiTexCoord4fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glMultiTexCoord4hNV", XS_OpenGL__Modern_glMultiTexCoord4hNV);
        newXS_deffile("OpenGL::Modern::glMultiTexCoord4hvNV_c", XS_OpenGL__Modern_glMultiTexCoord4hvNV_c);
        newXS_deffile("OpenGL::Modern::glMultiTexCoord4hvNV_p", XS_OpenGL__Modern_glMultiTexCoord4hvNV_p);
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4i", XS_OpenGL__Modern_glMultiTexCoord4i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4iARB", XS_OpenGL__Modern_glMultiTexCoord4i);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4ivARB_c", XS_OpenGL__Modern_glMultiTexCoord4iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4iv_c", XS_OpenGL__Modern_glMultiTexCoord4iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4ivARB_p", XS_OpenGL__Modern_glMultiTexCoord4iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4iv_p", XS_OpenGL__Modern_glMultiTexCoord4iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4s", XS_OpenGL__Modern_glMultiTexCoord4s);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4sARB", XS_OpenGL__Modern_glMultiTexCoord4s);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4svARB_c", XS_OpenGL__Modern_glMultiTexCoord4sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4sv_c", XS_OpenGL__Modern_glMultiTexCoord4sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4svARB_p", XS_OpenGL__Modern_glMultiTexCoord4sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glMultiTexCoord4sv_p", XS_OpenGL__Modern_glMultiTexCoord4sv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glMultiTexCoord4x", XS_OpenGL__Modern_glMultiTexCoord4x);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP1ui", XS_OpenGL__Modern_glMultiTexCoordP1ui);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP1uiv_c", XS_OpenGL__Modern_glMultiTexCoordP1uiv_c);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP1uiv_p", XS_OpenGL__Modern_glMultiTexCoordP1uiv_p);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP2ui", XS_OpenGL__Modern_glMultiTexCoordP2ui);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP2uiv_c", XS_OpenGL__Modern_glMultiTexCoordP2uiv_c);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP2uiv_p", XS_OpenGL__Modern_glMultiTexCoordP2uiv_p);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP3ui", XS_OpenGL__Modern_glMultiTexCoordP3ui);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP3uiv_c", XS_OpenGL__Modern_glMultiTexCoordP3uiv_c);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP3uiv_p", XS_OpenGL__Modern_glMultiTexCoordP3uiv_p);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP4ui", XS_OpenGL__Modern_glMultiTexCoordP4ui);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP4uiv_c", XS_OpenGL__Modern_glMultiTexCoordP4uiv_c);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordP4uiv_p", XS_OpenGL__Modern_glMultiTexCoordP4uiv_p);
        newXS_deffile("OpenGL::Modern::glMultiTexCoordPointerEXT_c", XS_OpenGL__Modern_glMultiTexCoordPointerEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexEnvfEXT", XS_OpenGL__Modern_glMultiTexEnvfEXT);
        newXS_deffile("OpenGL::Modern::glMultiTexEnvfvEXT_c", XS_OpenGL__Modern_glMultiTexEnvfvEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexEnvfvEXT_p", XS_OpenGL__Modern_glMultiTexEnvfvEXT_p);
        newXS_deffile("OpenGL::Modern::glMultiTexEnviEXT", XS_OpenGL__Modern_glMultiTexEnviEXT);
        newXS_deffile("OpenGL::Modern::glMultiTexEnvivEXT_c", XS_OpenGL__Modern_glMultiTexEnvivEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexEnvivEXT_p", XS_OpenGL__Modern_glMultiTexEnvivEXT_p);
        newXS_deffile("OpenGL::Modern::glMultiTexGendEXT", XS_OpenGL__Modern_glMultiTexGendEXT);
        newXS_deffile("OpenGL::Modern::glMultiTexGendvEXT_c", XS_OpenGL__Modern_glMultiTexGendvEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexGendvEXT_p", XS_OpenGL__Modern_glMultiTexGendvEXT_p);
        newXS_deffile("OpenGL::Modern::glMultiTexGenfEXT", XS_OpenGL__Modern_glMultiTexGenfEXT);
        newXS_deffile("OpenGL::Modern::glMultiTexGenfvEXT_c", XS_OpenGL__Modern_glMultiTexGenfvEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexGenfvEXT_p", XS_OpenGL__Modern_glMultiTexGenfvEXT_p);
        newXS_deffile("OpenGL::Modern::glMultiTexGeniEXT", XS_OpenGL__Modern_glMultiTexGeniEXT);
        newXS_deffile("OpenGL::Modern::glMultiTexGenivEXT_c", XS_OpenGL__Modern_glMultiTexGenivEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexGenivEXT_p", XS_OpenGL__Modern_glMultiTexGenivEXT_p);
        newXS_deffile("OpenGL::Modern::glMultiTexImage1DEXT_c", XS_OpenGL__Modern_glMultiTexImage1DEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexImage2DEXT_c", XS_OpenGL__Modern_glMultiTexImage2DEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexImage3DEXT_c", XS_OpenGL__Modern_glMultiTexImage3DEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexParameterIivEXT_c", XS_OpenGL__Modern_glMultiTexParameterIivEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexParameterIivEXT_p", XS_OpenGL__Modern_glMultiTexParameterIivEXT_p);
        newXS_deffile("OpenGL::Modern::glMultiTexParameterIuivEXT_c", XS_OpenGL__Modern_glMultiTexParameterIuivEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexParameterIuivEXT_p", XS_OpenGL__Modern_glMultiTexParameterIuivEXT_p);
        newXS_deffile("OpenGL::Modern::glMultiTexParameterfEXT", XS_OpenGL__Modern_glMultiTexParameterfEXT);
        newXS_deffile("OpenGL::Modern::glMultiTexParameterfvEXT_c", XS_OpenGL__Modern_glMultiTexParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexParameterfvEXT_p", XS_OpenGL__Modern_glMultiTexParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glMultiTexParameteriEXT", XS_OpenGL__Modern_glMultiTexParameteriEXT);
        newXS_deffile("OpenGL::Modern::glMultiTexParameterivEXT_c", XS_OpenGL__Modern_glMultiTexParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexParameterivEXT_p", XS_OpenGL__Modern_glMultiTexParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glMultiTexRenderbufferEXT", XS_OpenGL__Modern_glMultiTexRenderbufferEXT);
        newXS_deffile("OpenGL::Modern::glMultiTexSubImage1DEXT_c", XS_OpenGL__Modern_glMultiTexSubImage1DEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexSubImage2DEXT_c", XS_OpenGL__Modern_glMultiTexSubImage2DEXT_c);
        newXS_deffile("OpenGL::Modern::glMultiTexSubImage3DEXT_c", XS_OpenGL__Modern_glMultiTexSubImage3DEXT_c);
        newXS_deffile("OpenGL::Modern::glMulticastBarrierNV", XS_OpenGL__Modern_glMulticastBarrierNV);
        newXS_deffile("OpenGL::Modern::glMulticastBlitFramebufferNV", XS_OpenGL__Modern_glMulticastBlitFramebufferNV);
        newXS_deffile("OpenGL::Modern::glMulticastBufferSubDataNV_c", XS_OpenGL__Modern_glMulticastBufferSubDataNV_c);
        newXS_deffile("OpenGL::Modern::glMulticastCopyBufferSubDataNV", XS_OpenGL__Modern_glMulticastCopyBufferSubDataNV);
        newXS_deffile("OpenGL::Modern::glMulticastCopyImageSubDataNV", XS_OpenGL__Modern_glMulticastCopyImageSubDataNV);
        newXS_deffile("OpenGL::Modern::glMulticastFramebufferSampleLocationsfvNV_c", XS_OpenGL__Modern_glMulticastFramebufferSampleLocationsfvNV_c);
        newXS_deffile("OpenGL::Modern::glMulticastGetQueryObjecti64vNV_c", XS_OpenGL__Modern_glMulticastGetQueryObjecti64vNV_c);
        newXS_deffile("OpenGL::Modern::glMulticastGetQueryObjectivNV_c", XS_OpenGL__Modern_glMulticastGetQueryObjectivNV_c);
        newXS_deffile("OpenGL::Modern::glMulticastGetQueryObjectui64vNV_c", XS_OpenGL__Modern_glMulticastGetQueryObjectui64vNV_c);
        newXS_deffile("OpenGL::Modern::glMulticastGetQueryObjectuivNV_c", XS_OpenGL__Modern_glMulticastGetQueryObjectuivNV_c);
        newXS_deffile("OpenGL::Modern::glMulticastScissorArrayvNVX_c", XS_OpenGL__Modern_glMulticastScissorArrayvNVX_c);
        newXS_deffile("OpenGL::Modern::glMulticastScissorArrayvNVX_p", XS_OpenGL__Modern_glMulticastScissorArrayvNVX_p);
        newXS_deffile("OpenGL::Modern::glMulticastViewportArrayvNVX_c", XS_OpenGL__Modern_glMulticastViewportArrayvNVX_c);
        newXS_deffile("OpenGL::Modern::glMulticastViewportArrayvNVX_p", XS_OpenGL__Modern_glMulticastViewportArrayvNVX_p);
        newXS_deffile("OpenGL::Modern::glMulticastViewportPositionWScaleNVX", XS_OpenGL__Modern_glMulticastViewportPositionWScaleNVX);
        newXS_deffile("OpenGL::Modern::glMulticastWaitSyncNV", XS_OpenGL__Modern_glMulticastWaitSyncNV);
        newXS_deffile("OpenGL::Modern::glMultisampleSubRectPosSGIS", XS_OpenGL__Modern_glMultisampleSubRectPosSGIS);
        newXS_deffile("OpenGL::Modern::glNamedBufferAttachMemoryNV", XS_OpenGL__Modern_glNamedBufferAttachMemoryNV);
        newXS_deffile("OpenGL::Modern::glNamedBufferData_c", XS_OpenGL__Modern_glNamedBufferData_c);
        newXS_deffile("OpenGL::Modern::glNamedBufferDataEXT_c", XS_OpenGL__Modern_glNamedBufferDataEXT_c);
        newXS_deffile("OpenGL::Modern::glNamedBufferPageCommitmentMemNV", XS_OpenGL__Modern_glNamedBufferPageCommitmentMemNV);
        cv = newXS_deffile("OpenGL::Modern::glNamedBufferStorageEXT_c", XS_OpenGL__Modern_glNamedBufferStorage_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glNamedBufferStorage_c", XS_OpenGL__Modern_glNamedBufferStorage_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glNamedBufferStorageExternalEXT", XS_OpenGL__Modern_glNamedBufferStorageExternalEXT);
        newXS_deffile("OpenGL::Modern::glNamedBufferStorageMemEXT", XS_OpenGL__Modern_glNamedBufferStorageMemEXT);
        cv = newXS_deffile("OpenGL::Modern::glNamedBufferSubDataEXT_c", XS_OpenGL__Modern_glNamedBufferSubData_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glNamedBufferSubData_c", XS_OpenGL__Modern_glNamedBufferSubData_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glNamedCopyBufferSubDataEXT", XS_OpenGL__Modern_glNamedCopyBufferSubDataEXT);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferDrawBuffer", XS_OpenGL__Modern_glNamedFramebufferDrawBuffer);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferDrawBuffers_c", XS_OpenGL__Modern_glNamedFramebufferDrawBuffers_c);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferDrawBuffers_p", XS_OpenGL__Modern_glNamedFramebufferDrawBuffers_p);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferParameteri", XS_OpenGL__Modern_glNamedFramebufferParameteri);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferParameteriEXT", XS_OpenGL__Modern_glNamedFramebufferParameteriEXT);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferReadBuffer", XS_OpenGL__Modern_glNamedFramebufferReadBuffer);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferRenderbuffer", XS_OpenGL__Modern_glNamedFramebufferRenderbuffer);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferRenderbufferEXT", XS_OpenGL__Modern_glNamedFramebufferRenderbufferEXT);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferSampleLocationsfvARB_c", XS_OpenGL__Modern_glNamedFramebufferSampleLocationsfvARB_c);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferSampleLocationsfvNV_c", XS_OpenGL__Modern_glNamedFramebufferSampleLocationsfvNV_c);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferSamplePositionsfvAMD_c", XS_OpenGL__Modern_glNamedFramebufferSamplePositionsfvAMD_c);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferTexture", XS_OpenGL__Modern_glNamedFramebufferTexture);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferTexture1DEXT", XS_OpenGL__Modern_glNamedFramebufferTexture1DEXT);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferTexture2DEXT", XS_OpenGL__Modern_glNamedFramebufferTexture2DEXT);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferTexture3DEXT", XS_OpenGL__Modern_glNamedFramebufferTexture3DEXT);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferTextureEXT", XS_OpenGL__Modern_glNamedFramebufferTextureEXT);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferTextureFaceEXT", XS_OpenGL__Modern_glNamedFramebufferTextureFaceEXT);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferTextureLayer", XS_OpenGL__Modern_glNamedFramebufferTextureLayer);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferTextureLayerEXT", XS_OpenGL__Modern_glNamedFramebufferTextureLayerEXT);
        newXS_deffile("OpenGL::Modern::glNamedFramebufferTextureMultiviewOVR", XS_OpenGL__Modern_glNamedFramebufferTextureMultiviewOVR);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameter4dEXT", XS_OpenGL__Modern_glNamedProgramLocalParameter4dEXT);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameter4dvEXT_c", XS_OpenGL__Modern_glNamedProgramLocalParameter4dvEXT_c);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameter4dvEXT_p", XS_OpenGL__Modern_glNamedProgramLocalParameter4dvEXT_p);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameter4fEXT", XS_OpenGL__Modern_glNamedProgramLocalParameter4fEXT);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameter4fvEXT_c", XS_OpenGL__Modern_glNamedProgramLocalParameter4fvEXT_c);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameter4fvEXT_p", XS_OpenGL__Modern_glNamedProgramLocalParameter4fvEXT_p);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameterI4iEXT", XS_OpenGL__Modern_glNamedProgramLocalParameterI4iEXT);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameterI4ivEXT_c", XS_OpenGL__Modern_glNamedProgramLocalParameterI4ivEXT_c);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameterI4ivEXT_p", XS_OpenGL__Modern_glNamedProgramLocalParameterI4ivEXT_p);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameterI4uiEXT", XS_OpenGL__Modern_glNamedProgramLocalParameterI4uiEXT);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameterI4uivEXT_c", XS_OpenGL__Modern_glNamedProgramLocalParameterI4uivEXT_c);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameterI4uivEXT_p", XS_OpenGL__Modern_glNamedProgramLocalParameterI4uivEXT_p);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameters4fvEXT_c", XS_OpenGL__Modern_glNamedProgramLocalParameters4fvEXT_c);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParameters4fvEXT_p", XS_OpenGL__Modern_glNamedProgramLocalParameters4fvEXT_p);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParametersI4ivEXT_c", XS_OpenGL__Modern_glNamedProgramLocalParametersI4ivEXT_c);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParametersI4ivEXT_p", XS_OpenGL__Modern_glNamedProgramLocalParametersI4ivEXT_p);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParametersI4uivEXT_c", XS_OpenGL__Modern_glNamedProgramLocalParametersI4uivEXT_c);
        newXS_deffile("OpenGL::Modern::glNamedProgramLocalParametersI4uivEXT_p", XS_OpenGL__Modern_glNamedProgramLocalParametersI4uivEXT_p);
        newXS_deffile("OpenGL::Modern::glNamedProgramStringEXT_c", XS_OpenGL__Modern_glNamedProgramStringEXT_c);
        newXS_deffile("OpenGL::Modern::glNamedRenderbufferStorage", XS_OpenGL__Modern_glNamedRenderbufferStorage);
        newXS_deffile("OpenGL::Modern::glNamedRenderbufferStorageEXT", XS_OpenGL__Modern_glNamedRenderbufferStorageEXT);
        newXS_deffile("OpenGL::Modern::glNamedRenderbufferStorageMultisample", XS_OpenGL__Modern_glNamedRenderbufferStorageMultisample);
        newXS_deffile("OpenGL::Modern::glNamedRenderbufferStorageMultisampleAdvancedAMD", XS_OpenGL__Modern_glNamedRenderbufferStorageMultisampleAdvancedAMD);
        newXS_deffile("OpenGL::Modern::glNamedRenderbufferStorageMultisampleCoverageEXT", XS_OpenGL__Modern_glNamedRenderbufferStorageMultisampleCoverageEXT);
        newXS_deffile("OpenGL::Modern::glNamedRenderbufferStorageMultisampleEXT", XS_OpenGL__Modern_glNamedRenderbufferStorageMultisampleEXT);
        newXS_deffile("OpenGL::Modern::glNamedStringARB", XS_OpenGL__Modern_glNamedStringARB);
        newXS_deffile("OpenGL::Modern::glNewBufferRegion", XS_OpenGL__Modern_glNewBufferRegion);
        newXS_deffile("OpenGL::Modern::glNewList", XS_OpenGL__Modern_glNewList);
        newXS_deffile("OpenGL::Modern::glNewObjectBufferATI_c", XS_OpenGL__Modern_glNewObjectBufferATI_c);
        newXS_deffile("OpenGL::Modern::glNonlinLightfvSGIX_c", XS_OpenGL__Modern_glNonlinLightfvSGIX_c);
        newXS_deffile("OpenGL::Modern::glNonlinMaterialfvSGIX_c", XS_OpenGL__Modern_glNonlinMaterialfvSGIX_c);
        newXS_deffile("OpenGL::Modern::glNormal3b", XS_OpenGL__Modern_glNormal3b);
        newXS_deffile("OpenGL::Modern::glNormal3bv_c", XS_OpenGL__Modern_glNormal3bv_c);
        newXS_deffile("OpenGL::Modern::glNormal3bv_p", XS_OpenGL__Modern_glNormal3bv_p);
        newXS_deffile("OpenGL::Modern::glNormal3d", XS_OpenGL__Modern_glNormal3d);
        newXS_deffile("OpenGL::Modern::glNormal3dv_c", XS_OpenGL__Modern_glNormal3dv_c);
        newXS_deffile("OpenGL::Modern::glNormal3dv_p", XS_OpenGL__Modern_glNormal3dv_p);
        newXS_deffile("OpenGL::Modern::glNormal3f", XS_OpenGL__Modern_glNormal3f);
        newXS_deffile("OpenGL::Modern::glNormal3fVertex3fSUN", XS_OpenGL__Modern_glNormal3fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glNormal3fVertex3fvSUN_c", XS_OpenGL__Modern_glNormal3fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glNormal3fVertex3fvSUN_p", XS_OpenGL__Modern_glNormal3fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glNormal3fv_c", XS_OpenGL__Modern_glNormal3fv_c);
        newXS_deffile("OpenGL::Modern::glNormal3fv_p", XS_OpenGL__Modern_glNormal3fv_p);
        newXS_deffile("OpenGL::Modern::glNormal3hNV", XS_OpenGL__Modern_glNormal3hNV);
        newXS_deffile("OpenGL::Modern::glNormal3hvNV_c", XS_OpenGL__Modern_glNormal3hvNV_c);
        newXS_deffile("OpenGL::Modern::glNormal3hvNV_p", XS_OpenGL__Modern_glNormal3hvNV_p);
        newXS_deffile("OpenGL::Modern::glNormal3i", XS_OpenGL__Modern_glNormal3i);
        newXS_deffile("OpenGL::Modern::glNormal3iv_c", XS_OpenGL__Modern_glNormal3iv_c);
        newXS_deffile("OpenGL::Modern::glNormal3iv_p", XS_OpenGL__Modern_glNormal3iv_p);
        newXS_deffile("OpenGL::Modern::glNormal3s", XS_OpenGL__Modern_glNormal3s);
        newXS_deffile("OpenGL::Modern::glNormal3sv_c", XS_OpenGL__Modern_glNormal3sv_c);
        newXS_deffile("OpenGL::Modern::glNormal3sv_p", XS_OpenGL__Modern_glNormal3sv_p);
        newXS_deffile("OpenGL::Modern::glNormal3x", XS_OpenGL__Modern_glNormal3x);
        newXS_deffile("OpenGL::Modern::glNormalFormatNV", XS_OpenGL__Modern_glNormalFormatNV);
        newXS_deffile("OpenGL::Modern::glNormalP3ui", XS_OpenGL__Modern_glNormalP3ui);
        newXS_deffile("OpenGL::Modern::glNormalP3uiv_c", XS_OpenGL__Modern_glNormalP3uiv_c);
        newXS_deffile("OpenGL::Modern::glNormalP3uiv_p", XS_OpenGL__Modern_glNormalP3uiv_p);
        newXS_deffile("OpenGL::Modern::glNormalPointer_c", XS_OpenGL__Modern_glNormalPointer_c);
        newXS_deffile("OpenGL::Modern::glNormalPointerEXT_c", XS_OpenGL__Modern_glNormalPointerEXT_c);
        newXS_deffile("OpenGL::Modern::glNormalPointerListIBM_c", XS_OpenGL__Modern_glNormalPointerListIBM_c);
        newXS_deffile("OpenGL::Modern::glNormalPointervINTEL_c", XS_OpenGL__Modern_glNormalPointervINTEL_c);
        newXS_deffile("OpenGL::Modern::glNormalStream3bATI", XS_OpenGL__Modern_glNormalStream3bATI);
        newXS_deffile("OpenGL::Modern::glNormalStream3bvATI_c", XS_OpenGL__Modern_glNormalStream3bvATI_c);
        newXS_deffile("OpenGL::Modern::glNormalStream3bvATI_p", XS_OpenGL__Modern_glNormalStream3bvATI_p);
        newXS_deffile("OpenGL::Modern::glNormalStream3dATI", XS_OpenGL__Modern_glNormalStream3dATI);
        newXS_deffile("OpenGL::Modern::glNormalStream3dvATI_c", XS_OpenGL__Modern_glNormalStream3dvATI_c);
        newXS_deffile("OpenGL::Modern::glNormalStream3dvATI_p", XS_OpenGL__Modern_glNormalStream3dvATI_p);
        newXS_deffile("OpenGL::Modern::glNormalStream3fATI", XS_OpenGL__Modern_glNormalStream3fATI);
        newXS_deffile("OpenGL::Modern::glNormalStream3fvATI_c", XS_OpenGL__Modern_glNormalStream3fvATI_c);
        newXS_deffile("OpenGL::Modern::glNormalStream3fvATI_p", XS_OpenGL__Modern_glNormalStream3fvATI_p);
        newXS_deffile("OpenGL::Modern::glNormalStream3iATI", XS_OpenGL__Modern_glNormalStream3iATI);
        newXS_deffile("OpenGL::Modern::glNormalStream3ivATI_c", XS_OpenGL__Modern_glNormalStream3ivATI_c);
        newXS_deffile("OpenGL::Modern::glNormalStream3ivATI_p", XS_OpenGL__Modern_glNormalStream3ivATI_p);
        newXS_deffile("OpenGL::Modern::glNormalStream3sATI", XS_OpenGL__Modern_glNormalStream3sATI);
        newXS_deffile("OpenGL::Modern::glNormalStream3svATI_c", XS_OpenGL__Modern_glNormalStream3svATI_c);
        newXS_deffile("OpenGL::Modern::glNormalStream3svATI_p", XS_OpenGL__Modern_glNormalStream3svATI_p);
        cv = newXS_deffile("OpenGL::Modern::glObjectLabel", XS_OpenGL__Modern_glObjectLabel);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glObjectLabelKHR", XS_OpenGL__Modern_glObjectLabel);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glObjectPtrLabelKHR_c", XS_OpenGL__Modern_glObjectPtrLabel_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glObjectPtrLabel_c", XS_OpenGL__Modern_glObjectPtrLabel_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glObjectPurgeableAPPLE", XS_OpenGL__Modern_glObjectPurgeableAPPLE);
        newXS_deffile("OpenGL::Modern::glObjectUnpurgeableAPPLE", XS_OpenGL__Modern_glObjectUnpurgeableAPPLE);
        newXS_deffile("OpenGL::Modern::glOrtho", XS_OpenGL__Modern_glOrtho);
        newXS_deffile("OpenGL::Modern::glOrthof", XS_OpenGL__Modern_glOrthof);
        newXS_deffile("OpenGL::Modern::glOrthofOES", XS_OpenGL__Modern_glOrthofOES);
        newXS_deffile("OpenGL::Modern::glOrthox", XS_OpenGL__Modern_glOrthox);
        newXS_deffile("OpenGL::Modern::glPNTrianglesfATI", XS_OpenGL__Modern_glPNTrianglesfATI);
        newXS_deffile("OpenGL::Modern::glPNTrianglesiATI", XS_OpenGL__Modern_glPNTrianglesiATI);
        newXS_deffile("OpenGL::Modern::glPassTexCoordATI", XS_OpenGL__Modern_glPassTexCoordATI);
        newXS_deffile("OpenGL::Modern::glPassThrough", XS_OpenGL__Modern_glPassThrough);
        newXS_deffile("OpenGL::Modern::glPatchParameterfv_c", XS_OpenGL__Modern_glPatchParameterfv_c);
        newXS_deffile("OpenGL::Modern::glPatchParameterfv_p", XS_OpenGL__Modern_glPatchParameterfv_p);
        cv = newXS_deffile("OpenGL::Modern::glPatchParameteri", XS_OpenGL__Modern_glPatchParameteri);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPatchParameteriEXT", XS_OpenGL__Modern_glPatchParameteri);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glPathColorGenNV_c", XS_OpenGL__Modern_glPathColorGenNV_c);
        newXS_deffile("OpenGL::Modern::glPathCommandsNV_c", XS_OpenGL__Modern_glPathCommandsNV_c);
        newXS_deffile("OpenGL::Modern::glPathCoordsNV_c", XS_OpenGL__Modern_glPathCoordsNV_c);
        newXS_deffile("OpenGL::Modern::glPathCoverDepthFuncNV", XS_OpenGL__Modern_glPathCoverDepthFuncNV);
        newXS_deffile("OpenGL::Modern::glPathDashArrayNV_c", XS_OpenGL__Modern_glPathDashArrayNV_c);
        newXS_deffile("OpenGL::Modern::glPathDashArrayNV_p", XS_OpenGL__Modern_glPathDashArrayNV_p);
        newXS_deffile("OpenGL::Modern::glPathFogGenNV", XS_OpenGL__Modern_glPathFogGenNV);
        newXS_deffile("OpenGL::Modern::glPathGlyphIndexArrayNV_c", XS_OpenGL__Modern_glPathGlyphIndexArrayNV_c);
        newXS_deffile("OpenGL::Modern::glPathGlyphIndexRangeNV_c", XS_OpenGL__Modern_glPathGlyphIndexRangeNV_c);
        newXS_deffile("OpenGL::Modern::glPathGlyphIndexRangeNV_p", XS_OpenGL__Modern_glPathGlyphIndexRangeNV_p);
        newXS_deffile("OpenGL::Modern::glPathGlyphRangeNV_c", XS_OpenGL__Modern_glPathGlyphRangeNV_c);
        newXS_deffile("OpenGL::Modern::glPathGlyphsNV_c", XS_OpenGL__Modern_glPathGlyphsNV_c);
        newXS_deffile("OpenGL::Modern::glPathMemoryGlyphIndexArrayNV_c", XS_OpenGL__Modern_glPathMemoryGlyphIndexArrayNV_c);
        newXS_deffile("OpenGL::Modern::glPathParameterfNV", XS_OpenGL__Modern_glPathParameterfNV);
        newXS_deffile("OpenGL::Modern::glPathParameterfvNV_c", XS_OpenGL__Modern_glPathParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glPathParameteriNV", XS_OpenGL__Modern_glPathParameteriNV);
        newXS_deffile("OpenGL::Modern::glPathParameterivNV_c", XS_OpenGL__Modern_glPathParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glPathStencilDepthOffsetNV", XS_OpenGL__Modern_glPathStencilDepthOffsetNV);
        newXS_deffile("OpenGL::Modern::glPathStencilFuncNV", XS_OpenGL__Modern_glPathStencilFuncNV);
        newXS_deffile("OpenGL::Modern::glPathStringNV_c", XS_OpenGL__Modern_glPathStringNV_c);
        newXS_deffile("OpenGL::Modern::glPathSubCommandsNV_c", XS_OpenGL__Modern_glPathSubCommandsNV_c);
        newXS_deffile("OpenGL::Modern::glPathSubCoordsNV_c", XS_OpenGL__Modern_glPathSubCoordsNV_c);
        newXS_deffile("OpenGL::Modern::glPathTexGenNV_c", XS_OpenGL__Modern_glPathTexGenNV_c);
        cv = newXS_deffile("OpenGL::Modern::glPauseTransformFeedback", XS_OpenGL__Modern_glPauseTransformFeedback);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPauseTransformFeedbackNV", XS_OpenGL__Modern_glPauseTransformFeedback);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glPixelDataRangeNV_c", XS_OpenGL__Modern_glPixelDataRangeNV_c);
        newXS_deffile("OpenGL::Modern::glPixelMapfv_c", XS_OpenGL__Modern_glPixelMapfv_c);
        newXS_deffile("OpenGL::Modern::glPixelMapfv_p", XS_OpenGL__Modern_glPixelMapfv_p);
        newXS_deffile("OpenGL::Modern::glPixelMapuiv_c", XS_OpenGL__Modern_glPixelMapuiv_c);
        newXS_deffile("OpenGL::Modern::glPixelMapuiv_p", XS_OpenGL__Modern_glPixelMapuiv_p);
        newXS_deffile("OpenGL::Modern::glPixelMapusv_c", XS_OpenGL__Modern_glPixelMapusv_c);
        newXS_deffile("OpenGL::Modern::glPixelMapusv_p", XS_OpenGL__Modern_glPixelMapusv_p);
        newXS_deffile("OpenGL::Modern::glPixelStoref", XS_OpenGL__Modern_glPixelStoref);
        newXS_deffile("OpenGL::Modern::glPixelStorei", XS_OpenGL__Modern_glPixelStorei);
        newXS_deffile("OpenGL::Modern::glPixelTexGenSGIX", XS_OpenGL__Modern_glPixelTexGenSGIX);
        newXS_deffile("OpenGL::Modern::glPixelTransferf", XS_OpenGL__Modern_glPixelTransferf);
        newXS_deffile("OpenGL::Modern::glPixelTransferi", XS_OpenGL__Modern_glPixelTransferi);
        newXS_deffile("OpenGL::Modern::glPixelTransformParameterfEXT", XS_OpenGL__Modern_glPixelTransformParameterfEXT);
        newXS_deffile("OpenGL::Modern::glPixelTransformParameterfSGI", XS_OpenGL__Modern_glPixelTransformParameterfSGI);
        newXS_deffile("OpenGL::Modern::glPixelTransformParameterfvEXT_c", XS_OpenGL__Modern_glPixelTransformParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glPixelTransformParameterfvEXT_p", XS_OpenGL__Modern_glPixelTransformParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glPixelTransformParameterfvSGI_c", XS_OpenGL__Modern_glPixelTransformParameterfvSGI_c);
        newXS_deffile("OpenGL::Modern::glPixelTransformParameteriEXT", XS_OpenGL__Modern_glPixelTransformParameteriEXT);
        newXS_deffile("OpenGL::Modern::glPixelTransformParameteriSGI", XS_OpenGL__Modern_glPixelTransformParameteriSGI);
        newXS_deffile("OpenGL::Modern::glPixelTransformParameterivEXT_c", XS_OpenGL__Modern_glPixelTransformParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glPixelTransformParameterivEXT_p", XS_OpenGL__Modern_glPixelTransformParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glPixelTransformParameterivSGI_c", XS_OpenGL__Modern_glPixelTransformParameterivSGI_c);
        newXS_deffile("OpenGL::Modern::glPixelTransformSGI", XS_OpenGL__Modern_glPixelTransformSGI);
        newXS_deffile("OpenGL::Modern::glPixelZoom", XS_OpenGL__Modern_glPixelZoom);
        newXS_deffile("OpenGL::Modern::glPointAlongPathNV_c", XS_OpenGL__Modern_glPointAlongPathNV_c);
        newXS_deffile("OpenGL::Modern::glPointAlongPathNV_p", XS_OpenGL__Modern_glPointAlongPathNV_p);
        cv = newXS_deffile("OpenGL::Modern::glPointParameterf", XS_OpenGL__Modern_glPointParameterf);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterfARB", XS_OpenGL__Modern_glPointParameterf);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterfEXT", XS_OpenGL__Modern_glPointParameterf);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterfSGIS", XS_OpenGL__Modern_glPointParameterf);
        XSANY.any_i32 = 3;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterfvARB_c", XS_OpenGL__Modern_glPointParameterfv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterfvEXT_c", XS_OpenGL__Modern_glPointParameterfv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterfvSGIS_c", XS_OpenGL__Modern_glPointParameterfv_c);
        XSANY.any_i32 = 3;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterfv_c", XS_OpenGL__Modern_glPointParameterfv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterfvARB_p", XS_OpenGL__Modern_glPointParameterfv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterfvEXT_p", XS_OpenGL__Modern_glPointParameterfv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterfvSGIS_p", XS_OpenGL__Modern_glPointParameterfv_p);
        XSANY.any_i32 = 3;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterfv_p", XS_OpenGL__Modern_glPointParameterfv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPointParameteri", XS_OpenGL__Modern_glPointParameteri);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPointParameteriNV", XS_OpenGL__Modern_glPointParameteri);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterivNV_c", XS_OpenGL__Modern_glPointParameteriv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glPointParameteriv_c", XS_OpenGL__Modern_glPointParameteriv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPointParameterivNV_p", XS_OpenGL__Modern_glPointParameteriv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glPointParameteriv_p", XS_OpenGL__Modern_glPointParameteriv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glPointParameterx", XS_OpenGL__Modern_glPointParameterx);
        newXS_deffile("OpenGL::Modern::glPointParameterxv_c", XS_OpenGL__Modern_glPointParameterxv_c);
        newXS_deffile("OpenGL::Modern::glPointParameterxv_p", XS_OpenGL__Modern_glPointParameterxv_p);
        newXS_deffile("OpenGL::Modern::glPointSize", XS_OpenGL__Modern_glPointSize);
        newXS_deffile("OpenGL::Modern::glPointSizePointerOES_c", XS_OpenGL__Modern_glPointSizePointerOES_c);
        newXS_deffile("OpenGL::Modern::glPointSizex", XS_OpenGL__Modern_glPointSizex);
        newXS_deffile("OpenGL::Modern::glPollAsyncSGIX_c", XS_OpenGL__Modern_glPollAsyncSGIX_c);
        newXS_deffile("OpenGL::Modern::glPollAsyncSGIX_p", XS_OpenGL__Modern_glPollAsyncSGIX_p);
        cv = newXS_deffile("OpenGL::Modern::glPolygonMode", XS_OpenGL__Modern_glPolygonMode);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPolygonModeNV", XS_OpenGL__Modern_glPolygonMode);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glPolygonOffset", XS_OpenGL__Modern_glPolygonOffset);
        cv = newXS_deffile("OpenGL::Modern::glPolygonOffsetClamp", XS_OpenGL__Modern_glPolygonOffsetClamp);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPolygonOffsetClampEXT", XS_OpenGL__Modern_glPolygonOffsetClamp);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glPolygonOffsetEXT", XS_OpenGL__Modern_glPolygonOffsetEXT);
        newXS_deffile("OpenGL::Modern::glPolygonOffsetx", XS_OpenGL__Modern_glPolygonOffsetx);
        newXS_deffile("OpenGL::Modern::glPolygonStipple", XS_OpenGL__Modern_glPolygonStipple);
        newXS_deffile("OpenGL::Modern::glPopAttrib", XS_OpenGL__Modern_glPopAttrib);
        newXS_deffile("OpenGL::Modern::glPopClientAttrib", XS_OpenGL__Modern_glPopClientAttrib);
        cv = newXS_deffile("OpenGL::Modern::glPopDebugGroup", XS_OpenGL__Modern_glPopDebugGroup);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPopDebugGroupKHR", XS_OpenGL__Modern_glPopDebugGroup);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glPopGroupMarkerEXT", XS_OpenGL__Modern_glPopGroupMarkerEXT);
        newXS_deffile("OpenGL::Modern::glPopMatrix", XS_OpenGL__Modern_glPopMatrix);
        newXS_deffile("OpenGL::Modern::glPopName", XS_OpenGL__Modern_glPopName);
        newXS_deffile("OpenGL::Modern::glPresentFrameDualFillNV", XS_OpenGL__Modern_glPresentFrameDualFillNV);
        newXS_deffile("OpenGL::Modern::glPresentFrameKeyedNV", XS_OpenGL__Modern_glPresentFrameKeyedNV);
        cv = newXS_deffile("OpenGL::Modern::glPrimitiveBoundingBox", XS_OpenGL__Modern_glPrimitiveBoundingBoxARB);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glPrimitiveBoundingBoxARB", XS_OpenGL__Modern_glPrimitiveBoundingBoxARB);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPrimitiveBoundingBoxEXT", XS_OpenGL__Modern_glPrimitiveBoundingBoxARB);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glPrimitiveRestartIndex", XS_OpenGL__Modern_glPrimitiveRestartIndex);
        newXS_deffile("OpenGL::Modern::glPrimitiveRestartIndexNV", XS_OpenGL__Modern_glPrimitiveRestartIndexNV);
        newXS_deffile("OpenGL::Modern::glPrimitiveRestartNV", XS_OpenGL__Modern_glPrimitiveRestartNV);
        cv = newXS_deffile("OpenGL::Modern::glPrioritizeTexturesEXT_c", XS_OpenGL__Modern_glPrioritizeTextures_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glPrioritizeTextures_c", XS_OpenGL__Modern_glPrioritizeTextures_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPrioritizeTexturesEXT_p", XS_OpenGL__Modern_glPrioritizeTextures_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glPrioritizeTextures_p", XS_OpenGL__Modern_glPrioritizeTextures_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glPrioritizeVertexArraysSGIX_c", XS_OpenGL__Modern_glPrioritizeVertexArraysSGIX_c);
        newXS_deffile("OpenGL::Modern::glProgramBinary_c", XS_OpenGL__Modern_glProgramBinary_c);
        newXS_deffile("OpenGL::Modern::glProgramBinaryOES_c", XS_OpenGL__Modern_glProgramBinaryOES_c);
        newXS_deffile("OpenGL::Modern::glProgramBufferParametersIivNV_c", XS_OpenGL__Modern_glProgramBufferParametersIivNV_c);
        newXS_deffile("OpenGL::Modern::glProgramBufferParametersIivNV_p", XS_OpenGL__Modern_glProgramBufferParametersIivNV_p);
        newXS_deffile("OpenGL::Modern::glProgramBufferParametersIuivNV_c", XS_OpenGL__Modern_glProgramBufferParametersIuivNV_c);
        newXS_deffile("OpenGL::Modern::glProgramBufferParametersIuivNV_p", XS_OpenGL__Modern_glProgramBufferParametersIuivNV_p);
        newXS_deffile("OpenGL::Modern::glProgramBufferParametersfvNV_c", XS_OpenGL__Modern_glProgramBufferParametersfvNV_c);
        newXS_deffile("OpenGL::Modern::glProgramBufferParametersfvNV_p", XS_OpenGL__Modern_glProgramBufferParametersfvNV_p);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameter4dARB", XS_OpenGL__Modern_glProgramEnvParameter4dARB);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameter4dvARB_c", XS_OpenGL__Modern_glProgramEnvParameter4dvARB_c);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameter4dvARB_p", XS_OpenGL__Modern_glProgramEnvParameter4dvARB_p);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameter4fARB", XS_OpenGL__Modern_glProgramEnvParameter4fARB);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameter4fvARB_c", XS_OpenGL__Modern_glProgramEnvParameter4fvARB_c);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameter4fvARB_p", XS_OpenGL__Modern_glProgramEnvParameter4fvARB_p);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameterI4iNV", XS_OpenGL__Modern_glProgramEnvParameterI4iNV);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameterI4ivNV_c", XS_OpenGL__Modern_glProgramEnvParameterI4ivNV_c);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameterI4ivNV_p", XS_OpenGL__Modern_glProgramEnvParameterI4ivNV_p);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameterI4uiNV", XS_OpenGL__Modern_glProgramEnvParameterI4uiNV);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameterI4uivNV_c", XS_OpenGL__Modern_glProgramEnvParameterI4uivNV_c);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameterI4uivNV_p", XS_OpenGL__Modern_glProgramEnvParameterI4uivNV_p);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameters4fvEXT_c", XS_OpenGL__Modern_glProgramEnvParameters4fvEXT_c);
        newXS_deffile("OpenGL::Modern::glProgramEnvParameters4fvEXT_p", XS_OpenGL__Modern_glProgramEnvParameters4fvEXT_p);
        newXS_deffile("OpenGL::Modern::glProgramEnvParametersI4ivNV_c", XS_OpenGL__Modern_glProgramEnvParametersI4ivNV_c);
        newXS_deffile("OpenGL::Modern::glProgramEnvParametersI4ivNV_p", XS_OpenGL__Modern_glProgramEnvParametersI4ivNV_p);
        newXS_deffile("OpenGL::Modern::glProgramEnvParametersI4uivNV_c", XS_OpenGL__Modern_glProgramEnvParametersI4uivNV_c);
        newXS_deffile("OpenGL::Modern::glProgramEnvParametersI4uivNV_p", XS_OpenGL__Modern_glProgramEnvParametersI4uivNV_p);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameter4dARB", XS_OpenGL__Modern_glProgramLocalParameter4dARB);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameter4dvARB_c", XS_OpenGL__Modern_glProgramLocalParameter4dvARB_c);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameter4dvARB_p", XS_OpenGL__Modern_glProgramLocalParameter4dvARB_p);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameter4fARB", XS_OpenGL__Modern_glProgramLocalParameter4fARB);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameter4fvARB_c", XS_OpenGL__Modern_glProgramLocalParameter4fvARB_c);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameter4fvARB_p", XS_OpenGL__Modern_glProgramLocalParameter4fvARB_p);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameterI4iNV", XS_OpenGL__Modern_glProgramLocalParameterI4iNV);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameterI4ivNV_c", XS_OpenGL__Modern_glProgramLocalParameterI4ivNV_c);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameterI4ivNV_p", XS_OpenGL__Modern_glProgramLocalParameterI4ivNV_p);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameterI4uiNV", XS_OpenGL__Modern_glProgramLocalParameterI4uiNV);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameterI4uivNV_c", XS_OpenGL__Modern_glProgramLocalParameterI4uivNV_c);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameterI4uivNV_p", XS_OpenGL__Modern_glProgramLocalParameterI4uivNV_p);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameters4fvEXT_c", XS_OpenGL__Modern_glProgramLocalParameters4fvEXT_c);
        newXS_deffile("OpenGL::Modern::glProgramLocalParameters4fvEXT_p", XS_OpenGL__Modern_glProgramLocalParameters4fvEXT_p);
        newXS_deffile("OpenGL::Modern::glProgramLocalParametersI4ivNV_c", XS_OpenGL__Modern_glProgramLocalParametersI4ivNV_c);
        newXS_deffile("OpenGL::Modern::glProgramLocalParametersI4ivNV_p", XS_OpenGL__Modern_glProgramLocalParametersI4ivNV_p);
        newXS_deffile("OpenGL::Modern::glProgramLocalParametersI4uivNV_c", XS_OpenGL__Modern_glProgramLocalParametersI4uivNV_c);
        newXS_deffile("OpenGL::Modern::glProgramLocalParametersI4uivNV_p", XS_OpenGL__Modern_glProgramLocalParametersI4uivNV_p);
        newXS_deffile("OpenGL::Modern::glProgramNamedParameter4dNV", XS_OpenGL__Modern_glProgramNamedParameter4dNV);
        newXS_deffile("OpenGL::Modern::glProgramNamedParameter4dvNV_c", XS_OpenGL__Modern_glProgramNamedParameter4dvNV_c);
        newXS_deffile("OpenGL::Modern::glProgramNamedParameter4dvNV_p", XS_OpenGL__Modern_glProgramNamedParameter4dvNV_p);
        newXS_deffile("OpenGL::Modern::glProgramNamedParameter4fNV", XS_OpenGL__Modern_glProgramNamedParameter4fNV);
        newXS_deffile("OpenGL::Modern::glProgramNamedParameter4fvNV_c", XS_OpenGL__Modern_glProgramNamedParameter4fvNV_c);
        newXS_deffile("OpenGL::Modern::glProgramNamedParameter4fvNV_p", XS_OpenGL__Modern_glProgramNamedParameter4fvNV_p);
        newXS_deffile("OpenGL::Modern::glProgramParameter4dNV", XS_OpenGL__Modern_glProgramParameter4dNV);
        newXS_deffile("OpenGL::Modern::glProgramParameter4dvNV_c", XS_OpenGL__Modern_glProgramParameter4dvNV_c);
        newXS_deffile("OpenGL::Modern::glProgramParameter4dvNV_p", XS_OpenGL__Modern_glProgramParameter4dvNV_p);
        newXS_deffile("OpenGL::Modern::glProgramParameter4fNV", XS_OpenGL__Modern_glProgramParameter4fNV);
        newXS_deffile("OpenGL::Modern::glProgramParameter4fvNV_c", XS_OpenGL__Modern_glProgramParameter4fvNV_c);
        newXS_deffile("OpenGL::Modern::glProgramParameter4fvNV_p", XS_OpenGL__Modern_glProgramParameter4fvNV_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramParameteri", XS_OpenGL__Modern_glProgramParameteri);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramParameteriARB", XS_OpenGL__Modern_glProgramParameteri);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramParameteriEXT", XS_OpenGL__Modern_glProgramParameteri);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glProgramParameters4dvNV_c", XS_OpenGL__Modern_glProgramParameters4dvNV_c);
        newXS_deffile("OpenGL::Modern::glProgramParameters4dvNV_p", XS_OpenGL__Modern_glProgramParameters4dvNV_p);
        newXS_deffile("OpenGL::Modern::glProgramParameters4fvNV_c", XS_OpenGL__Modern_glProgramParameters4fvNV_c);
        newXS_deffile("OpenGL::Modern::glProgramParameters4fvNV_p", XS_OpenGL__Modern_glProgramParameters4fvNV_p);
        newXS_deffile("OpenGL::Modern::glProgramPathFragmentInputGenNV_c", XS_OpenGL__Modern_glProgramPathFragmentInputGenNV_c);
        newXS_deffile("OpenGL::Modern::glProgramStringARB_c", XS_OpenGL__Modern_glProgramStringARB_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform1d", XS_OpenGL__Modern_glProgramUniform1d);
        newXS_deffile("OpenGL::Modern::glProgramUniform1dv_c", XS_OpenGL__Modern_glProgramUniform1dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform1dv_p", XS_OpenGL__Modern_glProgramUniform1dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1f", XS_OpenGL__Modern_glProgramUniform1f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1fEXT", XS_OpenGL__Modern_glProgramUniform1f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1fvEXT_c", XS_OpenGL__Modern_glProgramUniform1fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1fv_c", XS_OpenGL__Modern_glProgramUniform1fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1fvEXT_p", XS_OpenGL__Modern_glProgramUniform1fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1fv_p", XS_OpenGL__Modern_glProgramUniform1fv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1i", XS_OpenGL__Modern_glProgramUniform1i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1iEXT", XS_OpenGL__Modern_glProgramUniform1i);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glProgramUniform1i64ARB", XS_OpenGL__Modern_glProgramUniform1i64ARB);
        newXS_deffile("OpenGL::Modern::glProgramUniform1i64NV", XS_OpenGL__Modern_glProgramUniform1i64NV);
        newXS_deffile("OpenGL::Modern::glProgramUniform1i64vARB_c", XS_OpenGL__Modern_glProgramUniform1i64vARB_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform1i64vARB_p", XS_OpenGL__Modern_glProgramUniform1i64vARB_p);
        newXS_deffile("OpenGL::Modern::glProgramUniform1i64vNV_c", XS_OpenGL__Modern_glProgramUniform1i64vNV_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform1i64vNV_p", XS_OpenGL__Modern_glProgramUniform1i64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1ivEXT_c", XS_OpenGL__Modern_glProgramUniform1iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1iv_c", XS_OpenGL__Modern_glProgramUniform1iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1ivEXT_p", XS_OpenGL__Modern_glProgramUniform1iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1iv_p", XS_OpenGL__Modern_glProgramUniform1iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1ui", XS_OpenGL__Modern_glProgramUniform1ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1uiEXT", XS_OpenGL__Modern_glProgramUniform1ui);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glProgramUniform1ui64ARB", XS_OpenGL__Modern_glProgramUniform1ui64ARB);
        newXS_deffile("OpenGL::Modern::glProgramUniform1ui64NV", XS_OpenGL__Modern_glProgramUniform1ui64NV);
        newXS_deffile("OpenGL::Modern::glProgramUniform1ui64vARB_c", XS_OpenGL__Modern_glProgramUniform1ui64vARB_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform1ui64vARB_p", XS_OpenGL__Modern_glProgramUniform1ui64vARB_p);
        newXS_deffile("OpenGL::Modern::glProgramUniform1ui64vNV_c", XS_OpenGL__Modern_glProgramUniform1ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform1ui64vNV_p", XS_OpenGL__Modern_glProgramUniform1ui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1uivEXT_c", XS_OpenGL__Modern_glProgramUniform1uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1uiv_c", XS_OpenGL__Modern_glProgramUniform1uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1uivEXT_p", XS_OpenGL__Modern_glProgramUniform1uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform1uiv_p", XS_OpenGL__Modern_glProgramUniform1uiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniform2d", XS_OpenGL__Modern_glProgramUniform2d);
        newXS_deffile("OpenGL::Modern::glProgramUniform2dv_c", XS_OpenGL__Modern_glProgramUniform2dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform2dv_p", XS_OpenGL__Modern_glProgramUniform2dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2f", XS_OpenGL__Modern_glProgramUniform2f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2fEXT", XS_OpenGL__Modern_glProgramUniform2f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2fvEXT_c", XS_OpenGL__Modern_glProgramUniform2fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2fv_c", XS_OpenGL__Modern_glProgramUniform2fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2fvEXT_p", XS_OpenGL__Modern_glProgramUniform2fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2fv_p", XS_OpenGL__Modern_glProgramUniform2fv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2i", XS_OpenGL__Modern_glProgramUniform2i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2iEXT", XS_OpenGL__Modern_glProgramUniform2i);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glProgramUniform2i64ARB", XS_OpenGL__Modern_glProgramUniform2i64ARB);
        newXS_deffile("OpenGL::Modern::glProgramUniform2i64NV", XS_OpenGL__Modern_glProgramUniform2i64NV);
        newXS_deffile("OpenGL::Modern::glProgramUniform2i64vARB_c", XS_OpenGL__Modern_glProgramUniform2i64vARB_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform2i64vARB_p", XS_OpenGL__Modern_glProgramUniform2i64vARB_p);
        newXS_deffile("OpenGL::Modern::glProgramUniform2i64vNV_c", XS_OpenGL__Modern_glProgramUniform2i64vNV_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform2i64vNV_p", XS_OpenGL__Modern_glProgramUniform2i64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2ivEXT_c", XS_OpenGL__Modern_glProgramUniform2iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2iv_c", XS_OpenGL__Modern_glProgramUniform2iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2ivEXT_p", XS_OpenGL__Modern_glProgramUniform2iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2iv_p", XS_OpenGL__Modern_glProgramUniform2iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2ui", XS_OpenGL__Modern_glProgramUniform2ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2uiEXT", XS_OpenGL__Modern_glProgramUniform2ui);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glProgramUniform2ui64ARB", XS_OpenGL__Modern_glProgramUniform2ui64ARB);
        newXS_deffile("OpenGL::Modern::glProgramUniform2ui64NV", XS_OpenGL__Modern_glProgramUniform2ui64NV);
        newXS_deffile("OpenGL::Modern::glProgramUniform2ui64vARB_c", XS_OpenGL__Modern_glProgramUniform2ui64vARB_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform2ui64vARB_p", XS_OpenGL__Modern_glProgramUniform2ui64vARB_p);
        newXS_deffile("OpenGL::Modern::glProgramUniform2ui64vNV_c", XS_OpenGL__Modern_glProgramUniform2ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform2ui64vNV_p", XS_OpenGL__Modern_glProgramUniform2ui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2uivEXT_c", XS_OpenGL__Modern_glProgramUniform2uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2uiv_c", XS_OpenGL__Modern_glProgramUniform2uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2uivEXT_p", XS_OpenGL__Modern_glProgramUniform2uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform2uiv_p", XS_OpenGL__Modern_glProgramUniform2uiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniform3d", XS_OpenGL__Modern_glProgramUniform3d);
        newXS_deffile("OpenGL::Modern::glProgramUniform3dv_c", XS_OpenGL__Modern_glProgramUniform3dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform3dv_p", XS_OpenGL__Modern_glProgramUniform3dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3f", XS_OpenGL__Modern_glProgramUniform3f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3fEXT", XS_OpenGL__Modern_glProgramUniform3f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3fvEXT_c", XS_OpenGL__Modern_glProgramUniform3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3fv_c", XS_OpenGL__Modern_glProgramUniform3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3fvEXT_p", XS_OpenGL__Modern_glProgramUniform3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3fv_p", XS_OpenGL__Modern_glProgramUniform3fv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3i", XS_OpenGL__Modern_glProgramUniform3i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3iEXT", XS_OpenGL__Modern_glProgramUniform3i);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glProgramUniform3i64ARB", XS_OpenGL__Modern_glProgramUniform3i64ARB);
        newXS_deffile("OpenGL::Modern::glProgramUniform3i64NV", XS_OpenGL__Modern_glProgramUniform3i64NV);
        newXS_deffile("OpenGL::Modern::glProgramUniform3i64vARB_c", XS_OpenGL__Modern_glProgramUniform3i64vARB_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform3i64vARB_p", XS_OpenGL__Modern_glProgramUniform3i64vARB_p);
        newXS_deffile("OpenGL::Modern::glProgramUniform3i64vNV_c", XS_OpenGL__Modern_glProgramUniform3i64vNV_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform3i64vNV_p", XS_OpenGL__Modern_glProgramUniform3i64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3ivEXT_c", XS_OpenGL__Modern_glProgramUniform3iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3iv_c", XS_OpenGL__Modern_glProgramUniform3iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3ivEXT_p", XS_OpenGL__Modern_glProgramUniform3iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3iv_p", XS_OpenGL__Modern_glProgramUniform3iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3ui", XS_OpenGL__Modern_glProgramUniform3ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3uiEXT", XS_OpenGL__Modern_glProgramUniform3ui);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glProgramUniform3ui64ARB", XS_OpenGL__Modern_glProgramUniform3ui64ARB);
        newXS_deffile("OpenGL::Modern::glProgramUniform3ui64NV", XS_OpenGL__Modern_glProgramUniform3ui64NV);
        newXS_deffile("OpenGL::Modern::glProgramUniform3ui64vARB_c", XS_OpenGL__Modern_glProgramUniform3ui64vARB_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform3ui64vARB_p", XS_OpenGL__Modern_glProgramUniform3ui64vARB_p);
        newXS_deffile("OpenGL::Modern::glProgramUniform3ui64vNV_c", XS_OpenGL__Modern_glProgramUniform3ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform3ui64vNV_p", XS_OpenGL__Modern_glProgramUniform3ui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3uivEXT_c", XS_OpenGL__Modern_glProgramUniform3uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3uiv_c", XS_OpenGL__Modern_glProgramUniform3uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3uivEXT_p", XS_OpenGL__Modern_glProgramUniform3uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform3uiv_p", XS_OpenGL__Modern_glProgramUniform3uiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniform4d", XS_OpenGL__Modern_glProgramUniform4d);
        newXS_deffile("OpenGL::Modern::glProgramUniform4dv_c", XS_OpenGL__Modern_glProgramUniform4dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform4dv_p", XS_OpenGL__Modern_glProgramUniform4dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4f", XS_OpenGL__Modern_glProgramUniform4f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4fEXT", XS_OpenGL__Modern_glProgramUniform4f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4fvEXT_c", XS_OpenGL__Modern_glProgramUniform4fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4fv_c", XS_OpenGL__Modern_glProgramUniform4fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4fvEXT_p", XS_OpenGL__Modern_glProgramUniform4fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4fv_p", XS_OpenGL__Modern_glProgramUniform4fv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4i", XS_OpenGL__Modern_glProgramUniform4i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4iEXT", XS_OpenGL__Modern_glProgramUniform4i);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glProgramUniform4i64ARB", XS_OpenGL__Modern_glProgramUniform4i64ARB);
        newXS_deffile("OpenGL::Modern::glProgramUniform4i64NV", XS_OpenGL__Modern_glProgramUniform4i64NV);
        newXS_deffile("OpenGL::Modern::glProgramUniform4i64vARB_c", XS_OpenGL__Modern_glProgramUniform4i64vARB_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform4i64vARB_p", XS_OpenGL__Modern_glProgramUniform4i64vARB_p);
        newXS_deffile("OpenGL::Modern::glProgramUniform4i64vNV_c", XS_OpenGL__Modern_glProgramUniform4i64vNV_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform4i64vNV_p", XS_OpenGL__Modern_glProgramUniform4i64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4ivEXT_c", XS_OpenGL__Modern_glProgramUniform4iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4iv_c", XS_OpenGL__Modern_glProgramUniform4iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4ivEXT_p", XS_OpenGL__Modern_glProgramUniform4iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4iv_p", XS_OpenGL__Modern_glProgramUniform4iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4ui", XS_OpenGL__Modern_glProgramUniform4ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4uiEXT", XS_OpenGL__Modern_glProgramUniform4ui);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glProgramUniform4ui64ARB", XS_OpenGL__Modern_glProgramUniform4ui64ARB);
        newXS_deffile("OpenGL::Modern::glProgramUniform4ui64NV", XS_OpenGL__Modern_glProgramUniform4ui64NV);
        newXS_deffile("OpenGL::Modern::glProgramUniform4ui64vARB_c", XS_OpenGL__Modern_glProgramUniform4ui64vARB_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform4ui64vARB_p", XS_OpenGL__Modern_glProgramUniform4ui64vARB_p);
        newXS_deffile("OpenGL::Modern::glProgramUniform4ui64vNV_c", XS_OpenGL__Modern_glProgramUniform4ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glProgramUniform4ui64vNV_p", XS_OpenGL__Modern_glProgramUniform4ui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4uivEXT_c", XS_OpenGL__Modern_glProgramUniform4uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4uiv_c", XS_OpenGL__Modern_glProgramUniform4uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4uivEXT_p", XS_OpenGL__Modern_glProgramUniform4uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniform4uiv_p", XS_OpenGL__Modern_glProgramUniform4uiv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformHandleui64ARB", XS_OpenGL__Modern_glProgramUniformHandleui64ARB);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformHandleui64IMG", XS_OpenGL__Modern_glProgramUniformHandleui64ARB);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glProgramUniformHandleui64NV", XS_OpenGL__Modern_glProgramUniformHandleui64NV);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformHandleui64vARB_c", XS_OpenGL__Modern_glProgramUniformHandleui64vARB_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformHandleui64vIMG_c", XS_OpenGL__Modern_glProgramUniformHandleui64vARB_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformHandleui64vARB_p", XS_OpenGL__Modern_glProgramUniformHandleui64vARB_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformHandleui64vIMG_p", XS_OpenGL__Modern_glProgramUniformHandleui64vARB_p);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glProgramUniformHandleui64vNV_c", XS_OpenGL__Modern_glProgramUniformHandleui64vNV_c);
        newXS_deffile("OpenGL::Modern::glProgramUniformHandleui64vNV_p", XS_OpenGL__Modern_glProgramUniformHandleui64vNV_p);
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2dv_c", XS_OpenGL__Modern_glProgramUniformMatrix2dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2dv_p", XS_OpenGL__Modern_glProgramUniformMatrix2dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2fvEXT_c", XS_OpenGL__Modern_glProgramUniformMatrix2fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2fv_c", XS_OpenGL__Modern_glProgramUniformMatrix2fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2fvEXT_p", XS_OpenGL__Modern_glProgramUniformMatrix2fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2fv_p", XS_OpenGL__Modern_glProgramUniformMatrix2fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x3dv_c", XS_OpenGL__Modern_glProgramUniformMatrix2x3dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x3dv_p", XS_OpenGL__Modern_glProgramUniformMatrix2x3dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x3fvEXT_c", XS_OpenGL__Modern_glProgramUniformMatrix2x3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x3fv_c", XS_OpenGL__Modern_glProgramUniformMatrix2x3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x3fvEXT_p", XS_OpenGL__Modern_glProgramUniformMatrix2x3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x3fv_p", XS_OpenGL__Modern_glProgramUniformMatrix2x3fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x4dv_c", XS_OpenGL__Modern_glProgramUniformMatrix2x4dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x4dv_p", XS_OpenGL__Modern_glProgramUniformMatrix2x4dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x4fvEXT_c", XS_OpenGL__Modern_glProgramUniformMatrix2x4fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x4fv_c", XS_OpenGL__Modern_glProgramUniformMatrix2x4fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x4fvEXT_p", XS_OpenGL__Modern_glProgramUniformMatrix2x4fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix2x4fv_p", XS_OpenGL__Modern_glProgramUniformMatrix2x4fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3dv_c", XS_OpenGL__Modern_glProgramUniformMatrix3dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3dv_p", XS_OpenGL__Modern_glProgramUniformMatrix3dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3fvEXT_c", XS_OpenGL__Modern_glProgramUniformMatrix3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3fv_c", XS_OpenGL__Modern_glProgramUniformMatrix3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3fvEXT_p", XS_OpenGL__Modern_glProgramUniformMatrix3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3fv_p", XS_OpenGL__Modern_glProgramUniformMatrix3fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x2dv_c", XS_OpenGL__Modern_glProgramUniformMatrix3x2dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x2dv_p", XS_OpenGL__Modern_glProgramUniformMatrix3x2dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x2fvEXT_c", XS_OpenGL__Modern_glProgramUniformMatrix3x2fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x2fv_c", XS_OpenGL__Modern_glProgramUniformMatrix3x2fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x2fvEXT_p", XS_OpenGL__Modern_glProgramUniformMatrix3x2fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x2fv_p", XS_OpenGL__Modern_glProgramUniformMatrix3x2fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x4dv_c", XS_OpenGL__Modern_glProgramUniformMatrix3x4dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x4dv_p", XS_OpenGL__Modern_glProgramUniformMatrix3x4dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x4fvEXT_c", XS_OpenGL__Modern_glProgramUniformMatrix3x4fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x4fv_c", XS_OpenGL__Modern_glProgramUniformMatrix3x4fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x4fvEXT_p", XS_OpenGL__Modern_glProgramUniformMatrix3x4fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix3x4fv_p", XS_OpenGL__Modern_glProgramUniformMatrix3x4fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4dv_c", XS_OpenGL__Modern_glProgramUniformMatrix4dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4dv_p", XS_OpenGL__Modern_glProgramUniformMatrix4dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4fvEXT_c", XS_OpenGL__Modern_glProgramUniformMatrix4fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4fv_c", XS_OpenGL__Modern_glProgramUniformMatrix4fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4fvEXT_p", XS_OpenGL__Modern_glProgramUniformMatrix4fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4fv_p", XS_OpenGL__Modern_glProgramUniformMatrix4fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x2dv_c", XS_OpenGL__Modern_glProgramUniformMatrix4x2dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x2dv_p", XS_OpenGL__Modern_glProgramUniformMatrix4x2dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x2fvEXT_c", XS_OpenGL__Modern_glProgramUniformMatrix4x2fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x2fv_c", XS_OpenGL__Modern_glProgramUniformMatrix4x2fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x2fvEXT_p", XS_OpenGL__Modern_glProgramUniformMatrix4x2fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x2fv_p", XS_OpenGL__Modern_glProgramUniformMatrix4x2fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x3dv_c", XS_OpenGL__Modern_glProgramUniformMatrix4x3dv_c);
        newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x3dv_p", XS_OpenGL__Modern_glProgramUniformMatrix4x3dv_p);
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x3fvEXT_c", XS_OpenGL__Modern_glProgramUniformMatrix4x3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x3fv_c", XS_OpenGL__Modern_glProgramUniformMatrix4x3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x3fvEXT_p", XS_OpenGL__Modern_glProgramUniformMatrix4x3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glProgramUniformMatrix4x3fv_p", XS_OpenGL__Modern_glProgramUniformMatrix4x3fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glProgramUniformui64NV", XS_OpenGL__Modern_glProgramUniformui64NV);
        newXS_deffile("OpenGL::Modern::glProgramUniformui64vNV_c", XS_OpenGL__Modern_glProgramUniformui64vNV_c);
        newXS_deffile("OpenGL::Modern::glProgramUniformui64vNV_p", XS_OpenGL__Modern_glProgramUniformui64vNV_p);
        newXS_deffile("OpenGL::Modern::glProgramVertexLimitNV", XS_OpenGL__Modern_glProgramVertexLimitNV);
        cv = newXS_deffile("OpenGL::Modern::glProvokingVertex", XS_OpenGL__Modern_glProvokingVertex);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glProvokingVertexEXT", XS_OpenGL__Modern_glProvokingVertex);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glPushAttrib", XS_OpenGL__Modern_glPushAttrib);
        newXS_deffile("OpenGL::Modern::glPushClientAttrib", XS_OpenGL__Modern_glPushClientAttrib);
        newXS_deffile("OpenGL::Modern::glPushClientAttribDefaultEXT", XS_OpenGL__Modern_glPushClientAttribDefaultEXT);
        cv = newXS_deffile("OpenGL::Modern::glPushDebugGroup", XS_OpenGL__Modern_glPushDebugGroup);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glPushDebugGroupKHR", XS_OpenGL__Modern_glPushDebugGroup);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glPushGroupMarkerEXT", XS_OpenGL__Modern_glPushGroupMarkerEXT);
        newXS_deffile("OpenGL::Modern::glPushMatrix", XS_OpenGL__Modern_glPushMatrix);
        newXS_deffile("OpenGL::Modern::glPushName", XS_OpenGL__Modern_glPushName);
        cv = newXS_deffile("OpenGL::Modern::glQueryCounter", XS_OpenGL__Modern_glQueryCounter);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glQueryCounterEXT", XS_OpenGL__Modern_glQueryCounter);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glQueryCounterANGLE", XS_OpenGL__Modern_glQueryCounterANGLE);
        newXS_deffile("OpenGL::Modern::glQueryObjectParameteruiAMD", XS_OpenGL__Modern_glQueryObjectParameteruiAMD);
        newXS_deffile("OpenGL::Modern::glRasterPos2d", XS_OpenGL__Modern_glRasterPos2d);
        newXS_deffile("OpenGL::Modern::glRasterPos2dv_c", XS_OpenGL__Modern_glRasterPos2dv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos2dv_p", XS_OpenGL__Modern_glRasterPos2dv_p);
        newXS_deffile("OpenGL::Modern::glRasterPos2f", XS_OpenGL__Modern_glRasterPos2f);
        newXS_deffile("OpenGL::Modern::glRasterPos2fv_c", XS_OpenGL__Modern_glRasterPos2fv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos2fv_p", XS_OpenGL__Modern_glRasterPos2fv_p);
        newXS_deffile("OpenGL::Modern::glRasterPos2i", XS_OpenGL__Modern_glRasterPos2i);
        newXS_deffile("OpenGL::Modern::glRasterPos2iv_c", XS_OpenGL__Modern_glRasterPos2iv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos2iv_p", XS_OpenGL__Modern_glRasterPos2iv_p);
        newXS_deffile("OpenGL::Modern::glRasterPos2s", XS_OpenGL__Modern_glRasterPos2s);
        newXS_deffile("OpenGL::Modern::glRasterPos2sv_c", XS_OpenGL__Modern_glRasterPos2sv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos2sv_p", XS_OpenGL__Modern_glRasterPos2sv_p);
        newXS_deffile("OpenGL::Modern::glRasterPos3d", XS_OpenGL__Modern_glRasterPos3d);
        newXS_deffile("OpenGL::Modern::glRasterPos3dv_c", XS_OpenGL__Modern_glRasterPos3dv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos3dv_p", XS_OpenGL__Modern_glRasterPos3dv_p);
        newXS_deffile("OpenGL::Modern::glRasterPos3f", XS_OpenGL__Modern_glRasterPos3f);
        newXS_deffile("OpenGL::Modern::glRasterPos3fv_c", XS_OpenGL__Modern_glRasterPos3fv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos3fv_p", XS_OpenGL__Modern_glRasterPos3fv_p);
        newXS_deffile("OpenGL::Modern::glRasterPos3i", XS_OpenGL__Modern_glRasterPos3i);
        newXS_deffile("OpenGL::Modern::glRasterPos3iv_c", XS_OpenGL__Modern_glRasterPos3iv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos3iv_p", XS_OpenGL__Modern_glRasterPos3iv_p);
        newXS_deffile("OpenGL::Modern::glRasterPos3s", XS_OpenGL__Modern_glRasterPos3s);
        newXS_deffile("OpenGL::Modern::glRasterPos3sv_c", XS_OpenGL__Modern_glRasterPos3sv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos3sv_p", XS_OpenGL__Modern_glRasterPos3sv_p);
        newXS_deffile("OpenGL::Modern::glRasterPos4d", XS_OpenGL__Modern_glRasterPos4d);
        newXS_deffile("OpenGL::Modern::glRasterPos4dv_c", XS_OpenGL__Modern_glRasterPos4dv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos4dv_p", XS_OpenGL__Modern_glRasterPos4dv_p);
        newXS_deffile("OpenGL::Modern::glRasterPos4f", XS_OpenGL__Modern_glRasterPos4f);
        newXS_deffile("OpenGL::Modern::glRasterPos4fv_c", XS_OpenGL__Modern_glRasterPos4fv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos4fv_p", XS_OpenGL__Modern_glRasterPos4fv_p);
        newXS_deffile("OpenGL::Modern::glRasterPos4i", XS_OpenGL__Modern_glRasterPos4i);
        newXS_deffile("OpenGL::Modern::glRasterPos4iv_c", XS_OpenGL__Modern_glRasterPos4iv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos4iv_p", XS_OpenGL__Modern_glRasterPos4iv_p);
        newXS_deffile("OpenGL::Modern::glRasterPos4s", XS_OpenGL__Modern_glRasterPos4s);
        newXS_deffile("OpenGL::Modern::glRasterPos4sv_c", XS_OpenGL__Modern_glRasterPos4sv_c);
        newXS_deffile("OpenGL::Modern::glRasterPos4sv_p", XS_OpenGL__Modern_glRasterPos4sv_p);
        newXS_deffile("OpenGL::Modern::glRasterSamplesEXT", XS_OpenGL__Modern_glRasterSamplesEXT);
        newXS_deffile("OpenGL::Modern::glReadBuffer", XS_OpenGL__Modern_glReadBuffer);
        newXS_deffile("OpenGL::Modern::glReadBufferIndexedEXT", XS_OpenGL__Modern_glReadBufferIndexedEXT);
        newXS_deffile("OpenGL::Modern::glReadBufferNV", XS_OpenGL__Modern_glReadBufferNV);
        newXS_deffile("OpenGL::Modern::glReadBufferRegion", XS_OpenGL__Modern_glReadBufferRegion);
        newXS_deffile("OpenGL::Modern::glReadPixels_c", XS_OpenGL__Modern_glReadPixels_c);
        newXS_deffile("OpenGL::Modern::glReadVideoPixelsSUN_c", XS_OpenGL__Modern_glReadVideoPixelsSUN_c);
        cv = newXS_deffile("OpenGL::Modern::glReadnPixelsARB_c", XS_OpenGL__Modern_glReadnPixels_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glReadnPixelsEXT_c", XS_OpenGL__Modern_glReadnPixels_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glReadnPixelsKHR_c", XS_OpenGL__Modern_glReadnPixels_c);
        XSANY.any_i32 = 3;
        cv = newXS_deffile("OpenGL::Modern::glReadnPixels_c", XS_OpenGL__Modern_glReadnPixels_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glRectd", XS_OpenGL__Modern_glRectd);
        newXS_deffile("OpenGL::Modern::glRectdv_c", XS_OpenGL__Modern_glRectdv_c);
        newXS_deffile("OpenGL::Modern::glRectdv_p", XS_OpenGL__Modern_glRectdv_p);
        newXS_deffile("OpenGL::Modern::glRectf", XS_OpenGL__Modern_glRectf);
        newXS_deffile("OpenGL::Modern::glRectfv_c", XS_OpenGL__Modern_glRectfv_c);
        newXS_deffile("OpenGL::Modern::glRectfv_p", XS_OpenGL__Modern_glRectfv_p);
        newXS_deffile("OpenGL::Modern::glRecti", XS_OpenGL__Modern_glRecti);
        newXS_deffile("OpenGL::Modern::glRectiv_c", XS_OpenGL__Modern_glRectiv_c);
        newXS_deffile("OpenGL::Modern::glRectiv_p", XS_OpenGL__Modern_glRectiv_p);
        newXS_deffile("OpenGL::Modern::glRects", XS_OpenGL__Modern_glRects);
        newXS_deffile("OpenGL::Modern::glRectsv_c", XS_OpenGL__Modern_glRectsv_c);
        newXS_deffile("OpenGL::Modern::glRectsv_p", XS_OpenGL__Modern_glRectsv_p);
        newXS_deffile("OpenGL::Modern::glReferencePlaneSGIX_c", XS_OpenGL__Modern_glReferencePlaneSGIX_c);
        newXS_deffile("OpenGL::Modern::glReferencePlaneSGIX_p", XS_OpenGL__Modern_glReferencePlaneSGIX_p);
        newXS_deffile("OpenGL::Modern::glReleaseKeyedMutexWin32EXT", XS_OpenGL__Modern_glReleaseKeyedMutexWin32EXT);
        newXS_deffile("OpenGL::Modern::glReleaseShaderCompiler", XS_OpenGL__Modern_glReleaseShaderCompiler);
        newXS_deffile("OpenGL::Modern::glRenderGpuMaskNV", XS_OpenGL__Modern_glRenderGpuMaskNV);
        newXS_deffile("OpenGL::Modern::glRenderMode", XS_OpenGL__Modern_glRenderMode);
        cv = newXS_deffile("OpenGL::Modern::glRenderbufferStorage", XS_OpenGL__Modern_glRenderbufferStorage);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glRenderbufferStorageEXT", XS_OpenGL__Modern_glRenderbufferStorage);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glRenderbufferStorageMultisample", XS_OpenGL__Modern_glRenderbufferStorageMultisample);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glRenderbufferStorageMultisampleEXT", XS_OpenGL__Modern_glRenderbufferStorageMultisample);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glRenderbufferStorageMultisampleNV", XS_OpenGL__Modern_glRenderbufferStorageMultisample);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glRenderbufferStorageMultisampleANGLE", XS_OpenGL__Modern_glRenderbufferStorageMultisampleANGLE);
        newXS_deffile("OpenGL::Modern::glRenderbufferStorageMultisampleAPPLE", XS_OpenGL__Modern_glRenderbufferStorageMultisampleAPPLE);
        newXS_deffile("OpenGL::Modern::glRenderbufferStorageMultisampleAdvancedAMD", XS_OpenGL__Modern_glRenderbufferStorageMultisampleAdvancedAMD);
        newXS_deffile("OpenGL::Modern::glRenderbufferStorageMultisampleCoverageNV", XS_OpenGL__Modern_glRenderbufferStorageMultisampleCoverageNV);
        newXS_deffile("OpenGL::Modern::glRenderbufferStorageMultisampleIMG", XS_OpenGL__Modern_glRenderbufferStorageMultisampleIMG);
        newXS_deffile("OpenGL::Modern::glRenderbufferStorageOES", XS_OpenGL__Modern_glRenderbufferStorageOES);
        newXS_deffile("OpenGL::Modern::glReplacementCodePointerSUN_c", XS_OpenGL__Modern_glReplacementCodePointerSUN_c);
        newXS_deffile("OpenGL::Modern::glReplacementCodeubSUN", XS_OpenGL__Modern_glReplacementCodeubSUN);
        newXS_deffile("OpenGL::Modern::glReplacementCodeubvSUN_c", XS_OpenGL__Modern_glReplacementCodeubvSUN_c);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiColor3fVertex3fSUN", XS_OpenGL__Modern_glReplacementCodeuiColor3fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiColor3fVertex3fvSUN_c", XS_OpenGL__Modern_glReplacementCodeuiColor3fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiColor3fVertex3fvSUN_p", XS_OpenGL__Modern_glReplacementCodeuiColor3fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiColor4fNormal3fVertex3fSUN", XS_OpenGL__Modern_glReplacementCodeuiColor4fNormal3fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiColor4fNormal3fVertex3fvSUN_c", XS_OpenGL__Modern_glReplacementCodeuiColor4fNormal3fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiColor4fNormal3fVertex3fvSUN_p", XS_OpenGL__Modern_glReplacementCodeuiColor4fNormal3fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiColor4ubVertex3fSUN", XS_OpenGL__Modern_glReplacementCodeuiColor4ubVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiColor4ubVertex3fvSUN_c", XS_OpenGL__Modern_glReplacementCodeuiColor4ubVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiColor4ubVertex3fvSUN_p", XS_OpenGL__Modern_glReplacementCodeuiColor4ubVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiNormal3fVertex3fSUN", XS_OpenGL__Modern_glReplacementCodeuiNormal3fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiNormal3fVertex3fvSUN_c", XS_OpenGL__Modern_glReplacementCodeuiNormal3fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiNormal3fVertex3fvSUN_p", XS_OpenGL__Modern_glReplacementCodeuiNormal3fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiSUN", XS_OpenGL__Modern_glReplacementCodeuiSUN);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_c", XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_p", XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_c", XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_p", XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiTexCoord2fVertex3fSUN", XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiTexCoord2fVertex3fvSUN_c", XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiTexCoord2fVertex3fvSUN_p", XS_OpenGL__Modern_glReplacementCodeuiTexCoord2fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiVertex3fSUN", XS_OpenGL__Modern_glReplacementCodeuiVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiVertex3fvSUN_c", XS_OpenGL__Modern_glReplacementCodeuiVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuiVertex3fvSUN_p", XS_OpenGL__Modern_glReplacementCodeuiVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glReplacementCodeuivSUN_c", XS_OpenGL__Modern_glReplacementCodeuivSUN_c);
        newXS_deffile("OpenGL::Modern::glReplacementCodeusSUN", XS_OpenGL__Modern_glReplacementCodeusSUN);
        newXS_deffile("OpenGL::Modern::glReplacementCodeusvSUN_c", XS_OpenGL__Modern_glReplacementCodeusvSUN_c);
        newXS_deffile("OpenGL::Modern::glRequestResidentProgramsNV_c", XS_OpenGL__Modern_glRequestResidentProgramsNV_c);
        newXS_deffile("OpenGL::Modern::glRequestResidentProgramsNV_p", XS_OpenGL__Modern_glRequestResidentProgramsNV_p);
        cv = newXS_deffile("OpenGL::Modern::glResetHistogram", XS_OpenGL__Modern_glResetHistogram);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glResetHistogramEXT", XS_OpenGL__Modern_glResetHistogram);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glResetMemoryObjectParameterNV", XS_OpenGL__Modern_glResetMemoryObjectParameterNV);
        cv = newXS_deffile("OpenGL::Modern::glResetMinmax", XS_OpenGL__Modern_glResetMinmax);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glResetMinmaxEXT", XS_OpenGL__Modern_glResetMinmax);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glResizeBuffersMESA", XS_OpenGL__Modern_glResizeBuffersMESA);
        newXS_deffile("OpenGL::Modern::glResolveDepthValuesNV", XS_OpenGL__Modern_glResolveDepthValuesNV);
        newXS_deffile("OpenGL::Modern::glResolveMultisampleFramebufferAPPLE", XS_OpenGL__Modern_glResolveMultisampleFramebufferAPPLE);
        cv = newXS_deffile("OpenGL::Modern::glResumeTransformFeedback", XS_OpenGL__Modern_glResumeTransformFeedback);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glResumeTransformFeedbackNV", XS_OpenGL__Modern_glResumeTransformFeedback);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glRotated", XS_OpenGL__Modern_glRotated);
        newXS_deffile("OpenGL::Modern::glRotatef", XS_OpenGL__Modern_glRotatef);
        newXS_deffile("OpenGL::Modern::glRotatex", XS_OpenGL__Modern_glRotatex);
        cv = newXS_deffile("OpenGL::Modern::glSampleCoverage", XS_OpenGL__Modern_glSampleCoverage);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSampleCoverageARB", XS_OpenGL__Modern_glSampleCoverage);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glSampleCoveragex", XS_OpenGL__Modern_glSampleCoveragex);
        newXS_deffile("OpenGL::Modern::glSampleMapATI", XS_OpenGL__Modern_glSampleMapATI);
        cv = newXS_deffile("OpenGL::Modern::glSampleMaskEXT", XS_OpenGL__Modern_glSampleMaskEXT);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSampleMaskSGIS", XS_OpenGL__Modern_glSampleMaskEXT);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glSampleMaskIndexedNV", XS_OpenGL__Modern_glSampleMaskIndexedNV);
        newXS_deffile("OpenGL::Modern::glSampleMaski", XS_OpenGL__Modern_glSampleMaski);
        cv = newXS_deffile("OpenGL::Modern::glSamplePatternEXT", XS_OpenGL__Modern_glSamplePatternEXT);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSamplePatternSGIS", XS_OpenGL__Modern_glSamplePatternEXT);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSamplerParameterIivEXT_c", XS_OpenGL__Modern_glSamplerParameterIiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSamplerParameterIiv_c", XS_OpenGL__Modern_glSamplerParameterIiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSamplerParameterIivEXT_p", XS_OpenGL__Modern_glSamplerParameterIiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSamplerParameterIiv_p", XS_OpenGL__Modern_glSamplerParameterIiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glSamplerParameterIivOES_c", XS_OpenGL__Modern_glSamplerParameterIivOES_c);
        cv = newXS_deffile("OpenGL::Modern::glSamplerParameterIuivEXT_c", XS_OpenGL__Modern_glSamplerParameterIuiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSamplerParameterIuiv_c", XS_OpenGL__Modern_glSamplerParameterIuiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSamplerParameterIuivEXT_p", XS_OpenGL__Modern_glSamplerParameterIuiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSamplerParameterIuiv_p", XS_OpenGL__Modern_glSamplerParameterIuiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glSamplerParameterIuivOES_c", XS_OpenGL__Modern_glSamplerParameterIuivOES_c);
        newXS_deffile("OpenGL::Modern::glSamplerParameterf", XS_OpenGL__Modern_glSamplerParameterf);
        newXS_deffile("OpenGL::Modern::glSamplerParameterfv_c", XS_OpenGL__Modern_glSamplerParameterfv_c);
        newXS_deffile("OpenGL::Modern::glSamplerParameterfv_p", XS_OpenGL__Modern_glSamplerParameterfv_p);
        newXS_deffile("OpenGL::Modern::glSamplerParameteri", XS_OpenGL__Modern_glSamplerParameteri);
        newXS_deffile("OpenGL::Modern::glSamplerParameteriv_c", XS_OpenGL__Modern_glSamplerParameteriv_c);
        newXS_deffile("OpenGL::Modern::glSamplerParameteriv_p", XS_OpenGL__Modern_glSamplerParameteriv_p);
        newXS_deffile("OpenGL::Modern::glScaled", XS_OpenGL__Modern_glScaled);
        newXS_deffile("OpenGL::Modern::glScalef", XS_OpenGL__Modern_glScalef);
        newXS_deffile("OpenGL::Modern::glScalex", XS_OpenGL__Modern_glScalex);
        newXS_deffile("OpenGL::Modern::glScissor", XS_OpenGL__Modern_glScissor);
        cv = newXS_deffile("OpenGL::Modern::glScissorArrayvNV_c", XS_OpenGL__Modern_glScissorArrayv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glScissorArrayv_c", XS_OpenGL__Modern_glScissorArrayv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glScissorArrayvNV_p", XS_OpenGL__Modern_glScissorArrayv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glScissorArrayv_p", XS_OpenGL__Modern_glScissorArrayv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glScissorExclusiveArrayvNV_c", XS_OpenGL__Modern_glScissorExclusiveArrayvNV_c);
        newXS_deffile("OpenGL::Modern::glScissorExclusiveArrayvNV_p", XS_OpenGL__Modern_glScissorExclusiveArrayvNV_p);
        newXS_deffile("OpenGL::Modern::glScissorExclusiveNV", XS_OpenGL__Modern_glScissorExclusiveNV);
        cv = newXS_deffile("OpenGL::Modern::glScissorIndexed", XS_OpenGL__Modern_glScissorIndexed);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glScissorIndexedNV", XS_OpenGL__Modern_glScissorIndexed);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glScissorIndexedvNV_c", XS_OpenGL__Modern_glScissorIndexedv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glScissorIndexedv_c", XS_OpenGL__Modern_glScissorIndexedv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glScissorIndexedvNV_p", XS_OpenGL__Modern_glScissorIndexedv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glScissorIndexedv_p", XS_OpenGL__Modern_glScissorIndexedv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3b", XS_OpenGL__Modern_glSecondaryColor3b);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3bEXT", XS_OpenGL__Modern_glSecondaryColor3b);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3bvEXT_c", XS_OpenGL__Modern_glSecondaryColor3bv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3bv_c", XS_OpenGL__Modern_glSecondaryColor3bv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3bvEXT_p", XS_OpenGL__Modern_glSecondaryColor3bv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3bv_p", XS_OpenGL__Modern_glSecondaryColor3bv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3d", XS_OpenGL__Modern_glSecondaryColor3d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3dEXT", XS_OpenGL__Modern_glSecondaryColor3d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3dvEXT_c", XS_OpenGL__Modern_glSecondaryColor3dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3dv_c", XS_OpenGL__Modern_glSecondaryColor3dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3dvEXT_p", XS_OpenGL__Modern_glSecondaryColor3dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3dv_p", XS_OpenGL__Modern_glSecondaryColor3dv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3f", XS_OpenGL__Modern_glSecondaryColor3f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3fEXT", XS_OpenGL__Modern_glSecondaryColor3f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3fvEXT_c", XS_OpenGL__Modern_glSecondaryColor3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3fv_c", XS_OpenGL__Modern_glSecondaryColor3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3fvEXT_p", XS_OpenGL__Modern_glSecondaryColor3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3fv_p", XS_OpenGL__Modern_glSecondaryColor3fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glSecondaryColor3hNV", XS_OpenGL__Modern_glSecondaryColor3hNV);
        newXS_deffile("OpenGL::Modern::glSecondaryColor3hvNV_c", XS_OpenGL__Modern_glSecondaryColor3hvNV_c);
        newXS_deffile("OpenGL::Modern::glSecondaryColor3hvNV_p", XS_OpenGL__Modern_glSecondaryColor3hvNV_p);
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3i", XS_OpenGL__Modern_glSecondaryColor3i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3iEXT", XS_OpenGL__Modern_glSecondaryColor3i);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3ivEXT_c", XS_OpenGL__Modern_glSecondaryColor3iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3iv_c", XS_OpenGL__Modern_glSecondaryColor3iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3ivEXT_p", XS_OpenGL__Modern_glSecondaryColor3iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3iv_p", XS_OpenGL__Modern_glSecondaryColor3iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3s", XS_OpenGL__Modern_glSecondaryColor3s);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3sEXT", XS_OpenGL__Modern_glSecondaryColor3s);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3svEXT_c", XS_OpenGL__Modern_glSecondaryColor3sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3sv_c", XS_OpenGL__Modern_glSecondaryColor3sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3svEXT_p", XS_OpenGL__Modern_glSecondaryColor3sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3sv_p", XS_OpenGL__Modern_glSecondaryColor3sv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3ub", XS_OpenGL__Modern_glSecondaryColor3ub);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3ubEXT", XS_OpenGL__Modern_glSecondaryColor3ub);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3ubvEXT_c", XS_OpenGL__Modern_glSecondaryColor3ubv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3ubv_c", XS_OpenGL__Modern_glSecondaryColor3ubv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3ubvEXT_p", XS_OpenGL__Modern_glSecondaryColor3ubv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3ubv_p", XS_OpenGL__Modern_glSecondaryColor3ubv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3ui", XS_OpenGL__Modern_glSecondaryColor3ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3uiEXT", XS_OpenGL__Modern_glSecondaryColor3ui);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3uivEXT_c", XS_OpenGL__Modern_glSecondaryColor3uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3uiv_c", XS_OpenGL__Modern_glSecondaryColor3uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3uivEXT_p", XS_OpenGL__Modern_glSecondaryColor3uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3uiv_p", XS_OpenGL__Modern_glSecondaryColor3uiv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3us", XS_OpenGL__Modern_glSecondaryColor3us);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3usEXT", XS_OpenGL__Modern_glSecondaryColor3us);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3usvEXT_c", XS_OpenGL__Modern_glSecondaryColor3usv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3usv_c", XS_OpenGL__Modern_glSecondaryColor3usv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3usvEXT_p", XS_OpenGL__Modern_glSecondaryColor3usv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColor3usv_p", XS_OpenGL__Modern_glSecondaryColor3usv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glSecondaryColorFormatNV", XS_OpenGL__Modern_glSecondaryColorFormatNV);
        newXS_deffile("OpenGL::Modern::glSecondaryColorP3ui", XS_OpenGL__Modern_glSecondaryColorP3ui);
        newXS_deffile("OpenGL::Modern::glSecondaryColorP3uiv_c", XS_OpenGL__Modern_glSecondaryColorP3uiv_c);
        newXS_deffile("OpenGL::Modern::glSecondaryColorP3uiv_p", XS_OpenGL__Modern_glSecondaryColorP3uiv_p);
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColorPointerEXT_c", XS_OpenGL__Modern_glSecondaryColorPointer_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSecondaryColorPointer_c", XS_OpenGL__Modern_glSecondaryColorPointer_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glSecondaryColorPointerListIBM_c", XS_OpenGL__Modern_glSecondaryColorPointerListIBM_c);
        newXS_deffile("OpenGL::Modern::glSelectBuffer_c", XS_OpenGL__Modern_glSelectBuffer_c);
        newXS_deffile("OpenGL::Modern::glSelectBuffer_p", XS_OpenGL__Modern_glSelectBuffer_p);
        newXS_deffile("OpenGL::Modern::glSelectPerfMonitorCountersAMD_c", XS_OpenGL__Modern_glSelectPerfMonitorCountersAMD_c);
        newXS_deffile("OpenGL::Modern::glSelectPerfMonitorCountersAMD_p", XS_OpenGL__Modern_glSelectPerfMonitorCountersAMD_p);
        newXS_deffile("OpenGL::Modern::glSelectTextureCoordSetSGIS", XS_OpenGL__Modern_glSelectTextureCoordSetSGIS);
        newXS_deffile("OpenGL::Modern::glSelectTextureSGIS", XS_OpenGL__Modern_glSelectTextureSGIS);
        newXS_deffile("OpenGL::Modern::glSelectTextureTransformSGIS", XS_OpenGL__Modern_glSelectTextureTransformSGIS);
        newXS_deffile("OpenGL::Modern::glSemaphoreParameterivNV_c", XS_OpenGL__Modern_glSemaphoreParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glSemaphoreParameterui64vEXT_c", XS_OpenGL__Modern_glSemaphoreParameterui64vEXT_c);
        cv = newXS_deffile("OpenGL::Modern::glSeparableFilter2DEXT_c", XS_OpenGL__Modern_glSeparableFilter2D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSeparableFilter2D_c", XS_OpenGL__Modern_glSeparableFilter2D_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glSetFenceAPPLE", XS_OpenGL__Modern_glSetFenceAPPLE);
        newXS_deffile("OpenGL::Modern::glSetFenceNV", XS_OpenGL__Modern_glSetFenceNV);
        newXS_deffile("OpenGL::Modern::glSetFragmentShaderConstantATI_c", XS_OpenGL__Modern_glSetFragmentShaderConstantATI_c);
        newXS_deffile("OpenGL::Modern::glSetFragmentShaderConstantATI_p", XS_OpenGL__Modern_glSetFragmentShaderConstantATI_p);
        newXS_deffile("OpenGL::Modern::glSetInvariantEXT_c", XS_OpenGL__Modern_glSetInvariantEXT_c);
        newXS_deffile("OpenGL::Modern::glSetLocalConstantEXT_c", XS_OpenGL__Modern_glSetLocalConstantEXT_c);
        newXS_deffile("OpenGL::Modern::glSetMultisamplefvAMD_c", XS_OpenGL__Modern_glSetMultisamplefvAMD_c);
        newXS_deffile("OpenGL::Modern::glSetMultisamplefvAMD_p", XS_OpenGL__Modern_glSetMultisamplefvAMD_p);
        newXS_deffile("OpenGL::Modern::glShadeModel", XS_OpenGL__Modern_glShadeModel);
        newXS_deffile("OpenGL::Modern::glShaderBinary_c", XS_OpenGL__Modern_glShaderBinary_c);
        newXS_deffile("OpenGL::Modern::glShaderOp1EXT", XS_OpenGL__Modern_glShaderOp1EXT);
        newXS_deffile("OpenGL::Modern::glShaderOp2EXT", XS_OpenGL__Modern_glShaderOp2EXT);
        newXS_deffile("OpenGL::Modern::glShaderOp3EXT", XS_OpenGL__Modern_glShaderOp3EXT);
        newXS_deffile("OpenGL::Modern::glShaderSource_c", XS_OpenGL__Modern_glShaderSource_c);
        newXS_deffile("OpenGL::Modern::glShaderSource_p", XS_OpenGL__Modern_glShaderSource_p);
        newXS_deffile("OpenGL::Modern::glShaderSourceARB_c", XS_OpenGL__Modern_glShaderSourceARB_c);
        newXS_deffile("OpenGL::Modern::glShaderSourceARB_p", XS_OpenGL__Modern_glShaderSourceARB_p);
        newXS_deffile("OpenGL::Modern::glShaderStorageBlockBinding", XS_OpenGL__Modern_glShaderStorageBlockBinding);
        newXS_deffile("OpenGL::Modern::glShadingRateCombinerOpsEXT", XS_OpenGL__Modern_glShadingRateCombinerOpsEXT);
        newXS_deffile("OpenGL::Modern::glShadingRateEXT", XS_OpenGL__Modern_glShadingRateEXT);
        newXS_deffile("OpenGL::Modern::glShadingRateImageBarrierNV", XS_OpenGL__Modern_glShadingRateImageBarrierNV);
        newXS_deffile("OpenGL::Modern::glShadingRateImagePaletteNV_c", XS_OpenGL__Modern_glShadingRateImagePaletteNV_c);
        newXS_deffile("OpenGL::Modern::glShadingRateImagePaletteNV_p", XS_OpenGL__Modern_glShadingRateImagePaletteNV_p);
        newXS_deffile("OpenGL::Modern::glShadingRateQCOM", XS_OpenGL__Modern_glShadingRateQCOM);
        newXS_deffile("OpenGL::Modern::glShadingRateSampleOrderCustomNV_c", XS_OpenGL__Modern_glShadingRateSampleOrderCustomNV_c);
        newXS_deffile("OpenGL::Modern::glShadingRateSampleOrderNV", XS_OpenGL__Modern_glShadingRateSampleOrderNV);
        newXS_deffile("OpenGL::Modern::glSharpenTexFuncSGIS_c", XS_OpenGL__Modern_glSharpenTexFuncSGIS_c);
        newXS_deffile("OpenGL::Modern::glSharpenTexFuncSGIS_p", XS_OpenGL__Modern_glSharpenTexFuncSGIS_p);
        newXS_deffile("OpenGL::Modern::glSignalSemaphoreEXT_c", XS_OpenGL__Modern_glSignalSemaphoreEXT_c);
        newXS_deffile("OpenGL::Modern::glSignalSemaphoreui64NVX_c", XS_OpenGL__Modern_glSignalSemaphoreui64NVX_c);
        newXS_deffile("OpenGL::Modern::glSignalSemaphoreui64NVX_p", XS_OpenGL__Modern_glSignalSemaphoreui64NVX_p);
        newXS_deffile("OpenGL::Modern::glSignalVkFenceNV", XS_OpenGL__Modern_glSignalVkFenceNV);
        newXS_deffile("OpenGL::Modern::glSignalVkSemaphoreNV", XS_OpenGL__Modern_glSignalVkSemaphoreNV);
        cv = newXS_deffile("OpenGL::Modern::glSpecializeShaderARB_c", XS_OpenGL__Modern_glSpecializeShader_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSpecializeShader_c", XS_OpenGL__Modern_glSpecializeShader_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glSpecializeShaderARB_p", XS_OpenGL__Modern_glSpecializeShader_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glSpecializeShader_p", XS_OpenGL__Modern_glSpecializeShader_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glSpriteParameterfSGIX", XS_OpenGL__Modern_glSpriteParameterfSGIX);
        newXS_deffile("OpenGL::Modern::glSpriteParameterfvSGIX_c", XS_OpenGL__Modern_glSpriteParameterfvSGIX_c);
        newXS_deffile("OpenGL::Modern::glSpriteParameteriSGIX", XS_OpenGL__Modern_glSpriteParameteriSGIX);
        newXS_deffile("OpenGL::Modern::glSpriteParameterivSGIX_c", XS_OpenGL__Modern_glSpriteParameterivSGIX_c);
        newXS_deffile("OpenGL::Modern::glStartTilingQCOM", XS_OpenGL__Modern_glStartTilingQCOM);
        newXS_deffile("OpenGL::Modern::glStateCaptureNV", XS_OpenGL__Modern_glStateCaptureNV);
        newXS_deffile("OpenGL::Modern::glStencilFillPathInstancedNV_c", XS_OpenGL__Modern_glStencilFillPathInstancedNV_c);
        newXS_deffile("OpenGL::Modern::glStencilFillPathNV", XS_OpenGL__Modern_glStencilFillPathNV);
        newXS_deffile("OpenGL::Modern::glStencilFunc", XS_OpenGL__Modern_glStencilFunc);
        newXS_deffile("OpenGL::Modern::glStencilFuncSeparate", XS_OpenGL__Modern_glStencilFuncSeparate);
        newXS_deffile("OpenGL::Modern::glStencilFuncSeparateATI", XS_OpenGL__Modern_glStencilFuncSeparateATI);
        newXS_deffile("OpenGL::Modern::glStencilMask", XS_OpenGL__Modern_glStencilMask);
        newXS_deffile("OpenGL::Modern::glStencilMaskSeparate", XS_OpenGL__Modern_glStencilMaskSeparate);
        newXS_deffile("OpenGL::Modern::glStencilOp", XS_OpenGL__Modern_glStencilOp);
        cv = newXS_deffile("OpenGL::Modern::glStencilOpSeparate", XS_OpenGL__Modern_glStencilOpSeparate);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glStencilOpSeparateATI", XS_OpenGL__Modern_glStencilOpSeparate);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glStencilOpValueAMD", XS_OpenGL__Modern_glStencilOpValueAMD);
        newXS_deffile("OpenGL::Modern::glStencilStrokePathInstancedNV_c", XS_OpenGL__Modern_glStencilStrokePathInstancedNV_c);
        newXS_deffile("OpenGL::Modern::glStencilStrokePathNV", XS_OpenGL__Modern_glStencilStrokePathNV);
        newXS_deffile("OpenGL::Modern::glStencilThenCoverFillPathInstancedNV_c", XS_OpenGL__Modern_glStencilThenCoverFillPathInstancedNV_c);
        newXS_deffile("OpenGL::Modern::glStencilThenCoverFillPathNV", XS_OpenGL__Modern_glStencilThenCoverFillPathNV);
        newXS_deffile("OpenGL::Modern::glStencilThenCoverStrokePathInstancedNV_c", XS_OpenGL__Modern_glStencilThenCoverStrokePathInstancedNV_c);
        newXS_deffile("OpenGL::Modern::glStencilThenCoverStrokePathNV", XS_OpenGL__Modern_glStencilThenCoverStrokePathNV);
        newXS_deffile("OpenGL::Modern::glStereoParameterfNV", XS_OpenGL__Modern_glStereoParameterfNV);
        newXS_deffile("OpenGL::Modern::glStereoParameteriNV", XS_OpenGL__Modern_glStereoParameteriNV);
        newXS_deffile("OpenGL::Modern::glStringMarkerGREMEDY_c", XS_OpenGL__Modern_glStringMarkerGREMEDY_c);
        newXS_deffile("OpenGL::Modern::glSubpixelPrecisionBiasNV", XS_OpenGL__Modern_glSubpixelPrecisionBiasNV);
        newXS_deffile("OpenGL::Modern::glSwapMPEGPredictorsSGIX", XS_OpenGL__Modern_glSwapMPEGPredictorsSGIX);
        newXS_deffile("OpenGL::Modern::glSwizzleEXT", XS_OpenGL__Modern_glSwizzleEXT);
        newXS_deffile("OpenGL::Modern::glSyncTextureINTEL", XS_OpenGL__Modern_glSyncTextureINTEL);
        newXS_deffile("OpenGL::Modern::glTagSampleBufferSGIX", XS_OpenGL__Modern_glTagSampleBufferSGIX);
        newXS_deffile("OpenGL::Modern::glTangentPointerEXT_c", XS_OpenGL__Modern_glTangentPointerEXT_c);
        newXS_deffile("OpenGL::Modern::glTbufferMask3DFX", XS_OpenGL__Modern_glTbufferMask3DFX);
        newXS_deffile("OpenGL::Modern::glTessellationFactorAMD", XS_OpenGL__Modern_glTessellationFactorAMD);
        newXS_deffile("OpenGL::Modern::glTessellationModeAMD", XS_OpenGL__Modern_glTessellationModeAMD);
        newXS_deffile("OpenGL::Modern::glTestFenceAPPLE", XS_OpenGL__Modern_glTestFenceAPPLE);
        newXS_deffile("OpenGL::Modern::glTestFenceNV", XS_OpenGL__Modern_glTestFenceNV);
        newXS_deffile("OpenGL::Modern::glTestObjectAPPLE", XS_OpenGL__Modern_glTestObjectAPPLE);
        newXS_deffile("OpenGL::Modern::glTexAttachMemoryNV", XS_OpenGL__Modern_glTexAttachMemoryNV);
        cv = newXS_deffile("OpenGL::Modern::glTexBuffer", XS_OpenGL__Modern_glTexBuffer);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTexBufferARB", XS_OpenGL__Modern_glTexBuffer);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTexBufferEXT", XS_OpenGL__Modern_glTexBuffer);
        XSANY.any_i32 = 2;
        newXS_deffile("OpenGL::Modern::glTexBufferOES", XS_OpenGL__Modern_glTexBufferOES);
        cv = newXS_deffile("OpenGL::Modern::glTexBufferRange", XS_OpenGL__Modern_glTexBufferRange);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTexBufferRangeEXT", XS_OpenGL__Modern_glTexBufferRange);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glTexBufferRangeOES", XS_OpenGL__Modern_glTexBufferRangeOES);
        newXS_deffile("OpenGL::Modern::glTexBumpParameterfvATI_c", XS_OpenGL__Modern_glTexBumpParameterfvATI_c);
        newXS_deffile("OpenGL::Modern::glTexBumpParameterivATI_c", XS_OpenGL__Modern_glTexBumpParameterivATI_c);
        newXS_deffile("OpenGL::Modern::glTexCoord1d", XS_OpenGL__Modern_glTexCoord1d);
        newXS_deffile("OpenGL::Modern::glTexCoord1dv_c", XS_OpenGL__Modern_glTexCoord1dv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord1dv_p", XS_OpenGL__Modern_glTexCoord1dv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord1f", XS_OpenGL__Modern_glTexCoord1f);
        newXS_deffile("OpenGL::Modern::glTexCoord1fv_c", XS_OpenGL__Modern_glTexCoord1fv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord1fv_p", XS_OpenGL__Modern_glTexCoord1fv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord1hNV", XS_OpenGL__Modern_glTexCoord1hNV);
        newXS_deffile("OpenGL::Modern::glTexCoord1hvNV_c", XS_OpenGL__Modern_glTexCoord1hvNV_c);
        newXS_deffile("OpenGL::Modern::glTexCoord1hvNV_p", XS_OpenGL__Modern_glTexCoord1hvNV_p);
        newXS_deffile("OpenGL::Modern::glTexCoord1i", XS_OpenGL__Modern_glTexCoord1i);
        newXS_deffile("OpenGL::Modern::glTexCoord1iv_c", XS_OpenGL__Modern_glTexCoord1iv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord1iv_p", XS_OpenGL__Modern_glTexCoord1iv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord1s", XS_OpenGL__Modern_glTexCoord1s);
        newXS_deffile("OpenGL::Modern::glTexCoord1sv_c", XS_OpenGL__Modern_glTexCoord1sv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord1sv_p", XS_OpenGL__Modern_glTexCoord1sv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord2d", XS_OpenGL__Modern_glTexCoord2d);
        newXS_deffile("OpenGL::Modern::glTexCoord2dv_c", XS_OpenGL__Modern_glTexCoord2dv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord2dv_p", XS_OpenGL__Modern_glTexCoord2dv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord2f", XS_OpenGL__Modern_glTexCoord2f);
        newXS_deffile("OpenGL::Modern::glTexCoord2fColor3fVertex3fSUN", XS_OpenGL__Modern_glTexCoord2fColor3fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glTexCoord2fColor3fVertex3fvSUN_c", XS_OpenGL__Modern_glTexCoord2fColor3fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glTexCoord2fColor3fVertex3fvSUN_p", XS_OpenGL__Modern_glTexCoord2fColor3fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glTexCoord2fColor4fNormal3fVertex3fSUN", XS_OpenGL__Modern_glTexCoord2fColor4fNormal3fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glTexCoord2fColor4fNormal3fVertex3fvSUN_c", XS_OpenGL__Modern_glTexCoord2fColor4fNormal3fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glTexCoord2fColor4fNormal3fVertex3fvSUN_p", XS_OpenGL__Modern_glTexCoord2fColor4fNormal3fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glTexCoord2fColor4ubVertex3fSUN", XS_OpenGL__Modern_glTexCoord2fColor4ubVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glTexCoord2fColor4ubVertex3fvSUN_c", XS_OpenGL__Modern_glTexCoord2fColor4ubVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glTexCoord2fColor4ubVertex3fvSUN_p", XS_OpenGL__Modern_glTexCoord2fColor4ubVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glTexCoord2fNormal3fVertex3fSUN", XS_OpenGL__Modern_glTexCoord2fNormal3fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glTexCoord2fNormal3fVertex3fvSUN_c", XS_OpenGL__Modern_glTexCoord2fNormal3fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glTexCoord2fNormal3fVertex3fvSUN_p", XS_OpenGL__Modern_glTexCoord2fNormal3fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glTexCoord2fVertex3fSUN", XS_OpenGL__Modern_glTexCoord2fVertex3fSUN);
        newXS_deffile("OpenGL::Modern::glTexCoord2fVertex3fvSUN_c", XS_OpenGL__Modern_glTexCoord2fVertex3fvSUN_c);
        newXS_deffile("OpenGL::Modern::glTexCoord2fVertex3fvSUN_p", XS_OpenGL__Modern_glTexCoord2fVertex3fvSUN_p);
        newXS_deffile("OpenGL::Modern::glTexCoord2fv_c", XS_OpenGL__Modern_glTexCoord2fv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord2fv_p", XS_OpenGL__Modern_glTexCoord2fv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord2hNV", XS_OpenGL__Modern_glTexCoord2hNV);
        newXS_deffile("OpenGL::Modern::glTexCoord2hvNV_c", XS_OpenGL__Modern_glTexCoord2hvNV_c);
        newXS_deffile("OpenGL::Modern::glTexCoord2hvNV_p", XS_OpenGL__Modern_glTexCoord2hvNV_p);
        newXS_deffile("OpenGL::Modern::glTexCoord2i", XS_OpenGL__Modern_glTexCoord2i);
        newXS_deffile("OpenGL::Modern::glTexCoord2iv_c", XS_OpenGL__Modern_glTexCoord2iv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord2iv_p", XS_OpenGL__Modern_glTexCoord2iv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord2s", XS_OpenGL__Modern_glTexCoord2s);
        newXS_deffile("OpenGL::Modern::glTexCoord2sv_c", XS_OpenGL__Modern_glTexCoord2sv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord2sv_p", XS_OpenGL__Modern_glTexCoord2sv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord3d", XS_OpenGL__Modern_glTexCoord3d);
        newXS_deffile("OpenGL::Modern::glTexCoord3dv_c", XS_OpenGL__Modern_glTexCoord3dv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord3dv_p", XS_OpenGL__Modern_glTexCoord3dv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord3f", XS_OpenGL__Modern_glTexCoord3f);
        newXS_deffile("OpenGL::Modern::glTexCoord3fv_c", XS_OpenGL__Modern_glTexCoord3fv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord3fv_p", XS_OpenGL__Modern_glTexCoord3fv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord3hNV", XS_OpenGL__Modern_glTexCoord3hNV);
        newXS_deffile("OpenGL::Modern::glTexCoord3hvNV_c", XS_OpenGL__Modern_glTexCoord3hvNV_c);
        newXS_deffile("OpenGL::Modern::glTexCoord3hvNV_p", XS_OpenGL__Modern_glTexCoord3hvNV_p);
        newXS_deffile("OpenGL::Modern::glTexCoord3i", XS_OpenGL__Modern_glTexCoord3i);
        newXS_deffile("OpenGL::Modern::glTexCoord3iv_c", XS_OpenGL__Modern_glTexCoord3iv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord3iv_p", XS_OpenGL__Modern_glTexCoord3iv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord3s", XS_OpenGL__Modern_glTexCoord3s);
        newXS_deffile("OpenGL::Modern::glTexCoord3sv_c", XS_OpenGL__Modern_glTexCoord3sv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord3sv_p", XS_OpenGL__Modern_glTexCoord3sv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord4d", XS_OpenGL__Modern_glTexCoord4d);
        newXS_deffile("OpenGL::Modern::glTexCoord4dv_c", XS_OpenGL__Modern_glTexCoord4dv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord4dv_p", XS_OpenGL__Modern_glTexCoord4dv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord4f", XS_OpenGL__Modern_glTexCoord4f);
        newXS_deffile("OpenGL::Modern::glTexCoord4fColor4fNormal3fVertex4fSUN", XS_OpenGL__Modern_glTexCoord4fColor4fNormal3fVertex4fSUN);
        newXS_deffile("OpenGL::Modern::glTexCoord4fColor4fNormal3fVertex4fvSUN_c", XS_OpenGL__Modern_glTexCoord4fColor4fNormal3fVertex4fvSUN_c);
        newXS_deffile("OpenGL::Modern::glTexCoord4fColor4fNormal3fVertex4fvSUN_p", XS_OpenGL__Modern_glTexCoord4fColor4fNormal3fVertex4fvSUN_p);
        newXS_deffile("OpenGL::Modern::glTexCoord4fVertex4fSUN", XS_OpenGL__Modern_glTexCoord4fVertex4fSUN);
        newXS_deffile("OpenGL::Modern::glTexCoord4fVertex4fvSUN_c", XS_OpenGL__Modern_glTexCoord4fVertex4fvSUN_c);
        newXS_deffile("OpenGL::Modern::glTexCoord4fVertex4fvSUN_p", XS_OpenGL__Modern_glTexCoord4fVertex4fvSUN_p);
        newXS_deffile("OpenGL::Modern::glTexCoord4fv_c", XS_OpenGL__Modern_glTexCoord4fv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord4fv_p", XS_OpenGL__Modern_glTexCoord4fv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord4hNV", XS_OpenGL__Modern_glTexCoord4hNV);
        newXS_deffile("OpenGL::Modern::glTexCoord4hvNV_c", XS_OpenGL__Modern_glTexCoord4hvNV_c);
        newXS_deffile("OpenGL::Modern::glTexCoord4hvNV_p", XS_OpenGL__Modern_glTexCoord4hvNV_p);
        newXS_deffile("OpenGL::Modern::glTexCoord4i", XS_OpenGL__Modern_glTexCoord4i);
        newXS_deffile("OpenGL::Modern::glTexCoord4iv_c", XS_OpenGL__Modern_glTexCoord4iv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord4iv_p", XS_OpenGL__Modern_glTexCoord4iv_p);
        newXS_deffile("OpenGL::Modern::glTexCoord4s", XS_OpenGL__Modern_glTexCoord4s);
        newXS_deffile("OpenGL::Modern::glTexCoord4sv_c", XS_OpenGL__Modern_glTexCoord4sv_c);
        newXS_deffile("OpenGL::Modern::glTexCoord4sv_p", XS_OpenGL__Modern_glTexCoord4sv_p);
        newXS_deffile("OpenGL::Modern::glTexCoordFormatNV", XS_OpenGL__Modern_glTexCoordFormatNV);
        newXS_deffile("OpenGL::Modern::glTexCoordP1ui", XS_OpenGL__Modern_glTexCoordP1ui);
        newXS_deffile("OpenGL::Modern::glTexCoordP1uiv_c", XS_OpenGL__Modern_glTexCoordP1uiv_c);
        newXS_deffile("OpenGL::Modern::glTexCoordP1uiv_p", XS_OpenGL__Modern_glTexCoordP1uiv_p);
        newXS_deffile("OpenGL::Modern::glTexCoordP2ui", XS_OpenGL__Modern_glTexCoordP2ui);
        newXS_deffile("OpenGL::Modern::glTexCoordP2uiv_c", XS_OpenGL__Modern_glTexCoordP2uiv_c);
        newXS_deffile("OpenGL::Modern::glTexCoordP2uiv_p", XS_OpenGL__Modern_glTexCoordP2uiv_p);
        newXS_deffile("OpenGL::Modern::glTexCoordP3ui", XS_OpenGL__Modern_glTexCoordP3ui);
        newXS_deffile("OpenGL::Modern::glTexCoordP3uiv_c", XS_OpenGL__Modern_glTexCoordP3uiv_c);
        newXS_deffile("OpenGL::Modern::glTexCoordP3uiv_p", XS_OpenGL__Modern_glTexCoordP3uiv_p);
        newXS_deffile("OpenGL::Modern::glTexCoordP4ui", XS_OpenGL__Modern_glTexCoordP4ui);
        newXS_deffile("OpenGL::Modern::glTexCoordP4uiv_c", XS_OpenGL__Modern_glTexCoordP4uiv_c);
        newXS_deffile("OpenGL::Modern::glTexCoordP4uiv_p", XS_OpenGL__Modern_glTexCoordP4uiv_p);
        newXS_deffile("OpenGL::Modern::glTexCoordPointer_c", XS_OpenGL__Modern_glTexCoordPointer_c);
        newXS_deffile("OpenGL::Modern::glTexCoordPointerEXT_c", XS_OpenGL__Modern_glTexCoordPointerEXT_c);
        newXS_deffile("OpenGL::Modern::glTexCoordPointerListIBM_c", XS_OpenGL__Modern_glTexCoordPointerListIBM_c);
        newXS_deffile("OpenGL::Modern::glTexCoordPointervINTEL_c", XS_OpenGL__Modern_glTexCoordPointervINTEL_c);
        newXS_deffile("OpenGL::Modern::glTexEnvf", XS_OpenGL__Modern_glTexEnvf);
        newXS_deffile("OpenGL::Modern::glTexEnvfv_c", XS_OpenGL__Modern_glTexEnvfv_c);
        newXS_deffile("OpenGL::Modern::glTexEnvfv_p", XS_OpenGL__Modern_glTexEnvfv_p);
        newXS_deffile("OpenGL::Modern::glTexEnvi", XS_OpenGL__Modern_glTexEnvi);
        newXS_deffile("OpenGL::Modern::glTexEnviv_c", XS_OpenGL__Modern_glTexEnviv_c);
        newXS_deffile("OpenGL::Modern::glTexEnviv_p", XS_OpenGL__Modern_glTexEnviv_p);
        newXS_deffile("OpenGL::Modern::glTexEnvx", XS_OpenGL__Modern_glTexEnvx);
        newXS_deffile("OpenGL::Modern::glTexEnvxv_c", XS_OpenGL__Modern_glTexEnvxv_c);
        newXS_deffile("OpenGL::Modern::glTexEnvxv_p", XS_OpenGL__Modern_glTexEnvxv_p);
        newXS_deffile("OpenGL::Modern::glTexEstimateMotionQCOM", XS_OpenGL__Modern_glTexEstimateMotionQCOM);
        newXS_deffile("OpenGL::Modern::glTexEstimateMotionRegionsQCOM", XS_OpenGL__Modern_glTexEstimateMotionRegionsQCOM);
        newXS_deffile("OpenGL::Modern::glTexFilterFuncSGIS_c", XS_OpenGL__Modern_glTexFilterFuncSGIS_c);
        newXS_deffile("OpenGL::Modern::glTexFilterFuncSGIS_p", XS_OpenGL__Modern_glTexFilterFuncSGIS_p);
        newXS_deffile("OpenGL::Modern::glTexGend", XS_OpenGL__Modern_glTexGend);
        newXS_deffile("OpenGL::Modern::glTexGendv_c", XS_OpenGL__Modern_glTexGendv_c);
        newXS_deffile("OpenGL::Modern::glTexGendv_p", XS_OpenGL__Modern_glTexGendv_p);
        newXS_deffile("OpenGL::Modern::glTexGenf", XS_OpenGL__Modern_glTexGenf);
        newXS_deffile("OpenGL::Modern::glTexGenfOES", XS_OpenGL__Modern_glTexGenfOES);
        newXS_deffile("OpenGL::Modern::glTexGenfv_c", XS_OpenGL__Modern_glTexGenfv_c);
        newXS_deffile("OpenGL::Modern::glTexGenfv_p", XS_OpenGL__Modern_glTexGenfv_p);
        newXS_deffile("OpenGL::Modern::glTexGenfvOES_c", XS_OpenGL__Modern_glTexGenfvOES_c);
        newXS_deffile("OpenGL::Modern::glTexGeni", XS_OpenGL__Modern_glTexGeni);
        newXS_deffile("OpenGL::Modern::glTexGeniOES", XS_OpenGL__Modern_glTexGeniOES);
        newXS_deffile("OpenGL::Modern::glTexGeniv_c", XS_OpenGL__Modern_glTexGeniv_c);
        newXS_deffile("OpenGL::Modern::glTexGeniv_p", XS_OpenGL__Modern_glTexGeniv_p);
        newXS_deffile("OpenGL::Modern::glTexGenivOES_c", XS_OpenGL__Modern_glTexGenivOES_c);
        newXS_deffile("OpenGL::Modern::glTexGenxOES", XS_OpenGL__Modern_glTexGenxOES);
        newXS_deffile("OpenGL::Modern::glTexGenxvOES_c", XS_OpenGL__Modern_glTexGenxvOES_c);
        newXS_deffile("OpenGL::Modern::glTexImage1D_c", XS_OpenGL__Modern_glTexImage1D_c);
        newXS_deffile("OpenGL::Modern::glTexImage2D_c", XS_OpenGL__Modern_glTexImage2D_c);
        newXS_deffile("OpenGL::Modern::glTexImage2DMultisample", XS_OpenGL__Modern_glTexImage2DMultisample);
        newXS_deffile("OpenGL::Modern::glTexImage2DMultisampleCoverageNV", XS_OpenGL__Modern_glTexImage2DMultisampleCoverageNV);
        cv = newXS_deffile("OpenGL::Modern::glTexImage3DEXT_c", XS_OpenGL__Modern_glTexImage3D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTexImage3D_c", XS_OpenGL__Modern_glTexImage3D_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glTexImage3DMultisample", XS_OpenGL__Modern_glTexImage3DMultisample);
        newXS_deffile("OpenGL::Modern::glTexImage3DMultisampleCoverageNV", XS_OpenGL__Modern_glTexImage3DMultisampleCoverageNV);
        newXS_deffile("OpenGL::Modern::glTexImage3DNV_c", XS_OpenGL__Modern_glTexImage3DNV_c);
        newXS_deffile("OpenGL::Modern::glTexImage3DOES_c", XS_OpenGL__Modern_glTexImage3DOES_c);
        newXS_deffile("OpenGL::Modern::glTexImage4DSGIS_c", XS_OpenGL__Modern_glTexImage4DSGIS_c);
        cv = newXS_deffile("OpenGL::Modern::glTexPageCommitmentARB", XS_OpenGL__Modern_glTexPageCommitmentARB);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTexPageCommitmentEXT", XS_OpenGL__Modern_glTexPageCommitmentARB);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glTexPageCommitmentMemNV", XS_OpenGL__Modern_glTexPageCommitmentMemNV);
        cv = newXS_deffile("OpenGL::Modern::glTexParameterIivEXT_c", XS_OpenGL__Modern_glTexParameterIiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTexParameterIiv_c", XS_OpenGL__Modern_glTexParameterIiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTexParameterIivEXT_p", XS_OpenGL__Modern_glTexParameterIiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTexParameterIiv_p", XS_OpenGL__Modern_glTexParameterIiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glTexParameterIivOES_c", XS_OpenGL__Modern_glTexParameterIivOES_c);
        cv = newXS_deffile("OpenGL::Modern::glTexParameterIuivEXT_c", XS_OpenGL__Modern_glTexParameterIuiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTexParameterIuiv_c", XS_OpenGL__Modern_glTexParameterIuiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTexParameterIuivEXT_p", XS_OpenGL__Modern_glTexParameterIuiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTexParameterIuiv_p", XS_OpenGL__Modern_glTexParameterIuiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glTexParameterIuivOES_c", XS_OpenGL__Modern_glTexParameterIuivOES_c);
        newXS_deffile("OpenGL::Modern::glTexParameterf", XS_OpenGL__Modern_glTexParameterf);
        newXS_deffile("OpenGL::Modern::glTexParameterfv_c", XS_OpenGL__Modern_glTexParameterfv_c);
        newXS_deffile("OpenGL::Modern::glTexParameterfv_p", XS_OpenGL__Modern_glTexParameterfv_p);
        newXS_deffile("OpenGL::Modern::glTexParameteri", XS_OpenGL__Modern_glTexParameteri);
        newXS_deffile("OpenGL::Modern::glTexParameteriv_c", XS_OpenGL__Modern_glTexParameteriv_c);
        newXS_deffile("OpenGL::Modern::glTexParameteriv_p", XS_OpenGL__Modern_glTexParameteriv_p);
        newXS_deffile("OpenGL::Modern::glTexParameterx", XS_OpenGL__Modern_glTexParameterx);
        newXS_deffile("OpenGL::Modern::glTexParameterxv_c", XS_OpenGL__Modern_glTexParameterxv_c);
        newXS_deffile("OpenGL::Modern::glTexParameterxv_p", XS_OpenGL__Modern_glTexParameterxv_p);
        newXS_deffile("OpenGL::Modern::glTexRenderbufferNV", XS_OpenGL__Modern_glTexRenderbufferNV);
        newXS_deffile("OpenGL::Modern::glTexScissorFuncINTEL", XS_OpenGL__Modern_glTexScissorFuncINTEL);
        newXS_deffile("OpenGL::Modern::glTexScissorINTEL", XS_OpenGL__Modern_glTexScissorINTEL);
        cv = newXS_deffile("OpenGL::Modern::glTexStorage1D", XS_OpenGL__Modern_glTexStorage1D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTexStorage1DEXT", XS_OpenGL__Modern_glTexStorage1D);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTexStorage2D", XS_OpenGL__Modern_glTexStorage2D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTexStorage2DEXT", XS_OpenGL__Modern_glTexStorage2D);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glTexStorage2DMultisample", XS_OpenGL__Modern_glTexStorage2DMultisample);
        cv = newXS_deffile("OpenGL::Modern::glTexStorage3D", XS_OpenGL__Modern_glTexStorage3D);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTexStorage3DEXT", XS_OpenGL__Modern_glTexStorage3D);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glTexStorage3DMultisample", XS_OpenGL__Modern_glTexStorage3DMultisample);
        newXS_deffile("OpenGL::Modern::glTexStorage3DMultisampleOES", XS_OpenGL__Modern_glTexStorage3DMultisampleOES);
        newXS_deffile("OpenGL::Modern::glTexStorageAttribs2DEXT_c", XS_OpenGL__Modern_glTexStorageAttribs2DEXT_c);
        newXS_deffile("OpenGL::Modern::glTexStorageAttribs3DEXT_c", XS_OpenGL__Modern_glTexStorageAttribs3DEXT_c);
        newXS_deffile("OpenGL::Modern::glTexStorageMem1DEXT", XS_OpenGL__Modern_glTexStorageMem1DEXT);
        newXS_deffile("OpenGL::Modern::glTexStorageMem2DEXT", XS_OpenGL__Modern_glTexStorageMem2DEXT);
        newXS_deffile("OpenGL::Modern::glTexStorageMem2DMultisampleEXT", XS_OpenGL__Modern_glTexStorageMem2DMultisampleEXT);
        newXS_deffile("OpenGL::Modern::glTexStorageMem3DEXT", XS_OpenGL__Modern_glTexStorageMem3DEXT);
        newXS_deffile("OpenGL::Modern::glTexStorageMem3DMultisampleEXT", XS_OpenGL__Modern_glTexStorageMem3DMultisampleEXT);
        newXS_deffile("OpenGL::Modern::glTexStorageSparseAMD", XS_OpenGL__Modern_glTexStorageSparseAMD);
        cv = newXS_deffile("OpenGL::Modern::glTexSubImage1DEXT_c", XS_OpenGL__Modern_glTexSubImage1D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTexSubImage1D_c", XS_OpenGL__Modern_glTexSubImage1D_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTexSubImage2DEXT_c", XS_OpenGL__Modern_glTexSubImage2D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTexSubImage2D_c", XS_OpenGL__Modern_glTexSubImage2D_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTexSubImage3DEXT_c", XS_OpenGL__Modern_glTexSubImage3D_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTexSubImage3D_c", XS_OpenGL__Modern_glTexSubImage3D_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glTexSubImage3DNV_c", XS_OpenGL__Modern_glTexSubImage3DNV_c);
        newXS_deffile("OpenGL::Modern::glTexSubImage3DOES_c", XS_OpenGL__Modern_glTexSubImage3DOES_c);
        newXS_deffile("OpenGL::Modern::glTexSubImage4DSGIS_c", XS_OpenGL__Modern_glTexSubImage4DSGIS_c);
        newXS_deffile("OpenGL::Modern::glTextureAttachMemoryNV", XS_OpenGL__Modern_glTextureAttachMemoryNV);
        newXS_deffile("OpenGL::Modern::glTextureBarrier", XS_OpenGL__Modern_glTextureBarrier);
        newXS_deffile("OpenGL::Modern::glTextureBarrierNV", XS_OpenGL__Modern_glTextureBarrierNV);
        newXS_deffile("OpenGL::Modern::glTextureBuffer", XS_OpenGL__Modern_glTextureBuffer);
        newXS_deffile("OpenGL::Modern::glTextureBufferEXT", XS_OpenGL__Modern_glTextureBufferEXT);
        newXS_deffile("OpenGL::Modern::glTextureBufferRange", XS_OpenGL__Modern_glTextureBufferRange);
        newXS_deffile("OpenGL::Modern::glTextureBufferRangeEXT", XS_OpenGL__Modern_glTextureBufferRangeEXT);
        newXS_deffile("OpenGL::Modern::glTextureFogSGIX", XS_OpenGL__Modern_glTextureFogSGIX);
        newXS_deffile("OpenGL::Modern::glTextureFoveationParametersQCOM", XS_OpenGL__Modern_glTextureFoveationParametersQCOM);
        newXS_deffile("OpenGL::Modern::glTextureImage1DEXT_c", XS_OpenGL__Modern_glTextureImage1DEXT_c);
        newXS_deffile("OpenGL::Modern::glTextureImage2DEXT_c", XS_OpenGL__Modern_glTextureImage2DEXT_c);
        newXS_deffile("OpenGL::Modern::glTextureImage2DMultisampleCoverageNV", XS_OpenGL__Modern_glTextureImage2DMultisampleCoverageNV);
        newXS_deffile("OpenGL::Modern::glTextureImage2DMultisampleNV", XS_OpenGL__Modern_glTextureImage2DMultisampleNV);
        newXS_deffile("OpenGL::Modern::glTextureImage3DEXT_c", XS_OpenGL__Modern_glTextureImage3DEXT_c);
        newXS_deffile("OpenGL::Modern::glTextureImage3DMultisampleCoverageNV", XS_OpenGL__Modern_glTextureImage3DMultisampleCoverageNV);
        newXS_deffile("OpenGL::Modern::glTextureImage3DMultisampleNV", XS_OpenGL__Modern_glTextureImage3DMultisampleNV);
        newXS_deffile("OpenGL::Modern::glTextureLightEXT", XS_OpenGL__Modern_glTextureLightEXT);
        newXS_deffile("OpenGL::Modern::glTextureMaterialEXT", XS_OpenGL__Modern_glTextureMaterialEXT);
        newXS_deffile("OpenGL::Modern::glTextureNormalEXT", XS_OpenGL__Modern_glTextureNormalEXT);
        newXS_deffile("OpenGL::Modern::glTexturePageCommitmentEXT", XS_OpenGL__Modern_glTexturePageCommitmentEXT);
        newXS_deffile("OpenGL::Modern::glTexturePageCommitmentMemNV", XS_OpenGL__Modern_glTexturePageCommitmentMemNV);
        newXS_deffile("OpenGL::Modern::glTextureParameterIiv_c", XS_OpenGL__Modern_glTextureParameterIiv_c);
        newXS_deffile("OpenGL::Modern::glTextureParameterIiv_p", XS_OpenGL__Modern_glTextureParameterIiv_p);
        newXS_deffile("OpenGL::Modern::glTextureParameterIivEXT_c", XS_OpenGL__Modern_glTextureParameterIivEXT_c);
        newXS_deffile("OpenGL::Modern::glTextureParameterIivEXT_p", XS_OpenGL__Modern_glTextureParameterIivEXT_p);
        newXS_deffile("OpenGL::Modern::glTextureParameterIuiv_c", XS_OpenGL__Modern_glTextureParameterIuiv_c);
        newXS_deffile("OpenGL::Modern::glTextureParameterIuiv_p", XS_OpenGL__Modern_glTextureParameterIuiv_p);
        newXS_deffile("OpenGL::Modern::glTextureParameterIuivEXT_c", XS_OpenGL__Modern_glTextureParameterIuivEXT_c);
        newXS_deffile("OpenGL::Modern::glTextureParameterIuivEXT_p", XS_OpenGL__Modern_glTextureParameterIuivEXT_p);
        newXS_deffile("OpenGL::Modern::glTextureParameterf", XS_OpenGL__Modern_glTextureParameterf);
        newXS_deffile("OpenGL::Modern::glTextureParameterfEXT", XS_OpenGL__Modern_glTextureParameterfEXT);
        newXS_deffile("OpenGL::Modern::glTextureParameterfv_c", XS_OpenGL__Modern_glTextureParameterfv_c);
        newXS_deffile("OpenGL::Modern::glTextureParameterfv_p", XS_OpenGL__Modern_glTextureParameterfv_p);
        newXS_deffile("OpenGL::Modern::glTextureParameterfvEXT_c", XS_OpenGL__Modern_glTextureParameterfvEXT_c);
        newXS_deffile("OpenGL::Modern::glTextureParameterfvEXT_p", XS_OpenGL__Modern_glTextureParameterfvEXT_p);
        newXS_deffile("OpenGL::Modern::glTextureParameteri", XS_OpenGL__Modern_glTextureParameteri);
        newXS_deffile("OpenGL::Modern::glTextureParameteriEXT", XS_OpenGL__Modern_glTextureParameteriEXT);
        newXS_deffile("OpenGL::Modern::glTextureParameteriv_c", XS_OpenGL__Modern_glTextureParameteriv_c);
        newXS_deffile("OpenGL::Modern::glTextureParameteriv_p", XS_OpenGL__Modern_glTextureParameteriv_p);
        newXS_deffile("OpenGL::Modern::glTextureParameterivEXT_c", XS_OpenGL__Modern_glTextureParameterivEXT_c);
        newXS_deffile("OpenGL::Modern::glTextureParameterivEXT_p", XS_OpenGL__Modern_glTextureParameterivEXT_p);
        newXS_deffile("OpenGL::Modern::glTextureRangeAPPLE_c", XS_OpenGL__Modern_glTextureRangeAPPLE_c);
        newXS_deffile("OpenGL::Modern::glTextureRenderbufferEXT", XS_OpenGL__Modern_glTextureRenderbufferEXT);
        newXS_deffile("OpenGL::Modern::glTextureStorage1D", XS_OpenGL__Modern_glTextureStorage1D);
        newXS_deffile("OpenGL::Modern::glTextureStorage1DEXT", XS_OpenGL__Modern_glTextureStorage1DEXT);
        newXS_deffile("OpenGL::Modern::glTextureStorage2D", XS_OpenGL__Modern_glTextureStorage2D);
        newXS_deffile("OpenGL::Modern::glTextureStorage2DEXT", XS_OpenGL__Modern_glTextureStorage2DEXT);
        newXS_deffile("OpenGL::Modern::glTextureStorage2DMultisample", XS_OpenGL__Modern_glTextureStorage2DMultisample);
        newXS_deffile("OpenGL::Modern::glTextureStorage2DMultisampleEXT", XS_OpenGL__Modern_glTextureStorage2DMultisampleEXT);
        newXS_deffile("OpenGL::Modern::glTextureStorage3D", XS_OpenGL__Modern_glTextureStorage3D);
        newXS_deffile("OpenGL::Modern::glTextureStorage3DEXT", XS_OpenGL__Modern_glTextureStorage3DEXT);
        newXS_deffile("OpenGL::Modern::glTextureStorage3DMultisample", XS_OpenGL__Modern_glTextureStorage3DMultisample);
        newXS_deffile("OpenGL::Modern::glTextureStorage3DMultisampleEXT", XS_OpenGL__Modern_glTextureStorage3DMultisampleEXT);
        newXS_deffile("OpenGL::Modern::glTextureStorageMem1DEXT", XS_OpenGL__Modern_glTextureStorageMem1DEXT);
        newXS_deffile("OpenGL::Modern::glTextureStorageMem2DEXT", XS_OpenGL__Modern_glTextureStorageMem2DEXT);
        newXS_deffile("OpenGL::Modern::glTextureStorageMem2DMultisampleEXT", XS_OpenGL__Modern_glTextureStorageMem2DMultisampleEXT);
        newXS_deffile("OpenGL::Modern::glTextureStorageMem3DEXT", XS_OpenGL__Modern_glTextureStorageMem3DEXT);
        newXS_deffile("OpenGL::Modern::glTextureStorageMem3DMultisampleEXT", XS_OpenGL__Modern_glTextureStorageMem3DMultisampleEXT);
        newXS_deffile("OpenGL::Modern::glTextureStorageSparseAMD", XS_OpenGL__Modern_glTextureStorageSparseAMD);
        newXS_deffile("OpenGL::Modern::glTextureSubImage1D_c", XS_OpenGL__Modern_glTextureSubImage1D_c);
        newXS_deffile("OpenGL::Modern::glTextureSubImage1DEXT_c", XS_OpenGL__Modern_glTextureSubImage1DEXT_c);
        newXS_deffile("OpenGL::Modern::glTextureSubImage2D_c", XS_OpenGL__Modern_glTextureSubImage2D_c);
        newXS_deffile("OpenGL::Modern::glTextureSubImage2DEXT_c", XS_OpenGL__Modern_glTextureSubImage2DEXT_c);
        newXS_deffile("OpenGL::Modern::glTextureSubImage3D_c", XS_OpenGL__Modern_glTextureSubImage3D_c);
        newXS_deffile("OpenGL::Modern::glTextureSubImage3DEXT_c", XS_OpenGL__Modern_glTextureSubImage3DEXT_c);
        cv = newXS_deffile("OpenGL::Modern::glTextureView", XS_OpenGL__Modern_glTextureView);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTextureViewEXT", XS_OpenGL__Modern_glTextureView);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glTextureViewOES", XS_OpenGL__Modern_glTextureViewOES);
        newXS_deffile("OpenGL::Modern::glTrackMatrixNV", XS_OpenGL__Modern_glTrackMatrixNV);
        newXS_deffile("OpenGL::Modern::glTransformFeedbackAttribsNV_c", XS_OpenGL__Modern_glTransformFeedbackAttribsNV_c);
        newXS_deffile("OpenGL::Modern::glTransformFeedbackBufferBase", XS_OpenGL__Modern_glTransformFeedbackBufferBase);
        newXS_deffile("OpenGL::Modern::glTransformFeedbackBufferRange", XS_OpenGL__Modern_glTransformFeedbackBufferRange);
        cv = newXS_deffile("OpenGL::Modern::glTransformFeedbackVaryingsEXT_c", XS_OpenGL__Modern_glTransformFeedbackVaryings_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTransformFeedbackVaryings_c", XS_OpenGL__Modern_glTransformFeedbackVaryings_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glTransformFeedbackVaryingsEXT_p", XS_OpenGL__Modern_glTransformFeedbackVaryings_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glTransformFeedbackVaryings_p", XS_OpenGL__Modern_glTransformFeedbackVaryings_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glTransformFeedbackVaryingsNV_c", XS_OpenGL__Modern_glTransformFeedbackVaryingsNV_c);
        newXS_deffile("OpenGL::Modern::glTransformFeedbackVaryingsNV_p", XS_OpenGL__Modern_glTransformFeedbackVaryingsNV_p);
        newXS_deffile("OpenGL::Modern::glTransformPathNV_c", XS_OpenGL__Modern_glTransformPathNV_c);
        newXS_deffile("OpenGL::Modern::glTranslated", XS_OpenGL__Modern_glTranslated);
        newXS_deffile("OpenGL::Modern::glTranslatef", XS_OpenGL__Modern_glTranslatef);
        newXS_deffile("OpenGL::Modern::glTranslatex", XS_OpenGL__Modern_glTranslatex);
        newXS_deffile("OpenGL::Modern::glUniform1d", XS_OpenGL__Modern_glUniform1d);
        newXS_deffile("OpenGL::Modern::glUniform1dv_c", XS_OpenGL__Modern_glUniform1dv_c);
        newXS_deffile("OpenGL::Modern::glUniform1dv_p", XS_OpenGL__Modern_glUniform1dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform1f", XS_OpenGL__Modern_glUniform1f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform1fARB", XS_OpenGL__Modern_glUniform1f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform1fvARB_c", XS_OpenGL__Modern_glUniform1fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform1fv_c", XS_OpenGL__Modern_glUniform1fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform1fvARB_p", XS_OpenGL__Modern_glUniform1fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform1fv_p", XS_OpenGL__Modern_glUniform1fv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform1i", XS_OpenGL__Modern_glUniform1i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform1iARB", XS_OpenGL__Modern_glUniform1i);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glUniform1i64ARB", XS_OpenGL__Modern_glUniform1i64ARB);
        newXS_deffile("OpenGL::Modern::glUniform1i64NV", XS_OpenGL__Modern_glUniform1i64NV);
        newXS_deffile("OpenGL::Modern::glUniform1i64vARB_c", XS_OpenGL__Modern_glUniform1i64vARB_c);
        newXS_deffile("OpenGL::Modern::glUniform1i64vARB_p", XS_OpenGL__Modern_glUniform1i64vARB_p);
        newXS_deffile("OpenGL::Modern::glUniform1i64vNV_c", XS_OpenGL__Modern_glUniform1i64vNV_c);
        newXS_deffile("OpenGL::Modern::glUniform1i64vNV_p", XS_OpenGL__Modern_glUniform1i64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform1ivARB_c", XS_OpenGL__Modern_glUniform1iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform1iv_c", XS_OpenGL__Modern_glUniform1iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform1ivARB_p", XS_OpenGL__Modern_glUniform1iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform1iv_p", XS_OpenGL__Modern_glUniform1iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform1ui", XS_OpenGL__Modern_glUniform1ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform1uiEXT", XS_OpenGL__Modern_glUniform1ui);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glUniform1ui64ARB", XS_OpenGL__Modern_glUniform1ui64ARB);
        newXS_deffile("OpenGL::Modern::glUniform1ui64NV", XS_OpenGL__Modern_glUniform1ui64NV);
        newXS_deffile("OpenGL::Modern::glUniform1ui64vARB_c", XS_OpenGL__Modern_glUniform1ui64vARB_c);
        newXS_deffile("OpenGL::Modern::glUniform1ui64vARB_p", XS_OpenGL__Modern_glUniform1ui64vARB_p);
        newXS_deffile("OpenGL::Modern::glUniform1ui64vNV_c", XS_OpenGL__Modern_glUniform1ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glUniform1ui64vNV_p", XS_OpenGL__Modern_glUniform1ui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform1uivEXT_c", XS_OpenGL__Modern_glUniform1uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform1uiv_c", XS_OpenGL__Modern_glUniform1uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform1uivEXT_p", XS_OpenGL__Modern_glUniform1uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform1uiv_p", XS_OpenGL__Modern_glUniform1uiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniform2d", XS_OpenGL__Modern_glUniform2d);
        newXS_deffile("OpenGL::Modern::glUniform2dv_c", XS_OpenGL__Modern_glUniform2dv_c);
        newXS_deffile("OpenGL::Modern::glUniform2dv_p", XS_OpenGL__Modern_glUniform2dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform2f", XS_OpenGL__Modern_glUniform2f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform2fARB", XS_OpenGL__Modern_glUniform2f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform2fvARB_c", XS_OpenGL__Modern_glUniform2fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform2fv_c", XS_OpenGL__Modern_glUniform2fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform2fvARB_p", XS_OpenGL__Modern_glUniform2fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform2fv_p", XS_OpenGL__Modern_glUniform2fv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform2i", XS_OpenGL__Modern_glUniform2i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform2iARB", XS_OpenGL__Modern_glUniform2i);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glUniform2i64ARB", XS_OpenGL__Modern_glUniform2i64ARB);
        newXS_deffile("OpenGL::Modern::glUniform2i64NV", XS_OpenGL__Modern_glUniform2i64NV);
        newXS_deffile("OpenGL::Modern::glUniform2i64vARB_c", XS_OpenGL__Modern_glUniform2i64vARB_c);
        newXS_deffile("OpenGL::Modern::glUniform2i64vARB_p", XS_OpenGL__Modern_glUniform2i64vARB_p);
        newXS_deffile("OpenGL::Modern::glUniform2i64vNV_c", XS_OpenGL__Modern_glUniform2i64vNV_c);
        newXS_deffile("OpenGL::Modern::glUniform2i64vNV_p", XS_OpenGL__Modern_glUniform2i64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform2ivARB_c", XS_OpenGL__Modern_glUniform2iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform2iv_c", XS_OpenGL__Modern_glUniform2iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform2ivARB_p", XS_OpenGL__Modern_glUniform2iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform2iv_p", XS_OpenGL__Modern_glUniform2iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform2ui", XS_OpenGL__Modern_glUniform2ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform2uiEXT", XS_OpenGL__Modern_glUniform2ui);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glUniform2ui64ARB", XS_OpenGL__Modern_glUniform2ui64ARB);
        newXS_deffile("OpenGL::Modern::glUniform2ui64NV", XS_OpenGL__Modern_glUniform2ui64NV);
        newXS_deffile("OpenGL::Modern::glUniform2ui64vARB_c", XS_OpenGL__Modern_glUniform2ui64vARB_c);
        newXS_deffile("OpenGL::Modern::glUniform2ui64vARB_p", XS_OpenGL__Modern_glUniform2ui64vARB_p);
        newXS_deffile("OpenGL::Modern::glUniform2ui64vNV_c", XS_OpenGL__Modern_glUniform2ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glUniform2ui64vNV_p", XS_OpenGL__Modern_glUniform2ui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform2uivEXT_c", XS_OpenGL__Modern_glUniform2uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform2uiv_c", XS_OpenGL__Modern_glUniform2uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform2uivEXT_p", XS_OpenGL__Modern_glUniform2uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform2uiv_p", XS_OpenGL__Modern_glUniform2uiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniform3d", XS_OpenGL__Modern_glUniform3d);
        newXS_deffile("OpenGL::Modern::glUniform3dv_c", XS_OpenGL__Modern_glUniform3dv_c);
        newXS_deffile("OpenGL::Modern::glUniform3dv_p", XS_OpenGL__Modern_glUniform3dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform3f", XS_OpenGL__Modern_glUniform3f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform3fARB", XS_OpenGL__Modern_glUniform3f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform3fvARB_c", XS_OpenGL__Modern_glUniform3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform3fv_c", XS_OpenGL__Modern_glUniform3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform3fvARB_p", XS_OpenGL__Modern_glUniform3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform3fv_p", XS_OpenGL__Modern_glUniform3fv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform3i", XS_OpenGL__Modern_glUniform3i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform3iARB", XS_OpenGL__Modern_glUniform3i);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glUniform3i64ARB", XS_OpenGL__Modern_glUniform3i64ARB);
        newXS_deffile("OpenGL::Modern::glUniform3i64NV", XS_OpenGL__Modern_glUniform3i64NV);
        newXS_deffile("OpenGL::Modern::glUniform3i64vARB_c", XS_OpenGL__Modern_glUniform3i64vARB_c);
        newXS_deffile("OpenGL::Modern::glUniform3i64vARB_p", XS_OpenGL__Modern_glUniform3i64vARB_p);
        newXS_deffile("OpenGL::Modern::glUniform3i64vNV_c", XS_OpenGL__Modern_glUniform3i64vNV_c);
        newXS_deffile("OpenGL::Modern::glUniform3i64vNV_p", XS_OpenGL__Modern_glUniform3i64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform3ivARB_c", XS_OpenGL__Modern_glUniform3iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform3iv_c", XS_OpenGL__Modern_glUniform3iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform3ivARB_p", XS_OpenGL__Modern_glUniform3iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform3iv_p", XS_OpenGL__Modern_glUniform3iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform3ui", XS_OpenGL__Modern_glUniform3ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform3uiEXT", XS_OpenGL__Modern_glUniform3ui);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glUniform3ui64ARB", XS_OpenGL__Modern_glUniform3ui64ARB);
        newXS_deffile("OpenGL::Modern::glUniform3ui64NV", XS_OpenGL__Modern_glUniform3ui64NV);
        newXS_deffile("OpenGL::Modern::glUniform3ui64vARB_c", XS_OpenGL__Modern_glUniform3ui64vARB_c);
        newXS_deffile("OpenGL::Modern::glUniform3ui64vARB_p", XS_OpenGL__Modern_glUniform3ui64vARB_p);
        newXS_deffile("OpenGL::Modern::glUniform3ui64vNV_c", XS_OpenGL__Modern_glUniform3ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glUniform3ui64vNV_p", XS_OpenGL__Modern_glUniform3ui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform3uivEXT_c", XS_OpenGL__Modern_glUniform3uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform3uiv_c", XS_OpenGL__Modern_glUniform3uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform3uivEXT_p", XS_OpenGL__Modern_glUniform3uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform3uiv_p", XS_OpenGL__Modern_glUniform3uiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniform4d", XS_OpenGL__Modern_glUniform4d);
        newXS_deffile("OpenGL::Modern::glUniform4dv_c", XS_OpenGL__Modern_glUniform4dv_c);
        newXS_deffile("OpenGL::Modern::glUniform4dv_p", XS_OpenGL__Modern_glUniform4dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform4f", XS_OpenGL__Modern_glUniform4f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform4fARB", XS_OpenGL__Modern_glUniform4f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform4fvARB_c", XS_OpenGL__Modern_glUniform4fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform4fv_c", XS_OpenGL__Modern_glUniform4fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform4fvARB_p", XS_OpenGL__Modern_glUniform4fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform4fv_p", XS_OpenGL__Modern_glUniform4fv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform4i", XS_OpenGL__Modern_glUniform4i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform4iARB", XS_OpenGL__Modern_glUniform4i);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glUniform4i64ARB", XS_OpenGL__Modern_glUniform4i64ARB);
        newXS_deffile("OpenGL::Modern::glUniform4i64NV", XS_OpenGL__Modern_glUniform4i64NV);
        newXS_deffile("OpenGL::Modern::glUniform4i64vARB_c", XS_OpenGL__Modern_glUniform4i64vARB_c);
        newXS_deffile("OpenGL::Modern::glUniform4i64vARB_p", XS_OpenGL__Modern_glUniform4i64vARB_p);
        newXS_deffile("OpenGL::Modern::glUniform4i64vNV_c", XS_OpenGL__Modern_glUniform4i64vNV_c);
        newXS_deffile("OpenGL::Modern::glUniform4i64vNV_p", XS_OpenGL__Modern_glUniform4i64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform4ivARB_c", XS_OpenGL__Modern_glUniform4iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform4iv_c", XS_OpenGL__Modern_glUniform4iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform4ivARB_p", XS_OpenGL__Modern_glUniform4iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform4iv_p", XS_OpenGL__Modern_glUniform4iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform4ui", XS_OpenGL__Modern_glUniform4ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform4uiEXT", XS_OpenGL__Modern_glUniform4ui);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glUniform4ui64ARB", XS_OpenGL__Modern_glUniform4ui64ARB);
        newXS_deffile("OpenGL::Modern::glUniform4ui64NV", XS_OpenGL__Modern_glUniform4ui64NV);
        newXS_deffile("OpenGL::Modern::glUniform4ui64vARB_c", XS_OpenGL__Modern_glUniform4ui64vARB_c);
        newXS_deffile("OpenGL::Modern::glUniform4ui64vARB_p", XS_OpenGL__Modern_glUniform4ui64vARB_p);
        newXS_deffile("OpenGL::Modern::glUniform4ui64vNV_c", XS_OpenGL__Modern_glUniform4ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glUniform4ui64vNV_p", XS_OpenGL__Modern_glUniform4ui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glUniform4uivEXT_c", XS_OpenGL__Modern_glUniform4uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform4uiv_c", XS_OpenGL__Modern_glUniform4uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniform4uivEXT_p", XS_OpenGL__Modern_glUniform4uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniform4uiv_p", XS_OpenGL__Modern_glUniform4uiv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniformBlockBinding", XS_OpenGL__Modern_glUniformBlockBinding);
        newXS_deffile("OpenGL::Modern::glUniformBufferEXT", XS_OpenGL__Modern_glUniformBufferEXT);
        cv = newXS_deffile("OpenGL::Modern::glUniformHandleui64ARB", XS_OpenGL__Modern_glUniformHandleui64ARB);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformHandleui64IMG", XS_OpenGL__Modern_glUniformHandleui64ARB);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glUniformHandleui64NV", XS_OpenGL__Modern_glUniformHandleui64NV);
        cv = newXS_deffile("OpenGL::Modern::glUniformHandleui64vARB_c", XS_OpenGL__Modern_glUniformHandleui64vARB_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformHandleui64vIMG_c", XS_OpenGL__Modern_glUniformHandleui64vARB_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformHandleui64vARB_p", XS_OpenGL__Modern_glUniformHandleui64vARB_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformHandleui64vIMG_p", XS_OpenGL__Modern_glUniformHandleui64vARB_p);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glUniformHandleui64vNV_c", XS_OpenGL__Modern_glUniformHandleui64vNV_c);
        newXS_deffile("OpenGL::Modern::glUniformHandleui64vNV_p", XS_OpenGL__Modern_glUniformHandleui64vNV_p);
        newXS_deffile("OpenGL::Modern::glUniformMatrix2dv_c", XS_OpenGL__Modern_glUniformMatrix2dv_c);
        newXS_deffile("OpenGL::Modern::glUniformMatrix2dv_p", XS_OpenGL__Modern_glUniformMatrix2dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2fvARB_c", XS_OpenGL__Modern_glUniformMatrix2fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2fv_c", XS_OpenGL__Modern_glUniformMatrix2fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2fvARB_p", XS_OpenGL__Modern_glUniformMatrix2fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2fv_p", XS_OpenGL__Modern_glUniformMatrix2fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniformMatrix2x3dv_c", XS_OpenGL__Modern_glUniformMatrix2x3dv_c);
        newXS_deffile("OpenGL::Modern::glUniformMatrix2x3dv_p", XS_OpenGL__Modern_glUniformMatrix2x3dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2x3fvNV_c", XS_OpenGL__Modern_glUniformMatrix2x3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2x3fv_c", XS_OpenGL__Modern_glUniformMatrix2x3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2x3fvNV_p", XS_OpenGL__Modern_glUniformMatrix2x3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2x3fv_p", XS_OpenGL__Modern_glUniformMatrix2x3fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniformMatrix2x4dv_c", XS_OpenGL__Modern_glUniformMatrix2x4dv_c);
        newXS_deffile("OpenGL::Modern::glUniformMatrix2x4dv_p", XS_OpenGL__Modern_glUniformMatrix2x4dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2x4fvNV_c", XS_OpenGL__Modern_glUniformMatrix2x4fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2x4fv_c", XS_OpenGL__Modern_glUniformMatrix2x4fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2x4fvNV_p", XS_OpenGL__Modern_glUniformMatrix2x4fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix2x4fv_p", XS_OpenGL__Modern_glUniformMatrix2x4fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniformMatrix3dv_c", XS_OpenGL__Modern_glUniformMatrix3dv_c);
        newXS_deffile("OpenGL::Modern::glUniformMatrix3dv_p", XS_OpenGL__Modern_glUniformMatrix3dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3fvARB_c", XS_OpenGL__Modern_glUniformMatrix3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3fv_c", XS_OpenGL__Modern_glUniformMatrix3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3fvARB_p", XS_OpenGL__Modern_glUniformMatrix3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3fv_p", XS_OpenGL__Modern_glUniformMatrix3fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniformMatrix3x2dv_c", XS_OpenGL__Modern_glUniformMatrix3x2dv_c);
        newXS_deffile("OpenGL::Modern::glUniformMatrix3x2dv_p", XS_OpenGL__Modern_glUniformMatrix3x2dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3x2fvNV_c", XS_OpenGL__Modern_glUniformMatrix3x2fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3x2fv_c", XS_OpenGL__Modern_glUniformMatrix3x2fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3x2fvNV_p", XS_OpenGL__Modern_glUniformMatrix3x2fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3x2fv_p", XS_OpenGL__Modern_glUniformMatrix3x2fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniformMatrix3x4dv_c", XS_OpenGL__Modern_glUniformMatrix3x4dv_c);
        newXS_deffile("OpenGL::Modern::glUniformMatrix3x4dv_p", XS_OpenGL__Modern_glUniformMatrix3x4dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3x4fvNV_c", XS_OpenGL__Modern_glUniformMatrix3x4fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3x4fv_c", XS_OpenGL__Modern_glUniformMatrix3x4fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3x4fvNV_p", XS_OpenGL__Modern_glUniformMatrix3x4fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix3x4fv_p", XS_OpenGL__Modern_glUniformMatrix3x4fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniformMatrix4dv_c", XS_OpenGL__Modern_glUniformMatrix4dv_c);
        newXS_deffile("OpenGL::Modern::glUniformMatrix4dv_p", XS_OpenGL__Modern_glUniformMatrix4dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4fvARB_c", XS_OpenGL__Modern_glUniformMatrix4fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4fv_c", XS_OpenGL__Modern_glUniformMatrix4fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4fvARB_p", XS_OpenGL__Modern_glUniformMatrix4fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4fv_p", XS_OpenGL__Modern_glUniformMatrix4fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniformMatrix4x2dv_c", XS_OpenGL__Modern_glUniformMatrix4x2dv_c);
        newXS_deffile("OpenGL::Modern::glUniformMatrix4x2dv_p", XS_OpenGL__Modern_glUniformMatrix4x2dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4x2fvNV_c", XS_OpenGL__Modern_glUniformMatrix4x2fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4x2fv_c", XS_OpenGL__Modern_glUniformMatrix4x2fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4x2fvNV_p", XS_OpenGL__Modern_glUniformMatrix4x2fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4x2fv_p", XS_OpenGL__Modern_glUniformMatrix4x2fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniformMatrix4x3dv_c", XS_OpenGL__Modern_glUniformMatrix4x3dv_c);
        newXS_deffile("OpenGL::Modern::glUniformMatrix4x3dv_p", XS_OpenGL__Modern_glUniformMatrix4x3dv_p);
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4x3fvNV_c", XS_OpenGL__Modern_glUniformMatrix4x3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4x3fv_c", XS_OpenGL__Modern_glUniformMatrix4x3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4x3fvNV_p", XS_OpenGL__Modern_glUniformMatrix4x3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glUniformMatrix4x3fv_p", XS_OpenGL__Modern_glUniformMatrix4x3fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glUniformSubroutinesuiv_c", XS_OpenGL__Modern_glUniformSubroutinesuiv_c);
        newXS_deffile("OpenGL::Modern::glUniformSubroutinesuiv_p", XS_OpenGL__Modern_glUniformSubroutinesuiv_p);
        newXS_deffile("OpenGL::Modern::glUniformui64NV", XS_OpenGL__Modern_glUniformui64NV);
        newXS_deffile("OpenGL::Modern::glUniformui64vNV_c", XS_OpenGL__Modern_glUniformui64vNV_c);
        newXS_deffile("OpenGL::Modern::glUniformui64vNV_p", XS_OpenGL__Modern_glUniformui64vNV_p);
        newXS_deffile("OpenGL::Modern::glUnlockArraysEXT", XS_OpenGL__Modern_glUnlockArraysEXT);
        cv = newXS_deffile("OpenGL::Modern::glUnmapBuffer", XS_OpenGL__Modern_glUnmapBuffer);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glUnmapBufferARB", XS_OpenGL__Modern_glUnmapBuffer);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glUnmapBufferOES", XS_OpenGL__Modern_glUnmapBufferOES);
        newXS_deffile("OpenGL::Modern::glUnmapNamedBuffer", XS_OpenGL__Modern_glUnmapNamedBuffer);
        newXS_deffile("OpenGL::Modern::glUnmapNamedBufferEXT", XS_OpenGL__Modern_glUnmapNamedBufferEXT);
        newXS_deffile("OpenGL::Modern::glUnmapObjectBufferATI", XS_OpenGL__Modern_glUnmapObjectBufferATI);
        newXS_deffile("OpenGL::Modern::glUnmapTexture2DINTEL", XS_OpenGL__Modern_glUnmapTexture2DINTEL);
        newXS_deffile("OpenGL::Modern::glUpdateObjectBufferATI_c", XS_OpenGL__Modern_glUpdateObjectBufferATI_c);
        newXS_deffile("OpenGL::Modern::glUploadGpuMaskNVX", XS_OpenGL__Modern_glUploadGpuMaskNVX);
        newXS_deffile("OpenGL::Modern::glUseProgram", XS_OpenGL__Modern_glUseProgram);
        newXS_deffile("OpenGL::Modern::glUseProgramObjectARB", XS_OpenGL__Modern_glUseProgramObjectARB);
        newXS_deffile("OpenGL::Modern::glUseProgramStages", XS_OpenGL__Modern_glUseProgramStages);
        newXS_deffile("OpenGL::Modern::glUseShaderProgramEXT", XS_OpenGL__Modern_glUseShaderProgramEXT);
        newXS_deffile("OpenGL::Modern::glVDPAUFiniNV", XS_OpenGL__Modern_glVDPAUFiniNV);
        newXS_deffile("OpenGL::Modern::glVDPAUGetSurfaceivNV_c", XS_OpenGL__Modern_glVDPAUGetSurfaceivNV_c);
        newXS_deffile("OpenGL::Modern::glVDPAUInitNV_c", XS_OpenGL__Modern_glVDPAUInitNV_c);
        newXS_deffile("OpenGL::Modern::glVDPAUIsSurfaceNV", XS_OpenGL__Modern_glVDPAUIsSurfaceNV);
        newXS_deffile("OpenGL::Modern::glVDPAUMapSurfacesNV_c", XS_OpenGL__Modern_glVDPAUMapSurfacesNV_c);
        newXS_deffile("OpenGL::Modern::glVDPAURegisterOutputSurfaceNV_c", XS_OpenGL__Modern_glVDPAURegisterOutputSurfaceNV_c);
        newXS_deffile("OpenGL::Modern::glVDPAURegisterVideoSurfaceNV_c", XS_OpenGL__Modern_glVDPAURegisterVideoSurfaceNV_c);
        newXS_deffile("OpenGL::Modern::glVDPAURegisterVideoSurfaceWithPictureStructureNV_c", XS_OpenGL__Modern_glVDPAURegisterVideoSurfaceWithPictureStructureNV_c);
        newXS_deffile("OpenGL::Modern::glVDPAUSurfaceAccessNV", XS_OpenGL__Modern_glVDPAUSurfaceAccessNV);
        newXS_deffile("OpenGL::Modern::glVDPAUUnmapSurfacesNV_c", XS_OpenGL__Modern_glVDPAUUnmapSurfacesNV_c);
        newXS_deffile("OpenGL::Modern::glVDPAUUnregisterSurfaceNV", XS_OpenGL__Modern_glVDPAUUnregisterSurfaceNV);
        newXS_deffile("OpenGL::Modern::glValidateProgram", XS_OpenGL__Modern_glValidateProgram);
        newXS_deffile("OpenGL::Modern::glValidateProgramARB", XS_OpenGL__Modern_glValidateProgramARB);
        newXS_deffile("OpenGL::Modern::glValidateProgramPipeline", XS_OpenGL__Modern_glValidateProgramPipeline);
        newXS_deffile("OpenGL::Modern::glVariantArrayObjectATI", XS_OpenGL__Modern_glVariantArrayObjectATI);
        newXS_deffile("OpenGL::Modern::glVariantPointerEXT_c", XS_OpenGL__Modern_glVariantPointerEXT_c);
        newXS_deffile("OpenGL::Modern::glVariantbvEXT_c", XS_OpenGL__Modern_glVariantbvEXT_c);
        newXS_deffile("OpenGL::Modern::glVariantdvEXT_c", XS_OpenGL__Modern_glVariantdvEXT_c);
        newXS_deffile("OpenGL::Modern::glVariantfvEXT_c", XS_OpenGL__Modern_glVariantfvEXT_c);
        newXS_deffile("OpenGL::Modern::glVariantivEXT_c", XS_OpenGL__Modern_glVariantivEXT_c);
        newXS_deffile("OpenGL::Modern::glVariantsvEXT_c", XS_OpenGL__Modern_glVariantsvEXT_c);
        newXS_deffile("OpenGL::Modern::glVariantubvEXT_c", XS_OpenGL__Modern_glVariantubvEXT_c);
        newXS_deffile("OpenGL::Modern::glVariantuivEXT_c", XS_OpenGL__Modern_glVariantuivEXT_c);
        newXS_deffile("OpenGL::Modern::glVariantusvEXT_c", XS_OpenGL__Modern_glVariantusvEXT_c);
        newXS_deffile("OpenGL::Modern::glVectorOperationSGIX", XS_OpenGL__Modern_glVectorOperationSGIX);
        newXS_deffile("OpenGL::Modern::glVertex2d", XS_OpenGL__Modern_glVertex2d);
        newXS_deffile("OpenGL::Modern::glVertex2dv_c", XS_OpenGL__Modern_glVertex2dv_c);
        newXS_deffile("OpenGL::Modern::glVertex2dv_p", XS_OpenGL__Modern_glVertex2dv_p);
        newXS_deffile("OpenGL::Modern::glVertex2f", XS_OpenGL__Modern_glVertex2f);
        newXS_deffile("OpenGL::Modern::glVertex2fv_c", XS_OpenGL__Modern_glVertex2fv_c);
        newXS_deffile("OpenGL::Modern::glVertex2fv_p", XS_OpenGL__Modern_glVertex2fv_p);
        newXS_deffile("OpenGL::Modern::glVertex2hNV", XS_OpenGL__Modern_glVertex2hNV);
        newXS_deffile("OpenGL::Modern::glVertex2hvNV_c", XS_OpenGL__Modern_glVertex2hvNV_c);
        newXS_deffile("OpenGL::Modern::glVertex2hvNV_p", XS_OpenGL__Modern_glVertex2hvNV_p);
        newXS_deffile("OpenGL::Modern::glVertex2i", XS_OpenGL__Modern_glVertex2i);
        newXS_deffile("OpenGL::Modern::glVertex2iv_c", XS_OpenGL__Modern_glVertex2iv_c);
        newXS_deffile("OpenGL::Modern::glVertex2iv_p", XS_OpenGL__Modern_glVertex2iv_p);
        newXS_deffile("OpenGL::Modern::glVertex2s", XS_OpenGL__Modern_glVertex2s);
        newXS_deffile("OpenGL::Modern::glVertex2sv_c", XS_OpenGL__Modern_glVertex2sv_c);
        newXS_deffile("OpenGL::Modern::glVertex2sv_p", XS_OpenGL__Modern_glVertex2sv_p);
        newXS_deffile("OpenGL::Modern::glVertex3d", XS_OpenGL__Modern_glVertex3d);
        newXS_deffile("OpenGL::Modern::glVertex3dv_c", XS_OpenGL__Modern_glVertex3dv_c);
        newXS_deffile("OpenGL::Modern::glVertex3dv_p", XS_OpenGL__Modern_glVertex3dv_p);
        newXS_deffile("OpenGL::Modern::glVertex3f", XS_OpenGL__Modern_glVertex3f);
        newXS_deffile("OpenGL::Modern::glVertex3fv_c", XS_OpenGL__Modern_glVertex3fv_c);
        newXS_deffile("OpenGL::Modern::glVertex3fv_p", XS_OpenGL__Modern_glVertex3fv_p);
        newXS_deffile("OpenGL::Modern::glVertex3hNV", XS_OpenGL__Modern_glVertex3hNV);
        newXS_deffile("OpenGL::Modern::glVertex3hvNV_c", XS_OpenGL__Modern_glVertex3hvNV_c);
        newXS_deffile("OpenGL::Modern::glVertex3hvNV_p", XS_OpenGL__Modern_glVertex3hvNV_p);
        newXS_deffile("OpenGL::Modern::glVertex3i", XS_OpenGL__Modern_glVertex3i);
        newXS_deffile("OpenGL::Modern::glVertex3iv_c", XS_OpenGL__Modern_glVertex3iv_c);
        newXS_deffile("OpenGL::Modern::glVertex3iv_p", XS_OpenGL__Modern_glVertex3iv_p);
        newXS_deffile("OpenGL::Modern::glVertex3s", XS_OpenGL__Modern_glVertex3s);
        newXS_deffile("OpenGL::Modern::glVertex3sv_c", XS_OpenGL__Modern_glVertex3sv_c);
        newXS_deffile("OpenGL::Modern::glVertex3sv_p", XS_OpenGL__Modern_glVertex3sv_p);
        newXS_deffile("OpenGL::Modern::glVertex4d", XS_OpenGL__Modern_glVertex4d);
        newXS_deffile("OpenGL::Modern::glVertex4dv_c", XS_OpenGL__Modern_glVertex4dv_c);
        newXS_deffile("OpenGL::Modern::glVertex4dv_p", XS_OpenGL__Modern_glVertex4dv_p);
        newXS_deffile("OpenGL::Modern::glVertex4f", XS_OpenGL__Modern_glVertex4f);
        newXS_deffile("OpenGL::Modern::glVertex4fv_c", XS_OpenGL__Modern_glVertex4fv_c);
        newXS_deffile("OpenGL::Modern::glVertex4fv_p", XS_OpenGL__Modern_glVertex4fv_p);
        newXS_deffile("OpenGL::Modern::glVertex4hNV", XS_OpenGL__Modern_glVertex4hNV);
        newXS_deffile("OpenGL::Modern::glVertex4hvNV_c", XS_OpenGL__Modern_glVertex4hvNV_c);
        newXS_deffile("OpenGL::Modern::glVertex4hvNV_p", XS_OpenGL__Modern_glVertex4hvNV_p);
        newXS_deffile("OpenGL::Modern::glVertex4i", XS_OpenGL__Modern_glVertex4i);
        newXS_deffile("OpenGL::Modern::glVertex4iv_c", XS_OpenGL__Modern_glVertex4iv_c);
        newXS_deffile("OpenGL::Modern::glVertex4iv_p", XS_OpenGL__Modern_glVertex4iv_p);
        newXS_deffile("OpenGL::Modern::glVertex4s", XS_OpenGL__Modern_glVertex4s);
        newXS_deffile("OpenGL::Modern::glVertex4sv_c", XS_OpenGL__Modern_glVertex4sv_c);
        newXS_deffile("OpenGL::Modern::glVertex4sv_p", XS_OpenGL__Modern_glVertex4sv_p);
        newXS_deffile("OpenGL::Modern::glVertexArrayAttribBinding", XS_OpenGL__Modern_glVertexArrayAttribBinding);
        newXS_deffile("OpenGL::Modern::glVertexArrayAttribFormat", XS_OpenGL__Modern_glVertexArrayAttribFormat);
        newXS_deffile("OpenGL::Modern::glVertexArrayAttribIFormat", XS_OpenGL__Modern_glVertexArrayAttribIFormat);
        newXS_deffile("OpenGL::Modern::glVertexArrayAttribLFormat", XS_OpenGL__Modern_glVertexArrayAttribLFormat);
        newXS_deffile("OpenGL::Modern::glVertexArrayBindVertexBufferEXT", XS_OpenGL__Modern_glVertexArrayBindVertexBufferEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayBindingDivisor", XS_OpenGL__Modern_glVertexArrayBindingDivisor);
        newXS_deffile("OpenGL::Modern::glVertexArrayColorOffsetEXT", XS_OpenGL__Modern_glVertexArrayColorOffsetEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayEdgeFlagOffsetEXT", XS_OpenGL__Modern_glVertexArrayEdgeFlagOffsetEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayElementBuffer", XS_OpenGL__Modern_glVertexArrayElementBuffer);
        newXS_deffile("OpenGL::Modern::glVertexArrayFogCoordOffsetEXT", XS_OpenGL__Modern_glVertexArrayFogCoordOffsetEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayIndexOffsetEXT", XS_OpenGL__Modern_glVertexArrayIndexOffsetEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayMultiTexCoordOffsetEXT", XS_OpenGL__Modern_glVertexArrayMultiTexCoordOffsetEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayNormalOffsetEXT", XS_OpenGL__Modern_glVertexArrayNormalOffsetEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayParameteriAPPLE", XS_OpenGL__Modern_glVertexArrayParameteriAPPLE);
        newXS_deffile("OpenGL::Modern::glVertexArrayRangeAPPLE_c", XS_OpenGL__Modern_glVertexArrayRangeAPPLE_c);
        newXS_deffile("OpenGL::Modern::glVertexArrayRangeNV_c", XS_OpenGL__Modern_glVertexArrayRangeNV_c);
        newXS_deffile("OpenGL::Modern::glVertexArraySecondaryColorOffsetEXT", XS_OpenGL__Modern_glVertexArraySecondaryColorOffsetEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayTexCoordOffsetEXT", XS_OpenGL__Modern_glVertexArrayTexCoordOffsetEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexAttribBindingEXT", XS_OpenGL__Modern_glVertexArrayVertexAttribBindingEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexAttribDivisorEXT", XS_OpenGL__Modern_glVertexArrayVertexAttribDivisorEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexAttribFormatEXT", XS_OpenGL__Modern_glVertexArrayVertexAttribFormatEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexAttribIFormatEXT", XS_OpenGL__Modern_glVertexArrayVertexAttribIFormatEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexAttribIOffsetEXT", XS_OpenGL__Modern_glVertexArrayVertexAttribIOffsetEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexAttribLFormatEXT", XS_OpenGL__Modern_glVertexArrayVertexAttribLFormatEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexAttribLOffsetEXT", XS_OpenGL__Modern_glVertexArrayVertexAttribLOffsetEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexAttribOffsetEXT", XS_OpenGL__Modern_glVertexArrayVertexAttribOffsetEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexBindingDivisorEXT", XS_OpenGL__Modern_glVertexArrayVertexBindingDivisorEXT);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexBuffer", XS_OpenGL__Modern_glVertexArrayVertexBuffer);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexBuffers_c", XS_OpenGL__Modern_glVertexArrayVertexBuffers_c);
        newXS_deffile("OpenGL::Modern::glVertexArrayVertexOffsetEXT", XS_OpenGL__Modern_glVertexArrayVertexOffsetEXT);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1d", XS_OpenGL__Modern_glVertexAttrib1d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1dARB", XS_OpenGL__Modern_glVertexAttrib1d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1dNV", XS_OpenGL__Modern_glVertexAttrib1d);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1dvARB_c", XS_OpenGL__Modern_glVertexAttrib1dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1dvNV_c", XS_OpenGL__Modern_glVertexAttrib1dv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1dv_c", XS_OpenGL__Modern_glVertexAttrib1dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1dvARB_p", XS_OpenGL__Modern_glVertexAttrib1dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1dvNV_p", XS_OpenGL__Modern_glVertexAttrib1dv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1dv_p", XS_OpenGL__Modern_glVertexAttrib1dv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1f", XS_OpenGL__Modern_glVertexAttrib1f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1fARB", XS_OpenGL__Modern_glVertexAttrib1f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1fNV", XS_OpenGL__Modern_glVertexAttrib1f);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1fvARB_c", XS_OpenGL__Modern_glVertexAttrib1fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1fvNV_c", XS_OpenGL__Modern_glVertexAttrib1fv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1fv_c", XS_OpenGL__Modern_glVertexAttrib1fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1fvARB_p", XS_OpenGL__Modern_glVertexAttrib1fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1fvNV_p", XS_OpenGL__Modern_glVertexAttrib1fv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1fv_p", XS_OpenGL__Modern_glVertexAttrib1fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttrib1hNV", XS_OpenGL__Modern_glVertexAttrib1hNV);
        newXS_deffile("OpenGL::Modern::glVertexAttrib1hvNV_c", XS_OpenGL__Modern_glVertexAttrib1hvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttrib1hvNV_p", XS_OpenGL__Modern_glVertexAttrib1hvNV_p);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1s", XS_OpenGL__Modern_glVertexAttrib1s);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1sARB", XS_OpenGL__Modern_glVertexAttrib1s);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1sNV", XS_OpenGL__Modern_glVertexAttrib1s);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1svARB_c", XS_OpenGL__Modern_glVertexAttrib1sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1svNV_c", XS_OpenGL__Modern_glVertexAttrib1sv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1sv_c", XS_OpenGL__Modern_glVertexAttrib1sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1svARB_p", XS_OpenGL__Modern_glVertexAttrib1sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1svNV_p", XS_OpenGL__Modern_glVertexAttrib1sv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib1sv_p", XS_OpenGL__Modern_glVertexAttrib1sv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2d", XS_OpenGL__Modern_glVertexAttrib2d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2dARB", XS_OpenGL__Modern_glVertexAttrib2d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2dNV", XS_OpenGL__Modern_glVertexAttrib2d);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2dvARB_c", XS_OpenGL__Modern_glVertexAttrib2dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2dvNV_c", XS_OpenGL__Modern_glVertexAttrib2dv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2dv_c", XS_OpenGL__Modern_glVertexAttrib2dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2dvARB_p", XS_OpenGL__Modern_glVertexAttrib2dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2dvNV_p", XS_OpenGL__Modern_glVertexAttrib2dv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2dv_p", XS_OpenGL__Modern_glVertexAttrib2dv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2f", XS_OpenGL__Modern_glVertexAttrib2f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2fARB", XS_OpenGL__Modern_glVertexAttrib2f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2fNV", XS_OpenGL__Modern_glVertexAttrib2f);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2fvARB_c", XS_OpenGL__Modern_glVertexAttrib2fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2fvNV_c", XS_OpenGL__Modern_glVertexAttrib2fv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2fv_c", XS_OpenGL__Modern_glVertexAttrib2fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2fvARB_p", XS_OpenGL__Modern_glVertexAttrib2fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2fvNV_p", XS_OpenGL__Modern_glVertexAttrib2fv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2fv_p", XS_OpenGL__Modern_glVertexAttrib2fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttrib2hNV", XS_OpenGL__Modern_glVertexAttrib2hNV);
        newXS_deffile("OpenGL::Modern::glVertexAttrib2hvNV_c", XS_OpenGL__Modern_glVertexAttrib2hvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttrib2hvNV_p", XS_OpenGL__Modern_glVertexAttrib2hvNV_p);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2s", XS_OpenGL__Modern_glVertexAttrib2s);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2sARB", XS_OpenGL__Modern_glVertexAttrib2s);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2sNV", XS_OpenGL__Modern_glVertexAttrib2s);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2svARB_c", XS_OpenGL__Modern_glVertexAttrib2sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2svNV_c", XS_OpenGL__Modern_glVertexAttrib2sv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2sv_c", XS_OpenGL__Modern_glVertexAttrib2sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2svARB_p", XS_OpenGL__Modern_glVertexAttrib2sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2svNV_p", XS_OpenGL__Modern_glVertexAttrib2sv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib2sv_p", XS_OpenGL__Modern_glVertexAttrib2sv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3d", XS_OpenGL__Modern_glVertexAttrib3d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3dARB", XS_OpenGL__Modern_glVertexAttrib3d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3dNV", XS_OpenGL__Modern_glVertexAttrib3d);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3dvARB_c", XS_OpenGL__Modern_glVertexAttrib3dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3dvNV_c", XS_OpenGL__Modern_glVertexAttrib3dv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3dv_c", XS_OpenGL__Modern_glVertexAttrib3dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3dvARB_p", XS_OpenGL__Modern_glVertexAttrib3dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3dvNV_p", XS_OpenGL__Modern_glVertexAttrib3dv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3dv_p", XS_OpenGL__Modern_glVertexAttrib3dv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3f", XS_OpenGL__Modern_glVertexAttrib3f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3fARB", XS_OpenGL__Modern_glVertexAttrib3f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3fNV", XS_OpenGL__Modern_glVertexAttrib3f);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3fvARB_c", XS_OpenGL__Modern_glVertexAttrib3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3fvNV_c", XS_OpenGL__Modern_glVertexAttrib3fv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3fv_c", XS_OpenGL__Modern_glVertexAttrib3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3fvARB_p", XS_OpenGL__Modern_glVertexAttrib3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3fvNV_p", XS_OpenGL__Modern_glVertexAttrib3fv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3fv_p", XS_OpenGL__Modern_glVertexAttrib3fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttrib3hNV", XS_OpenGL__Modern_glVertexAttrib3hNV);
        newXS_deffile("OpenGL::Modern::glVertexAttrib3hvNV_c", XS_OpenGL__Modern_glVertexAttrib3hvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttrib3hvNV_p", XS_OpenGL__Modern_glVertexAttrib3hvNV_p);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3s", XS_OpenGL__Modern_glVertexAttrib3s);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3sARB", XS_OpenGL__Modern_glVertexAttrib3s);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3sNV", XS_OpenGL__Modern_glVertexAttrib3s);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3svARB_c", XS_OpenGL__Modern_glVertexAttrib3sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3svNV_c", XS_OpenGL__Modern_glVertexAttrib3sv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3sv_c", XS_OpenGL__Modern_glVertexAttrib3sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3svARB_p", XS_OpenGL__Modern_glVertexAttrib3sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3svNV_p", XS_OpenGL__Modern_glVertexAttrib3sv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib3sv_p", XS_OpenGL__Modern_glVertexAttrib3sv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NbvARB_c", XS_OpenGL__Modern_glVertexAttrib4Nbv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Nbv_c", XS_OpenGL__Modern_glVertexAttrib4Nbv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NbvARB_p", XS_OpenGL__Modern_glVertexAttrib4Nbv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Nbv_p", XS_OpenGL__Modern_glVertexAttrib4Nbv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NivARB_c", XS_OpenGL__Modern_glVertexAttrib4Niv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Niv_c", XS_OpenGL__Modern_glVertexAttrib4Niv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NivARB_p", XS_OpenGL__Modern_glVertexAttrib4Niv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Niv_p", XS_OpenGL__Modern_glVertexAttrib4Niv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NsvARB_c", XS_OpenGL__Modern_glVertexAttrib4Nsv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Nsv_c", XS_OpenGL__Modern_glVertexAttrib4Nsv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NsvARB_p", XS_OpenGL__Modern_glVertexAttrib4Nsv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Nsv_p", XS_OpenGL__Modern_glVertexAttrib4Nsv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Nub", XS_OpenGL__Modern_glVertexAttrib4Nub);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NubARB", XS_OpenGL__Modern_glVertexAttrib4Nub);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4ubNV", XS_OpenGL__Modern_glVertexAttrib4Nub);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NubvARB_c", XS_OpenGL__Modern_glVertexAttrib4Nubv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Nubv_c", XS_OpenGL__Modern_glVertexAttrib4Nubv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4ubvNV_c", XS_OpenGL__Modern_glVertexAttrib4Nubv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NubvARB_p", XS_OpenGL__Modern_glVertexAttrib4Nubv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Nubv_p", XS_OpenGL__Modern_glVertexAttrib4Nubv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4ubvNV_p", XS_OpenGL__Modern_glVertexAttrib4Nubv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NuivARB_c", XS_OpenGL__Modern_glVertexAttrib4Nuiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Nuiv_c", XS_OpenGL__Modern_glVertexAttrib4Nuiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NuivARB_p", XS_OpenGL__Modern_glVertexAttrib4Nuiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Nuiv_p", XS_OpenGL__Modern_glVertexAttrib4Nuiv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NusvARB_c", XS_OpenGL__Modern_glVertexAttrib4Nusv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Nusv_c", XS_OpenGL__Modern_glVertexAttrib4Nusv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4NusvARB_p", XS_OpenGL__Modern_glVertexAttrib4Nusv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4Nusv_p", XS_OpenGL__Modern_glVertexAttrib4Nusv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4bvARB_c", XS_OpenGL__Modern_glVertexAttrib4bv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4bv_c", XS_OpenGL__Modern_glVertexAttrib4bv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4bvARB_p", XS_OpenGL__Modern_glVertexAttrib4bv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4bv_p", XS_OpenGL__Modern_glVertexAttrib4bv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4d", XS_OpenGL__Modern_glVertexAttrib4d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4dARB", XS_OpenGL__Modern_glVertexAttrib4d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4dNV", XS_OpenGL__Modern_glVertexAttrib4d);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4dvARB_c", XS_OpenGL__Modern_glVertexAttrib4dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4dvNV_c", XS_OpenGL__Modern_glVertexAttrib4dv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4dv_c", XS_OpenGL__Modern_glVertexAttrib4dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4dvARB_p", XS_OpenGL__Modern_glVertexAttrib4dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4dvNV_p", XS_OpenGL__Modern_glVertexAttrib4dv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4dv_p", XS_OpenGL__Modern_glVertexAttrib4dv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4f", XS_OpenGL__Modern_glVertexAttrib4f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4fARB", XS_OpenGL__Modern_glVertexAttrib4f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4fNV", XS_OpenGL__Modern_glVertexAttrib4f);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4fvARB_c", XS_OpenGL__Modern_glVertexAttrib4fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4fvNV_c", XS_OpenGL__Modern_glVertexAttrib4fv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4fv_c", XS_OpenGL__Modern_glVertexAttrib4fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4fvARB_p", XS_OpenGL__Modern_glVertexAttrib4fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4fvNV_p", XS_OpenGL__Modern_glVertexAttrib4fv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4fv_p", XS_OpenGL__Modern_glVertexAttrib4fv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttrib4hNV", XS_OpenGL__Modern_glVertexAttrib4hNV);
        newXS_deffile("OpenGL::Modern::glVertexAttrib4hvNV_c", XS_OpenGL__Modern_glVertexAttrib4hvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttrib4hvNV_p", XS_OpenGL__Modern_glVertexAttrib4hvNV_p);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4ivARB_c", XS_OpenGL__Modern_glVertexAttrib4iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4iv_c", XS_OpenGL__Modern_glVertexAttrib4iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4ivARB_p", XS_OpenGL__Modern_glVertexAttrib4iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4iv_p", XS_OpenGL__Modern_glVertexAttrib4iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4s", XS_OpenGL__Modern_glVertexAttrib4s);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4sARB", XS_OpenGL__Modern_glVertexAttrib4s);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4sNV", XS_OpenGL__Modern_glVertexAttrib4s);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4svARB_c", XS_OpenGL__Modern_glVertexAttrib4sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4svNV_c", XS_OpenGL__Modern_glVertexAttrib4sv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4sv_c", XS_OpenGL__Modern_glVertexAttrib4sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4svARB_p", XS_OpenGL__Modern_glVertexAttrib4sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4svNV_p", XS_OpenGL__Modern_glVertexAttrib4sv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4sv_p", XS_OpenGL__Modern_glVertexAttrib4sv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4ubvARB_c", XS_OpenGL__Modern_glVertexAttrib4ubv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4ubv_c", XS_OpenGL__Modern_glVertexAttrib4ubv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4ubvARB_p", XS_OpenGL__Modern_glVertexAttrib4ubv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4ubv_p", XS_OpenGL__Modern_glVertexAttrib4ubv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4uivARB_c", XS_OpenGL__Modern_glVertexAttrib4uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4uiv_c", XS_OpenGL__Modern_glVertexAttrib4uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4uivARB_p", XS_OpenGL__Modern_glVertexAttrib4uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4uiv_p", XS_OpenGL__Modern_glVertexAttrib4uiv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4usvARB_c", XS_OpenGL__Modern_glVertexAttrib4usv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4usv_c", XS_OpenGL__Modern_glVertexAttrib4usv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4usvARB_p", XS_OpenGL__Modern_glVertexAttrib4usv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttrib4usv_p", XS_OpenGL__Modern_glVertexAttrib4usv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttribArrayObjectATI", XS_OpenGL__Modern_glVertexAttribArrayObjectATI);
        newXS_deffile("OpenGL::Modern::glVertexAttribBinding", XS_OpenGL__Modern_glVertexAttribBinding);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribDivisor", XS_OpenGL__Modern_glVertexAttribDivisor);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribDivisorANGLE", XS_OpenGL__Modern_glVertexAttribDivisor);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribDivisorARB", XS_OpenGL__Modern_glVertexAttribDivisor);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribDivisorEXT", XS_OpenGL__Modern_glVertexAttribDivisor);
        XSANY.any_i32 = 3;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribDivisorNV", XS_OpenGL__Modern_glVertexAttribDivisor);
        XSANY.any_i32 = 4;
        newXS_deffile("OpenGL::Modern::glVertexAttribFormat", XS_OpenGL__Modern_glVertexAttribFormat);
        newXS_deffile("OpenGL::Modern::glVertexAttribFormatNV", XS_OpenGL__Modern_glVertexAttribFormatNV);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1i", XS_OpenGL__Modern_glVertexAttribI1i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1iEXT", XS_OpenGL__Modern_glVertexAttribI1i);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1ivEXT_c", XS_OpenGL__Modern_glVertexAttribI1iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1iv_c", XS_OpenGL__Modern_glVertexAttribI1iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1ivEXT_p", XS_OpenGL__Modern_glVertexAttribI1iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1iv_p", XS_OpenGL__Modern_glVertexAttribI1iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1ui", XS_OpenGL__Modern_glVertexAttribI1ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1uiEXT", XS_OpenGL__Modern_glVertexAttribI1ui);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1uivEXT_c", XS_OpenGL__Modern_glVertexAttribI1uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1uiv_c", XS_OpenGL__Modern_glVertexAttribI1uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1uivEXT_p", XS_OpenGL__Modern_glVertexAttribI1uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI1uiv_p", XS_OpenGL__Modern_glVertexAttribI1uiv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2i", XS_OpenGL__Modern_glVertexAttribI2i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2iEXT", XS_OpenGL__Modern_glVertexAttribI2i);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2ivEXT_c", XS_OpenGL__Modern_glVertexAttribI2iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2iv_c", XS_OpenGL__Modern_glVertexAttribI2iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2ivEXT_p", XS_OpenGL__Modern_glVertexAttribI2iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2iv_p", XS_OpenGL__Modern_glVertexAttribI2iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2ui", XS_OpenGL__Modern_glVertexAttribI2ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2uiEXT", XS_OpenGL__Modern_glVertexAttribI2ui);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2uivEXT_c", XS_OpenGL__Modern_glVertexAttribI2uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2uiv_c", XS_OpenGL__Modern_glVertexAttribI2uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2uivEXT_p", XS_OpenGL__Modern_glVertexAttribI2uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI2uiv_p", XS_OpenGL__Modern_glVertexAttribI2uiv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3i", XS_OpenGL__Modern_glVertexAttribI3i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3iEXT", XS_OpenGL__Modern_glVertexAttribI3i);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3ivEXT_c", XS_OpenGL__Modern_glVertexAttribI3iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3iv_c", XS_OpenGL__Modern_glVertexAttribI3iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3ivEXT_p", XS_OpenGL__Modern_glVertexAttribI3iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3iv_p", XS_OpenGL__Modern_glVertexAttribI3iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3ui", XS_OpenGL__Modern_glVertexAttribI3ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3uiEXT", XS_OpenGL__Modern_glVertexAttribI3ui);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3uivEXT_c", XS_OpenGL__Modern_glVertexAttribI3uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3uiv_c", XS_OpenGL__Modern_glVertexAttribI3uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3uivEXT_p", XS_OpenGL__Modern_glVertexAttribI3uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI3uiv_p", XS_OpenGL__Modern_glVertexAttribI3uiv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4bvEXT_c", XS_OpenGL__Modern_glVertexAttribI4bv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4bv_c", XS_OpenGL__Modern_glVertexAttribI4bv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4bvEXT_p", XS_OpenGL__Modern_glVertexAttribI4bv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4bv_p", XS_OpenGL__Modern_glVertexAttribI4bv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4i", XS_OpenGL__Modern_glVertexAttribI4i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4iEXT", XS_OpenGL__Modern_glVertexAttribI4i);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4ivEXT_c", XS_OpenGL__Modern_glVertexAttribI4iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4iv_c", XS_OpenGL__Modern_glVertexAttribI4iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4ivEXT_p", XS_OpenGL__Modern_glVertexAttribI4iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4iv_p", XS_OpenGL__Modern_glVertexAttribI4iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4svEXT_c", XS_OpenGL__Modern_glVertexAttribI4sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4sv_c", XS_OpenGL__Modern_glVertexAttribI4sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4svEXT_p", XS_OpenGL__Modern_glVertexAttribI4sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4sv_p", XS_OpenGL__Modern_glVertexAttribI4sv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4ubvEXT_c", XS_OpenGL__Modern_glVertexAttribI4ubv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4ubv_c", XS_OpenGL__Modern_glVertexAttribI4ubv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4ubvEXT_p", XS_OpenGL__Modern_glVertexAttribI4ubv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4ubv_p", XS_OpenGL__Modern_glVertexAttribI4ubv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4ui", XS_OpenGL__Modern_glVertexAttribI4ui);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4uiEXT", XS_OpenGL__Modern_glVertexAttribI4ui);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4uivEXT_c", XS_OpenGL__Modern_glVertexAttribI4uiv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4uiv_c", XS_OpenGL__Modern_glVertexAttribI4uiv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4uivEXT_p", XS_OpenGL__Modern_glVertexAttribI4uiv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4uiv_p", XS_OpenGL__Modern_glVertexAttribI4uiv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4usvEXT_c", XS_OpenGL__Modern_glVertexAttribI4usv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4usv_c", XS_OpenGL__Modern_glVertexAttribI4usv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4usvEXT_p", XS_OpenGL__Modern_glVertexAttribI4usv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribI4usv_p", XS_OpenGL__Modern_glVertexAttribI4usv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttribIFormat", XS_OpenGL__Modern_glVertexAttribIFormat);
        newXS_deffile("OpenGL::Modern::glVertexAttribIFormatNV", XS_OpenGL__Modern_glVertexAttribIFormatNV);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribIPointerEXT_c", XS_OpenGL__Modern_glVertexAttribIPointer_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribIPointer_c", XS_OpenGL__Modern_glVertexAttribIPointer_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL1d", XS_OpenGL__Modern_glVertexAttribL1d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL1dEXT", XS_OpenGL__Modern_glVertexAttribL1d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL1dvEXT_c", XS_OpenGL__Modern_glVertexAttribL1dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL1dv_c", XS_OpenGL__Modern_glVertexAttribL1dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL1dvEXT_p", XS_OpenGL__Modern_glVertexAttribL1dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL1dv_p", XS_OpenGL__Modern_glVertexAttribL1dv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttribL1i64NV", XS_OpenGL__Modern_glVertexAttribL1i64NV);
        newXS_deffile("OpenGL::Modern::glVertexAttribL1i64vNV_c", XS_OpenGL__Modern_glVertexAttribL1i64vNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribL1i64vNV_p", XS_OpenGL__Modern_glVertexAttribL1i64vNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribL1ui64ARB", XS_OpenGL__Modern_glVertexAttribL1ui64ARB);
        newXS_deffile("OpenGL::Modern::glVertexAttribL1ui64NV", XS_OpenGL__Modern_glVertexAttribL1ui64NV);
        newXS_deffile("OpenGL::Modern::glVertexAttribL1ui64vARB_c", XS_OpenGL__Modern_glVertexAttribL1ui64vARB_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribL1ui64vNV_c", XS_OpenGL__Modern_glVertexAttribL1ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribL1ui64vNV_p", XS_OpenGL__Modern_glVertexAttribL1ui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL2d", XS_OpenGL__Modern_glVertexAttribL2d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL2dEXT", XS_OpenGL__Modern_glVertexAttribL2d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL2dvEXT_c", XS_OpenGL__Modern_glVertexAttribL2dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL2dv_c", XS_OpenGL__Modern_glVertexAttribL2dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL2dvEXT_p", XS_OpenGL__Modern_glVertexAttribL2dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL2dv_p", XS_OpenGL__Modern_glVertexAttribL2dv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttribL2i64NV", XS_OpenGL__Modern_glVertexAttribL2i64NV);
        newXS_deffile("OpenGL::Modern::glVertexAttribL2i64vNV_c", XS_OpenGL__Modern_glVertexAttribL2i64vNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribL2i64vNV_p", XS_OpenGL__Modern_glVertexAttribL2i64vNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribL2ui64NV", XS_OpenGL__Modern_glVertexAttribL2ui64NV);
        newXS_deffile("OpenGL::Modern::glVertexAttribL2ui64vNV_c", XS_OpenGL__Modern_glVertexAttribL2ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribL2ui64vNV_p", XS_OpenGL__Modern_glVertexAttribL2ui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL3d", XS_OpenGL__Modern_glVertexAttribL3d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL3dEXT", XS_OpenGL__Modern_glVertexAttribL3d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL3dvEXT_c", XS_OpenGL__Modern_glVertexAttribL3dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL3dv_c", XS_OpenGL__Modern_glVertexAttribL3dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL3dvEXT_p", XS_OpenGL__Modern_glVertexAttribL3dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL3dv_p", XS_OpenGL__Modern_glVertexAttribL3dv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttribL3i64NV", XS_OpenGL__Modern_glVertexAttribL3i64NV);
        newXS_deffile("OpenGL::Modern::glVertexAttribL3i64vNV_c", XS_OpenGL__Modern_glVertexAttribL3i64vNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribL3i64vNV_p", XS_OpenGL__Modern_glVertexAttribL3i64vNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribL3ui64NV", XS_OpenGL__Modern_glVertexAttribL3ui64NV);
        newXS_deffile("OpenGL::Modern::glVertexAttribL3ui64vNV_c", XS_OpenGL__Modern_glVertexAttribL3ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribL3ui64vNV_p", XS_OpenGL__Modern_glVertexAttribL3ui64vNV_p);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL4d", XS_OpenGL__Modern_glVertexAttribL4d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL4dEXT", XS_OpenGL__Modern_glVertexAttribL4d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL4dvEXT_c", XS_OpenGL__Modern_glVertexAttribL4dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL4dv_c", XS_OpenGL__Modern_glVertexAttribL4dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL4dvEXT_p", XS_OpenGL__Modern_glVertexAttribL4dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribL4dv_p", XS_OpenGL__Modern_glVertexAttribL4dv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttribL4i64NV", XS_OpenGL__Modern_glVertexAttribL4i64NV);
        newXS_deffile("OpenGL::Modern::glVertexAttribL4i64vNV_c", XS_OpenGL__Modern_glVertexAttribL4i64vNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribL4i64vNV_p", XS_OpenGL__Modern_glVertexAttribL4i64vNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribL4ui64NV", XS_OpenGL__Modern_glVertexAttribL4ui64NV);
        newXS_deffile("OpenGL::Modern::glVertexAttribL4ui64vNV_c", XS_OpenGL__Modern_glVertexAttribL4ui64vNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribL4ui64vNV_p", XS_OpenGL__Modern_glVertexAttribL4ui64vNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribLFormat", XS_OpenGL__Modern_glVertexAttribLFormat);
        newXS_deffile("OpenGL::Modern::glVertexAttribLFormatNV", XS_OpenGL__Modern_glVertexAttribLFormatNV);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribLPointerEXT_c", XS_OpenGL__Modern_glVertexAttribLPointer_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribLPointer_c", XS_OpenGL__Modern_glVertexAttribLPointer_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttribP1ui", XS_OpenGL__Modern_glVertexAttribP1ui);
        newXS_deffile("OpenGL::Modern::glVertexAttribP1uiv_c", XS_OpenGL__Modern_glVertexAttribP1uiv_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribP1uiv_p", XS_OpenGL__Modern_glVertexAttribP1uiv_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribP2ui", XS_OpenGL__Modern_glVertexAttribP2ui);
        newXS_deffile("OpenGL::Modern::glVertexAttribP2uiv_c", XS_OpenGL__Modern_glVertexAttribP2uiv_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribP2uiv_p", XS_OpenGL__Modern_glVertexAttribP2uiv_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribP3ui", XS_OpenGL__Modern_glVertexAttribP3ui);
        newXS_deffile("OpenGL::Modern::glVertexAttribP3uiv_c", XS_OpenGL__Modern_glVertexAttribP3uiv_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribP3uiv_p", XS_OpenGL__Modern_glVertexAttribP3uiv_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribP4ui", XS_OpenGL__Modern_glVertexAttribP4ui);
        newXS_deffile("OpenGL::Modern::glVertexAttribP4uiv_c", XS_OpenGL__Modern_glVertexAttribP4uiv_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribP4uiv_p", XS_OpenGL__Modern_glVertexAttribP4uiv_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribParameteriAMD", XS_OpenGL__Modern_glVertexAttribParameteriAMD);
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribPointerARB_c", XS_OpenGL__Modern_glVertexAttribPointer_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glVertexAttribPointer_c", XS_OpenGL__Modern_glVertexAttribPointer_c);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glVertexAttribPointerNV_c", XS_OpenGL__Modern_glVertexAttribPointerNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs1dvNV_c", XS_OpenGL__Modern_glVertexAttribs1dvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs1dvNV_p", XS_OpenGL__Modern_glVertexAttribs1dvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs1fvNV_c", XS_OpenGL__Modern_glVertexAttribs1fvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs1fvNV_p", XS_OpenGL__Modern_glVertexAttribs1fvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs1hvNV_c", XS_OpenGL__Modern_glVertexAttribs1hvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs1hvNV_p", XS_OpenGL__Modern_glVertexAttribs1hvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs1svNV_c", XS_OpenGL__Modern_glVertexAttribs1svNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs1svNV_p", XS_OpenGL__Modern_glVertexAttribs1svNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs2dvNV_c", XS_OpenGL__Modern_glVertexAttribs2dvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs2dvNV_p", XS_OpenGL__Modern_glVertexAttribs2dvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs2fvNV_c", XS_OpenGL__Modern_glVertexAttribs2fvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs2fvNV_p", XS_OpenGL__Modern_glVertexAttribs2fvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs2hvNV_c", XS_OpenGL__Modern_glVertexAttribs2hvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs2hvNV_p", XS_OpenGL__Modern_glVertexAttribs2hvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs2svNV_c", XS_OpenGL__Modern_glVertexAttribs2svNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs2svNV_p", XS_OpenGL__Modern_glVertexAttribs2svNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs3dvNV_c", XS_OpenGL__Modern_glVertexAttribs3dvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs3dvNV_p", XS_OpenGL__Modern_glVertexAttribs3dvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs3fvNV_c", XS_OpenGL__Modern_glVertexAttribs3fvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs3fvNV_p", XS_OpenGL__Modern_glVertexAttribs3fvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs3hvNV_c", XS_OpenGL__Modern_glVertexAttribs3hvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs3hvNV_p", XS_OpenGL__Modern_glVertexAttribs3hvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs3svNV_c", XS_OpenGL__Modern_glVertexAttribs3svNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs3svNV_p", XS_OpenGL__Modern_glVertexAttribs3svNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs4dvNV_c", XS_OpenGL__Modern_glVertexAttribs4dvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs4dvNV_p", XS_OpenGL__Modern_glVertexAttribs4dvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs4fvNV_c", XS_OpenGL__Modern_glVertexAttribs4fvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs4fvNV_p", XS_OpenGL__Modern_glVertexAttribs4fvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs4hvNV_c", XS_OpenGL__Modern_glVertexAttribs4hvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs4hvNV_p", XS_OpenGL__Modern_glVertexAttribs4hvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs4svNV_c", XS_OpenGL__Modern_glVertexAttribs4svNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs4svNV_p", XS_OpenGL__Modern_glVertexAttribs4svNV_p);
        newXS_deffile("OpenGL::Modern::glVertexAttribs4ubvNV_c", XS_OpenGL__Modern_glVertexAttribs4ubvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexAttribs4ubvNV_p", XS_OpenGL__Modern_glVertexAttribs4ubvNV_p);
        newXS_deffile("OpenGL::Modern::glVertexBindingDivisor", XS_OpenGL__Modern_glVertexBindingDivisor);
        newXS_deffile("OpenGL::Modern::glVertexBlendARB", XS_OpenGL__Modern_glVertexBlendARB);
        newXS_deffile("OpenGL::Modern::glVertexBlendEnvfATI", XS_OpenGL__Modern_glVertexBlendEnvfATI);
        newXS_deffile("OpenGL::Modern::glVertexBlendEnviATI", XS_OpenGL__Modern_glVertexBlendEnviATI);
        newXS_deffile("OpenGL::Modern::glVertexFormatNV", XS_OpenGL__Modern_glVertexFormatNV);
        newXS_deffile("OpenGL::Modern::glVertexP2ui", XS_OpenGL__Modern_glVertexP2ui);
        newXS_deffile("OpenGL::Modern::glVertexP2uiv_c", XS_OpenGL__Modern_glVertexP2uiv_c);
        newXS_deffile("OpenGL::Modern::glVertexP2uiv_p", XS_OpenGL__Modern_glVertexP2uiv_p);
        newXS_deffile("OpenGL::Modern::glVertexP3ui", XS_OpenGL__Modern_glVertexP3ui);
        newXS_deffile("OpenGL::Modern::glVertexP3uiv_c", XS_OpenGL__Modern_glVertexP3uiv_c);
        newXS_deffile("OpenGL::Modern::glVertexP3uiv_p", XS_OpenGL__Modern_glVertexP3uiv_p);
        newXS_deffile("OpenGL::Modern::glVertexP4ui", XS_OpenGL__Modern_glVertexP4ui);
        newXS_deffile("OpenGL::Modern::glVertexP4uiv_c", XS_OpenGL__Modern_glVertexP4uiv_c);
        newXS_deffile("OpenGL::Modern::glVertexP4uiv_p", XS_OpenGL__Modern_glVertexP4uiv_p);
        newXS_deffile("OpenGL::Modern::glVertexPointer_c", XS_OpenGL__Modern_glVertexPointer_c);
        newXS_deffile("OpenGL::Modern::glVertexPointerEXT_c", XS_OpenGL__Modern_glVertexPointerEXT_c);
        newXS_deffile("OpenGL::Modern::glVertexPointerListIBM_c", XS_OpenGL__Modern_glVertexPointerListIBM_c);
        newXS_deffile("OpenGL::Modern::glVertexPointervINTEL_c", XS_OpenGL__Modern_glVertexPointervINTEL_c);
        newXS_deffile("OpenGL::Modern::glVertexStream1dATI", XS_OpenGL__Modern_glVertexStream1dATI);
        newXS_deffile("OpenGL::Modern::glVertexStream1dvATI_c", XS_OpenGL__Modern_glVertexStream1dvATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream1dvATI_p", XS_OpenGL__Modern_glVertexStream1dvATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream1fATI", XS_OpenGL__Modern_glVertexStream1fATI);
        newXS_deffile("OpenGL::Modern::glVertexStream1fvATI_c", XS_OpenGL__Modern_glVertexStream1fvATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream1fvATI_p", XS_OpenGL__Modern_glVertexStream1fvATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream1iATI", XS_OpenGL__Modern_glVertexStream1iATI);
        newXS_deffile("OpenGL::Modern::glVertexStream1ivATI_c", XS_OpenGL__Modern_glVertexStream1ivATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream1ivATI_p", XS_OpenGL__Modern_glVertexStream1ivATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream1sATI", XS_OpenGL__Modern_glVertexStream1sATI);
        newXS_deffile("OpenGL::Modern::glVertexStream1svATI_c", XS_OpenGL__Modern_glVertexStream1svATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream1svATI_p", XS_OpenGL__Modern_glVertexStream1svATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream2dATI", XS_OpenGL__Modern_glVertexStream2dATI);
        newXS_deffile("OpenGL::Modern::glVertexStream2dvATI_c", XS_OpenGL__Modern_glVertexStream2dvATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream2dvATI_p", XS_OpenGL__Modern_glVertexStream2dvATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream2fATI", XS_OpenGL__Modern_glVertexStream2fATI);
        newXS_deffile("OpenGL::Modern::glVertexStream2fvATI_c", XS_OpenGL__Modern_glVertexStream2fvATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream2fvATI_p", XS_OpenGL__Modern_glVertexStream2fvATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream2iATI", XS_OpenGL__Modern_glVertexStream2iATI);
        newXS_deffile("OpenGL::Modern::glVertexStream2ivATI_c", XS_OpenGL__Modern_glVertexStream2ivATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream2ivATI_p", XS_OpenGL__Modern_glVertexStream2ivATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream2sATI", XS_OpenGL__Modern_glVertexStream2sATI);
        newXS_deffile("OpenGL::Modern::glVertexStream2svATI_c", XS_OpenGL__Modern_glVertexStream2svATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream2svATI_p", XS_OpenGL__Modern_glVertexStream2svATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream3dATI", XS_OpenGL__Modern_glVertexStream3dATI);
        newXS_deffile("OpenGL::Modern::glVertexStream3dvATI_c", XS_OpenGL__Modern_glVertexStream3dvATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream3dvATI_p", XS_OpenGL__Modern_glVertexStream3dvATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream3fATI", XS_OpenGL__Modern_glVertexStream3fATI);
        newXS_deffile("OpenGL::Modern::glVertexStream3fvATI_c", XS_OpenGL__Modern_glVertexStream3fvATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream3fvATI_p", XS_OpenGL__Modern_glVertexStream3fvATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream3iATI", XS_OpenGL__Modern_glVertexStream3iATI);
        newXS_deffile("OpenGL::Modern::glVertexStream3ivATI_c", XS_OpenGL__Modern_glVertexStream3ivATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream3ivATI_p", XS_OpenGL__Modern_glVertexStream3ivATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream3sATI", XS_OpenGL__Modern_glVertexStream3sATI);
        newXS_deffile("OpenGL::Modern::glVertexStream3svATI_c", XS_OpenGL__Modern_glVertexStream3svATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream3svATI_p", XS_OpenGL__Modern_glVertexStream3svATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream4dATI", XS_OpenGL__Modern_glVertexStream4dATI);
        newXS_deffile("OpenGL::Modern::glVertexStream4dvATI_c", XS_OpenGL__Modern_glVertexStream4dvATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream4dvATI_p", XS_OpenGL__Modern_glVertexStream4dvATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream4fATI", XS_OpenGL__Modern_glVertexStream4fATI);
        newXS_deffile("OpenGL::Modern::glVertexStream4fvATI_c", XS_OpenGL__Modern_glVertexStream4fvATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream4fvATI_p", XS_OpenGL__Modern_glVertexStream4fvATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream4iATI", XS_OpenGL__Modern_glVertexStream4iATI);
        newXS_deffile("OpenGL::Modern::glVertexStream4ivATI_c", XS_OpenGL__Modern_glVertexStream4ivATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream4ivATI_p", XS_OpenGL__Modern_glVertexStream4ivATI_p);
        newXS_deffile("OpenGL::Modern::glVertexStream4sATI", XS_OpenGL__Modern_glVertexStream4sATI);
        newXS_deffile("OpenGL::Modern::glVertexStream4svATI_c", XS_OpenGL__Modern_glVertexStream4svATI_c);
        newXS_deffile("OpenGL::Modern::glVertexStream4svATI_p", XS_OpenGL__Modern_glVertexStream4svATI_p);
        newXS_deffile("OpenGL::Modern::glVertexWeightPointerEXT_c", XS_OpenGL__Modern_glVertexWeightPointerEXT_c);
        newXS_deffile("OpenGL::Modern::glVertexWeightfEXT", XS_OpenGL__Modern_glVertexWeightfEXT);
        newXS_deffile("OpenGL::Modern::glVertexWeightfvEXT_c", XS_OpenGL__Modern_glVertexWeightfvEXT_c);
        newXS_deffile("OpenGL::Modern::glVertexWeightfvEXT_p", XS_OpenGL__Modern_glVertexWeightfvEXT_p);
        newXS_deffile("OpenGL::Modern::glVertexWeighthNV", XS_OpenGL__Modern_glVertexWeighthNV);
        newXS_deffile("OpenGL::Modern::glVertexWeighthvNV_c", XS_OpenGL__Modern_glVertexWeighthvNV_c);
        newXS_deffile("OpenGL::Modern::glVertexWeighthvNV_p", XS_OpenGL__Modern_glVertexWeighthvNV_p);
        newXS_deffile("OpenGL::Modern::glVideoCaptureNV_c", XS_OpenGL__Modern_glVideoCaptureNV_c);
        newXS_deffile("OpenGL::Modern::glVideoCaptureStreamParameterdvNV_c", XS_OpenGL__Modern_glVideoCaptureStreamParameterdvNV_c);
        newXS_deffile("OpenGL::Modern::glVideoCaptureStreamParameterfvNV_c", XS_OpenGL__Modern_glVideoCaptureStreamParameterfvNV_c);
        newXS_deffile("OpenGL::Modern::glVideoCaptureStreamParameterivNV_c", XS_OpenGL__Modern_glVideoCaptureStreamParameterivNV_c);
        newXS_deffile("OpenGL::Modern::glViewport", XS_OpenGL__Modern_glViewport);
        cv = newXS_deffile("OpenGL::Modern::glViewportArrayvNV_c", XS_OpenGL__Modern_glViewportArrayv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glViewportArrayv_c", XS_OpenGL__Modern_glViewportArrayv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glViewportArrayvNV_p", XS_OpenGL__Modern_glViewportArrayv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glViewportArrayv_p", XS_OpenGL__Modern_glViewportArrayv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glViewportIndexedf", XS_OpenGL__Modern_glViewportIndexedf);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glViewportIndexedfNV", XS_OpenGL__Modern_glViewportIndexedf);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glViewportIndexedfvNV_c", XS_OpenGL__Modern_glViewportIndexedfv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glViewportIndexedfv_c", XS_OpenGL__Modern_glViewportIndexedfv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glViewportIndexedfvNV_p", XS_OpenGL__Modern_glViewportIndexedfv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glViewportIndexedfv_p", XS_OpenGL__Modern_glViewportIndexedfv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glViewportPositionWScaleNV", XS_OpenGL__Modern_glViewportPositionWScaleNV);
        newXS_deffile("OpenGL::Modern::glViewportSwizzleNV", XS_OpenGL__Modern_glViewportSwizzleNV);
        newXS_deffile("OpenGL::Modern::glWaitSemaphoreEXT_c", XS_OpenGL__Modern_glWaitSemaphoreEXT_c);
        newXS_deffile("OpenGL::Modern::glWaitSemaphoreui64NVX_c", XS_OpenGL__Modern_glWaitSemaphoreui64NVX_c);
        newXS_deffile("OpenGL::Modern::glWaitSemaphoreui64NVX_p", XS_OpenGL__Modern_glWaitSemaphoreui64NVX_p);
        cv = newXS_deffile("OpenGL::Modern::glWaitSync", XS_OpenGL__Modern_glWaitSync);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWaitSyncAPPLE", XS_OpenGL__Modern_glWaitSync);
        XSANY.any_i32 = 1;
        newXS_deffile("OpenGL::Modern::glWaitVkSemaphoreNV", XS_OpenGL__Modern_glWaitVkSemaphoreNV);
        newXS_deffile("OpenGL::Modern::glWeightPathsNV_c", XS_OpenGL__Modern_glWeightPathsNV_c);
        newXS_deffile("OpenGL::Modern::glWeightPathsNV_p", XS_OpenGL__Modern_glWeightPathsNV_p);
        newXS_deffile("OpenGL::Modern::glWeightPointerARB_c", XS_OpenGL__Modern_glWeightPointerARB_c);
        newXS_deffile("OpenGL::Modern::glWeightPointerOES_c", XS_OpenGL__Modern_glWeightPointerOES_c);
        newXS_deffile("OpenGL::Modern::glWeightbvARB_c", XS_OpenGL__Modern_glWeightbvARB_c);
        newXS_deffile("OpenGL::Modern::glWeightbvARB_p", XS_OpenGL__Modern_glWeightbvARB_p);
        newXS_deffile("OpenGL::Modern::glWeightdvARB_c", XS_OpenGL__Modern_glWeightdvARB_c);
        newXS_deffile("OpenGL::Modern::glWeightdvARB_p", XS_OpenGL__Modern_glWeightdvARB_p);
        newXS_deffile("OpenGL::Modern::glWeightfvARB_c", XS_OpenGL__Modern_glWeightfvARB_c);
        newXS_deffile("OpenGL::Modern::glWeightfvARB_p", XS_OpenGL__Modern_glWeightfvARB_p);
        newXS_deffile("OpenGL::Modern::glWeightivARB_c", XS_OpenGL__Modern_glWeightivARB_c);
        newXS_deffile("OpenGL::Modern::glWeightivARB_p", XS_OpenGL__Modern_glWeightivARB_p);
        newXS_deffile("OpenGL::Modern::glWeightsvARB_c", XS_OpenGL__Modern_glWeightsvARB_c);
        newXS_deffile("OpenGL::Modern::glWeightsvARB_p", XS_OpenGL__Modern_glWeightsvARB_p);
        newXS_deffile("OpenGL::Modern::glWeightubvARB_c", XS_OpenGL__Modern_glWeightubvARB_c);
        newXS_deffile("OpenGL::Modern::glWeightubvARB_p", XS_OpenGL__Modern_glWeightubvARB_p);
        newXS_deffile("OpenGL::Modern::glWeightuivARB_c", XS_OpenGL__Modern_glWeightuivARB_c);
        newXS_deffile("OpenGL::Modern::glWeightuivARB_p", XS_OpenGL__Modern_glWeightuivARB_p);
        newXS_deffile("OpenGL::Modern::glWeightusvARB_c", XS_OpenGL__Modern_glWeightusvARB_c);
        newXS_deffile("OpenGL::Modern::glWeightusvARB_p", XS_OpenGL__Modern_glWeightusvARB_p);
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2d", XS_OpenGL__Modern_glWindowPos2d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2dARB", XS_OpenGL__Modern_glWindowPos2d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2dMESA", XS_OpenGL__Modern_glWindowPos2d);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2dvARB_c", XS_OpenGL__Modern_glWindowPos2dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2dvMESA_c", XS_OpenGL__Modern_glWindowPos2dv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2dv_c", XS_OpenGL__Modern_glWindowPos2dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2dvARB_p", XS_OpenGL__Modern_glWindowPos2dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2dvMESA_p", XS_OpenGL__Modern_glWindowPos2dv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2dv_p", XS_OpenGL__Modern_glWindowPos2dv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2f", XS_OpenGL__Modern_glWindowPos2f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2fARB", XS_OpenGL__Modern_glWindowPos2f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2fMESA", XS_OpenGL__Modern_glWindowPos2f);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2fvARB_c", XS_OpenGL__Modern_glWindowPos2fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2fvMESA_c", XS_OpenGL__Modern_glWindowPos2fv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2fv_c", XS_OpenGL__Modern_glWindowPos2fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2fvARB_p", XS_OpenGL__Modern_glWindowPos2fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2fvMESA_p", XS_OpenGL__Modern_glWindowPos2fv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2fv_p", XS_OpenGL__Modern_glWindowPos2fv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2i", XS_OpenGL__Modern_glWindowPos2i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2iARB", XS_OpenGL__Modern_glWindowPos2i);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2iMESA", XS_OpenGL__Modern_glWindowPos2i);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2ivARB_c", XS_OpenGL__Modern_glWindowPos2iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2ivMESA_c", XS_OpenGL__Modern_glWindowPos2iv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2iv_c", XS_OpenGL__Modern_glWindowPos2iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2ivARB_p", XS_OpenGL__Modern_glWindowPos2iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2ivMESA_p", XS_OpenGL__Modern_glWindowPos2iv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2iv_p", XS_OpenGL__Modern_glWindowPos2iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2s", XS_OpenGL__Modern_glWindowPos2s);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2sARB", XS_OpenGL__Modern_glWindowPos2s);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2sMESA", XS_OpenGL__Modern_glWindowPos2s);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2svARB_c", XS_OpenGL__Modern_glWindowPos2sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2svMESA_c", XS_OpenGL__Modern_glWindowPos2sv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2sv_c", XS_OpenGL__Modern_glWindowPos2sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2svARB_p", XS_OpenGL__Modern_glWindowPos2sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2svMESA_p", XS_OpenGL__Modern_glWindowPos2sv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos2sv_p", XS_OpenGL__Modern_glWindowPos2sv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3d", XS_OpenGL__Modern_glWindowPos3d);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3dARB", XS_OpenGL__Modern_glWindowPos3d);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3dMESA", XS_OpenGL__Modern_glWindowPos3d);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3dvARB_c", XS_OpenGL__Modern_glWindowPos3dv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3dvMESA_c", XS_OpenGL__Modern_glWindowPos3dv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3dv_c", XS_OpenGL__Modern_glWindowPos3dv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3dvARB_p", XS_OpenGL__Modern_glWindowPos3dv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3dvMESA_p", XS_OpenGL__Modern_glWindowPos3dv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3dv_p", XS_OpenGL__Modern_glWindowPos3dv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3f", XS_OpenGL__Modern_glWindowPos3f);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3fARB", XS_OpenGL__Modern_glWindowPos3f);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3fMESA", XS_OpenGL__Modern_glWindowPos3f);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3fvARB_c", XS_OpenGL__Modern_glWindowPos3fv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3fvMESA_c", XS_OpenGL__Modern_glWindowPos3fv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3fv_c", XS_OpenGL__Modern_glWindowPos3fv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3fvARB_p", XS_OpenGL__Modern_glWindowPos3fv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3fvMESA_p", XS_OpenGL__Modern_glWindowPos3fv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3fv_p", XS_OpenGL__Modern_glWindowPos3fv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3i", XS_OpenGL__Modern_glWindowPos3i);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3iARB", XS_OpenGL__Modern_glWindowPos3i);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3iMESA", XS_OpenGL__Modern_glWindowPos3i);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3ivARB_c", XS_OpenGL__Modern_glWindowPos3iv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3ivMESA_c", XS_OpenGL__Modern_glWindowPos3iv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3iv_c", XS_OpenGL__Modern_glWindowPos3iv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3ivARB_p", XS_OpenGL__Modern_glWindowPos3iv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3ivMESA_p", XS_OpenGL__Modern_glWindowPos3iv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3iv_p", XS_OpenGL__Modern_glWindowPos3iv_p);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3s", XS_OpenGL__Modern_glWindowPos3s);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3sARB", XS_OpenGL__Modern_glWindowPos3s);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3sMESA", XS_OpenGL__Modern_glWindowPos3s);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3svARB_c", XS_OpenGL__Modern_glWindowPos3sv_c);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3svMESA_c", XS_OpenGL__Modern_glWindowPos3sv_c);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3sv_c", XS_OpenGL__Modern_glWindowPos3sv_c);
        XSANY.any_i32 = 0;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3svARB_p", XS_OpenGL__Modern_glWindowPos3sv_p);
        XSANY.any_i32 = 1;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3svMESA_p", XS_OpenGL__Modern_glWindowPos3sv_p);
        XSANY.any_i32 = 2;
        cv = newXS_deffile("OpenGL::Modern::glWindowPos3sv_p", XS_OpenGL__Modern_glWindowPos3sv_p);
        XSANY.any_i32 = 0;
        newXS_deffile("OpenGL::Modern::glWindowPos4dMESA", XS_OpenGL__Modern_glWindowPos4dMESA);
        newXS_deffile("OpenGL::Modern::glWindowPos4dvMESA_c", XS_OpenGL__Modern_glWindowPos4dvMESA_c);
        newXS_deffile("OpenGL::Modern::glWindowPos4dvMESA_p", XS_OpenGL__Modern_glWindowPos4dvMESA_p);
        newXS_deffile("OpenGL::Modern::glWindowPos4fMESA", XS_OpenGL__Modern_glWindowPos4fMESA);
        newXS_deffile("OpenGL::Modern::glWindowPos4fvMESA_c", XS_OpenGL__Modern_glWindowPos4fvMESA_c);
        newXS_deffile("OpenGL::Modern::glWindowPos4fvMESA_p", XS_OpenGL__Modern_glWindowPos4fvMESA_p);
        newXS_deffile("OpenGL::Modern::glWindowPos4iMESA", XS_OpenGL__Modern_glWindowPos4iMESA);
        newXS_deffile("OpenGL::Modern::glWindowPos4ivMESA_c", XS_OpenGL__Modern_glWindowPos4ivMESA_c);
        newXS_deffile("OpenGL::Modern::glWindowPos4ivMESA_p", XS_OpenGL__Modern_glWindowPos4ivMESA_p);
        newXS_deffile("OpenGL::Modern::glWindowPos4sMESA", XS_OpenGL__Modern_glWindowPos4sMESA);
        newXS_deffile("OpenGL::Modern::glWindowPos4svMESA_c", XS_OpenGL__Modern_glWindowPos4svMESA_c);
        newXS_deffile("OpenGL::Modern::glWindowPos4svMESA_p", XS_OpenGL__Modern_glWindowPos4svMESA_p);
        newXS_deffile("OpenGL::Modern::glWindowRectanglesEXT_c", XS_OpenGL__Modern_glWindowRectanglesEXT_c);
        newXS_deffile("OpenGL::Modern::glWindowRectanglesEXT_p", XS_OpenGL__Modern_glWindowRectanglesEXT_p);
        newXS_deffile("OpenGL::Modern::glWriteMaskEXT", XS_OpenGL__Modern_glWriteMaskEXT);
#if PERL_VERSION_LE(5, 21, 5)
#  if PERL_VERSION_GE(5, 9, 0)
    if (PL_unitcheckav)
        call_list(PL_scopestack_ix, PL_unitcheckav);
#  endif
    XSRETURN_YES;
#else
    Perl_xs_boot_epilog(aTHX_ ax);
#endif
}

#ifdef __cplusplus
}
#endif
