/*
 * This file was generated automatically by ExtUtils::ParseXS version 3.63 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

/* simple backcompat versions of the TARGx() macros with no optimisation */
#ifndef TARGi
#  define TARGi(iv, do_taint) sv_setiv_mg(TARG, iv)
#  define TARGu(uv, do_taint) sv_setuv_mg(TARG, uv)
#  define TARGn(nv, do_taint) sv_setnv_mg(TARG, nv)
#endif

#line 180 "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 240 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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();
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 297 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 318 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 339 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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);
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 378 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 404 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 421 "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 440 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 467 "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 494 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 517 "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 540 "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 561 "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 583 "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 606 "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 633 "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 656 "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 683 "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 714 "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 751 "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 794 "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 816 "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 839 "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 862 "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 883 "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 902 "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 923 "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 950 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 982 "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 1009 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 1040 "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 1068 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 1100 "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 1128 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 1151 "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 1182 "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 1229 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 1281 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 1350 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 1422 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 1445 "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 1468 "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 1491 "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 1511 "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 1535 "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 1556 "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 1575 "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 1596 "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 1617 "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 1638 "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 1662 "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 1685 "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 1708 "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 1733 "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 1752 "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 1774 "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 1793 "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 1814 "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 1835 "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 1860 "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 1885 "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 1909 "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 1935 "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 1963 "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 1993 "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 2020 "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 2046 "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 2077 "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 2103 "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 2131 "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 2152 "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 2175 "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 2198 "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 2221 "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 2254 "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 2287 "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 2312 "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 2336 "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 2361 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 2388 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 2415 "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 2438 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 2464 "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 2485 "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 2508 "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 2531 "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 2554 "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 2577 "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 2602 "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 2626 "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 2647 "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 2674 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 2699 "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 2722 "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 2747 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 2774 "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 2798 "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 2821 "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 2844 "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 2865 "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 2886 "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 2907 "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 2928 "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 2955 "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 2984 "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 3005 "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 3032 "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 3061 "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 3086 "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 3118 "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 3138 "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 3166 "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 3188 "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 3209 "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 3233 "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 3256 "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 3282 "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 3307 "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 3331 "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 3354 "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 3376 "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 3404 "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 3431 "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 3461 "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 3490 "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 3516 "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 3541 "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 3564 "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 3604 "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 3643 "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 3686 "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 3725 "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 3768 "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 3795 "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 3820 "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 3848 "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 3875 "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 3906 "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 3931 "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 3952 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 3982 "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 4011 "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 4038 "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 4066 "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 4087 "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 4107 "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 4131 "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 4155 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 4180 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 4207 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 4234 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 4260 "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 4280 "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 4306 "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 4335 "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 4368 "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 4395 "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 4420 "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 4446 "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 4471 "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 4497 "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 4522 "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 4548 "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 4574 "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 4601 "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 4628 "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 4655 "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 4675 "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 4696 "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 4717 "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 4738 "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 4759 "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 4779 "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 4808 "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 4837 "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 4870 "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 4903 "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 4932 "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 4959 "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 4987 "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 5014 "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 5042 "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 5069 "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 5097 "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 5122 "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 5146 "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 5166 "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 5196 "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 5238 "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 5260 "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 5281 "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 5302 "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 5327 "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 5354 "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 5382 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 5408 "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 5430 "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 5452 "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 5475 "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 5498 "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 5521 "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 5544 "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 5567 "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 5591 "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 5611 "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 5631 "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 5655 "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 5675 "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 5695 "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 5719 "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 5750 "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 5773 "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 5799 "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 5819 "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 5839 "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 5864 "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 5885 "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 5906 "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 5930 "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 5950 "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 5970 "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 5994 "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 6014 "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 6034 "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 6058 "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 6078 "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 6098 "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 6122 "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 6142 "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 6162 "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 6186 "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 6206 "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 6226 "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 6252 "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 6272 "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 6292 "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 6318 "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 6338 "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 6358 "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 6384 "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 6423 "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 6448 "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 6477 "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 6497 "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 6517 "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 6544 "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 6565 "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 6586 "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 6612 "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 6632 "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 6652 "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 6678 "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 6698 "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 6718 "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 6744 "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 6775 "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 6798 "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 6824 "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 6857 "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 6880 "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 6906 "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 6926 "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 6946 "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 6972 "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 6992 "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 7012 "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 7038 "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 7058 "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 7078 "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 7105 "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 7130 "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 7163 "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 7202 "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 7247 "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 7273 "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 7303 "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 7332 "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 7354 "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 7377 "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 7400 "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 7423 "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 7446 "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 7469 "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 7492 "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 7518 "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 7547 "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 7576 "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 7601 "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 7633 "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 7665 "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 7691 "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 7718 "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 7744 "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 7771 "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 7802 "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 7841 "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 7864 "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 7887 "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 7910 "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 7933 "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 7958 "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 7981 "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 8002 "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 8023 "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 8044 "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 8071 "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 8100 "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 8135 "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 8172 "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 8211 "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 8246 "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 8285 "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 8328 "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 8362 "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 8398 "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 8436 "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 8473 "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 8510 "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 8544 "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 8582 "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 8624 "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 8665 "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 8706 "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 8741 "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 8778 "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 8817 "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 8850 "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 8885 "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 8922 "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 8961 "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 9002 "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 9045 "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 9068 "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 9091 "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 9123 "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 9157 "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 9183 "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 9209 "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 9236 "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 9262 "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 9288 "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 9315 "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 9345 "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 9375 "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 9405 "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 9435 "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 9467 "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 9517 "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 9566 "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 9615 "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 9650 "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 9687 "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 9720 "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 9757 "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 9796 "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 9825 "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 9848 "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 9876 "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 9909 "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 9944 "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 9975 "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 10010 "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 10048 "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 10085 "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 10122 "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 10157 "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 10194 "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 10221 "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 10252 "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 10285 "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 10320 "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 10357 "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 10394 "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 10433 "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 10466 "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 10489 "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 10522 "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 10545 "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 10566 "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 10589 "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 10611 "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 10634 "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 10660 "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 10684 "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 10710 "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 10734 "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 10760 "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 10784 "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 10807 "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 10829 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 10854 "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 10880 "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 10902 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 10929 "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 10957 "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 10981 "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 11007 "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 11031 "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 11057 "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 11081 "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 11107 "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 11132 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 11159 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 11188 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 11216 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 11241 "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 11267 "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 11295 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 11322 "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 11350 "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 11374 "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 11400 "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 11424 "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 11450 "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 11471 "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 11494 "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 11520 "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 11544 "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 11570 "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 11592 "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 11613 "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 11636 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 11662 "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 11685 "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 11717 "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 11748 "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 11777 "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 11805 "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 11837 "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 11866 "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 11887 "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 11910 "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 11933 "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 11954 "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 11978 "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 12001 "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 12024 "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 12046 "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 12069 "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 12091 "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 12114 "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 12136 "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 12157 "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 12181 "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 12204 "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 12227 "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 12249 "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 12272 "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 12295 "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 12317 "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 12340 "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 12365 "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 12389 "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 12410 "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 12433 "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 12455 "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 12478 "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 12501 "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 12527 "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 12549 "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 12570 "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 12593 "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 12615 "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 12639 "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 12662 "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 12686 "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 12709 "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 12732 "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 12755 "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 12777 "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 12801 "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 12824 "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 12847 "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 12870 "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 12892 "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 12915 "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 12937 "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 12958 "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 12981 "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 13003 "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 13025 "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 13047 "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 13068 "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 13091 "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 13113 "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 13137 "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 13160 "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 13184 "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 13207 "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 13230 "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 13253 "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 13274 "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 13297 "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 13320 "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 13340 "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 13360 "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 13382 "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 13407 "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 13432 "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 13456 "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 13481 "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 13506 "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 13529 "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 13552 "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 13575 "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 13598 "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 13621 "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 13644 "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 13669 "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 13694 "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 13714 "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 13734 "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 13757 "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 13780 "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 13801 "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 13822 "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 13845 "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 13868 "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 13891 "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 13914 "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 13936 "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 13960 "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 13983 "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 14008 "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 14032 "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 14057 "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 14088 "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 14109 "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 14134 "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 14157 "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 14185 "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 14215 "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 14235 "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 14268 "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 14292 "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 14315 "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 14340 "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 14367 "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 14390 "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 14412 "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 14439 "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 14468 "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 14497 "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 14528 "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 14553 "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 14576 "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 14602 "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 14632 "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 14657 "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 14687 "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 14719 "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 14751 "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 14785 "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 14810 "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 14831 "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 14852 "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 14875 "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 14903 "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 14932 "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 14959 "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 14991 "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 15025 "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 15066 "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 15090 "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 15116 "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 15141 "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 15168 "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 15209 "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 15232 "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 15257 "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 15280 "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 15305 "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 15325 "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 15346 "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 15368 "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 15393 "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 15418 "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 15438 "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 15458 "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 15481 "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 15504 "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 15524 "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 15544 "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 15567 "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 15590 "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 15611 "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 15632 "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 15655 "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 15678 "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 15701 "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 15724 "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 15746 "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 15770 "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 15793 "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 15811 "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 15831 "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 15850 "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 15868 "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 15887 "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 15908 "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 15929 "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 15951 "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 15972 "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 15993 "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 16016 "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 16035 "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 16056 "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 16076 "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 16095 "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 16116 "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 16136 "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 16156 "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 16176 "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 16196 "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 16216 "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 16236 "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 16258 "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 16278 "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 16298 "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 16320 "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 16340 "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 16360 "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 16383 "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 16407 "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 16435 "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 16455 "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 16477 "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 16496 "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 16521 "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 16546 "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 16569 "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 16594 "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 16623 "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 16649 "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 16678 "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 16706 "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 16731 "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 16760 "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 16786 "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 16815 "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 16841 "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 16870 "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 16900 "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 16941 "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 16966 "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 16989 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 17016 "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 17041 "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 17068 "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 17092 "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 17119 "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 17146 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 17175 "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 17193 "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 17216 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 17245 "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 17267 "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 17288 "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 17311 "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 17330 "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 17348 "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 17374 "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 17399 "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 17424 "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 17445 "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 17464 "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 17487 "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 17506 "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 17529 "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 17555 "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 17582 "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 17604 "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 17626 "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 17648 "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 17670 "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 17692 "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 17714 "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 17735 "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 17756 "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 17777 "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 17800 "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 17823 "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 17846 "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 17868 "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 17890 "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 17913 "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 17935 "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 17957 "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 17980 "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 18003 "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 18026 "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 18050 "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 18073 "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 18096 "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 18117 "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 18140 "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 18163 "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 18186 "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 18209 "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 18232 "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 18255 "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 18278 "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 18301 "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 18326 "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 18351 "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 18376 "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 18401 "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 18430 "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 18456 "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 18481 "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 18506 "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 18531 "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 18560 "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 18586 "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 18611 "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 18636 "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 18661 "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 18687 "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 18712 "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 18737 "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 18762 "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 18787 "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 18813 "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 18832 "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 18853 "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 18876 "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 18901 "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 18925 "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 18944 "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 18963 "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 18992 "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 19023 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 19060 "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 19085 "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 19110 "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 19133 "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 19156 "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 19184 "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 19211 "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 19238 "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 19265 "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 19292 "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 19325 "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 19353 "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 19383 "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 19413 "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 19446 "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 19477 "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 19508 "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 19537 "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 19569 "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 19600 "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 19630 "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 19660 "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 19693 "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 19722 "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 19755 "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 19786 "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 19807 "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 19827 "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 19857 "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 19888 "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 19919 "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 19950 "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 19973 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 19999 "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 20026 "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 20050 "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 20076 "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 20100 "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 20126 "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 20150 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 20176 "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 20203 "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 20227 "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 20249 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 20274 "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 20299 "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 20327 "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 20351 "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 20377 "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 20401 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 20426 "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 20452 "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 20476 "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 20502 "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 20527 "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 20554 "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 20579 "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 20606 "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 20630 "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 20653 "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 20679 "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 20704 "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 20731 "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 20755 "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 20778 "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 20804 "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 20828 "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 20854 "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 20884 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 20908 "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 20933 "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 20957 "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 20983 "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 21008 "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 21035 "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 21060 "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 21087 "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 21111 "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 21134 "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 21157 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 21181 "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 21202 "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 21225 "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 21246 "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 21269 "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 21296 "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 21327 "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 21361 "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 21397 "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 21431 "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 21467 "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 21499 "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 21532 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 21565 "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 21598 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 21629 "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 21662 "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 21696 "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 21732 "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 21766 "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 21802 "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 21832 "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 21863 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 21892 "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 21921 "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 21952 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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"
	TARGn((double)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGn((double)RETVAL, 1);
	ST(0) = TARG;
    }
    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"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 29221 "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 29253 "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 29279 "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 29306 "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 29331 "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 29359 "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 29384 "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 29409 "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 29434 "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 29459 "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 29482 "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 29505 "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 29528 "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 29555 "lib/OpenGL/Modern.c"
	TARGn((double)RETVAL, 1);
	ST(0) = TARG;
    }
    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 29586 "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 29619 "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 29644 "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 29672 "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 29698 "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 29726 "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 29764 "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 29789 "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 29814 "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 29855 "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 29884 "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 29917 "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 29945 "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 29974 "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 30006 "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 30036 "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 30069 "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 30097 "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 30127 "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 30153 "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 30182 "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 30212 "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 30235 "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 30268 "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 30290 "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 30312 "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 30334 "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 30359 "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 30384 "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 30409 "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 30434 "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 30459 "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 30484 "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 30507 "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 30527 "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 30550 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 30581 "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 30613 "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 30643 "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 30668 "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 30696 "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 30722 "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 30750 "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 30778 "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 30807 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 30836 "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 30867 "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 30893 "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 30921 "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 30947 "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 30975 "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 31003 "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 31033 "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 31061 "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 31091 "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 31119 "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 31149 "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 31177 "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 31207 "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 31235 "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 31264 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 31291 "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 31320 "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 31348 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 31377 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 31406 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 31435 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 31468 "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 31501 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 31538 "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 31577 "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 31613 "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 31647 "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 31675 "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 31704 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 31731 "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 31756 "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 31781 "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 31810 "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 31836 "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 31863 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 31890 "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 31918 "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 31946 "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 31973 "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 32000 "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 32027 "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 32054 "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 32085 "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 32112 "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 32142 "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 32168 "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 32194 "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 32224 "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 32250 "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 32276 "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 32306 "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 32332 "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 32358 "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 32388 "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 32414 "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 32439 "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 32468 "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 32495 "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 32525 "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 32551 "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 32576 "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 32605 "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 32632 "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 32662 "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 32688 "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 32714 "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 32744 "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 32770 "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 32796 "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 32826 "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 32852 "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 32877 "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 32906 "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 32932 "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 32961 "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 32987 "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 33012 "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 33043 "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 33074 "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 33101 "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 33130 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 33159 "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 33190 "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 33218 "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 33247 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 33276 "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 33305 "lib/OpenGL/Modern.c"
	sv_setpv((SV*)TARG, RETVAL);
	ST(0) = TARG;
    }
    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 33332 "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 33361 "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 33387 "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 33414 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 33443 "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 33473 "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 33497 "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 33524 "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 33548 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 33572 "lib/OpenGL/Modern.c"
        sv_setpv((SV*)TARG, (void*)RETVAL);
	ST(0) = TARG;
    }
    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 33601 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 33630 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 33662 "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 33694 "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 33718 "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 33741 "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 33765 "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 33793 "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 33818 "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 33846 "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 33872 "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 33901 "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 33927 "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 33951 "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 33979 "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 34004 "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 34032 "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 34058 "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 34082 "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 34110 "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 34136 "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 34161 "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 34189 "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 34215 "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 34245 "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 34272 "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 34302 "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 34329 "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 34359 "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 34385 "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 34411 "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 34441 "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 34467 "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 34492 "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 34516 "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 34544 "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 34569 "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 34597 "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 34623 "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 34652 "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 34677 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 34702 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 34735 "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 34766 "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 34793 "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 34822 "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 34855 "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 34883 "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 34912 "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 34945 "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 34971 "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 34998 "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 35029 "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 35055 "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 35082 "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 35113 "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 35139 "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 35166 "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 35197 "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 35223 "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 35250 "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 35281 "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 35308 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 35335 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 35380 "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 35407 "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 35436 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 35472 "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 35509 "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 35535 "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 35562 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 35591 "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 35618 "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 35643 "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 35670 "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 35700 "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 35726 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 35753 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 35782 "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 35810 "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 35836 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 35863 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 35890 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 35917 "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 35944 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 35971 "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 35996 "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 36021 "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 36046 "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 36071 "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 36096 "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 36121 "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 36146 "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 36171 "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 36197 "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 36222 "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 36245 "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 36272 "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 36298 "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 36325 "lib/OpenGL/Modern.c"
	TARGn((double)RETVAL, 1);
	ST(0) = TARG;
    }
    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 36352 "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 36379 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 36406 "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 36431 "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 36456 "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 36481 "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 36506 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 36529 "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 36556 "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 36583 "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 36610 "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 36635 "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 36662 "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 36687 "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 36712 "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 36737 "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 36766 "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 36792 "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 36821 "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 36848 "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 36876 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 36904 "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 36932 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 36960 "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 36990 "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 37016 "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 37045 "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 37071 "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 37096 "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 37125 "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 37152 "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 37178 "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 37207 "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 37234 "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 37263 "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 37290 "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 37319 "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 37347 "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 37374 "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 37401 "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 37426 "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 37451 "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 37476 "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 37501 "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 37526 "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 37549 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 37580 "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 37607 "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 37634 "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 37663 "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 37694 "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 37721 "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 37751 "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 37779 "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 37809 "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 37837 "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 37867 "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 37899 "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 37924 "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 37952 "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 37978 "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 38006 "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 38032 "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 38060 "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 38084 "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 38110 "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 38146 "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 38177 "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 38208 "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 38235 "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 38265 "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 38293 "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 38323 "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 38352 "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 38383 "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 38411 "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 38441 "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 38469 "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 38499 "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 38528 "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 38559 "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 38587 "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 38617 "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 38645 "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 38675 "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 38704 "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 38735 "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 38763 "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 38793 "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 38815 "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 38836 "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 38857 "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 38878 "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 38899 "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 38920 "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 38941 "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 38962 "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 38984 "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 39012 "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 39035 "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 39060 "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 39085 "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 39110 "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 39135 "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 39162 "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 39189 "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 39216 "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 39241 "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 39266 "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 39291 "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 39318 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 39343 "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 39366 "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 39386 "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 39409 "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 39433 "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 39460 "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 39487 "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 39507 "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 39527 "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 39547 "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 39567 "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 39587 "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 39607 "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 39627 "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 39647 "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 39667 "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 39687 "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 39707 "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 39727 "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 39747 "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 39767 "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 39787 "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 39805 "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 39830 "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 39853 "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 39877 "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 39898 "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 39925 "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 39946 "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 39971 "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 39996 "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 40020 "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 40045 "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 40069 "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 40102 "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 40134 "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 40167 "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 40199 "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 40222 "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 40257 "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 40280 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40306 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40331 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40356 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40380 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40408 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40435 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40460 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40485 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40511 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40536 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40561 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40586 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40610 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40635 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40660 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40687 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40712 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40739 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40764 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40789 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40814 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40845 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40874 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40899 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40925 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40950 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 40976 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41001 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41026 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41052 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41077 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41102 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41127 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41152 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41177 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41202 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41228 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41252 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41277 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41302 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41327 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41353 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41380 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41406 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41431 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41456 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41483 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 41538 "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 41557 "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 41586 "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 41613 "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 41636 "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 41658 "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 41680 "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 41703 "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 41725 "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 41747 "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 41770 "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 41793 "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 41816 "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 41840 "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 41864 "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 41888 "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 41913 "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 41937 "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 41961 "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 41986 "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 42011 "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 42036 "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 42062 "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 42084 "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 42104 "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 42125 "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 42146 "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 42167 "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 42187 "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 42220 "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 42238 "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 42259 "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 42279 "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 42299 "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 42319 "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 42339 "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 42360 "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 42381 "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 42401 "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 42420 "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 42447 "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 42469 "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 42491 "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 42513 "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 42535 "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 42558 "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 42579 "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 42599 "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 42626 "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 42649 "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 42670 "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 42693 "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 42714 "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 42735 "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 42758 "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 42781 "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 42802 "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 42825 "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 42846 "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 42867 "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 42888 "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 42909 "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 42939 "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 42969 "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 43007 "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 43045 "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 43071 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 43098 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 43130 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 43169 "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 43193 "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 43217 "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 43247 "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 43277 "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 43302 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 43329 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 43360 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 43391 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 43416 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 43443 "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 43468 "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 43499 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 43536 "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 43570 "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 43603 "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 43644 "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 43685 "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 43709 "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 43733 "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 43758 "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 43782 "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 43806 "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 43831 "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 43856 "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 43881 "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 43907 "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 43940 "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 43967 "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 43994 "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 44017 "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 44043 "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 44067 "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 44093 "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 44117 "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 44143 "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 44167 "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 44190 "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 44211 "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 44234 "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 44257 "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 44280 "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 44303 "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 44326 "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 44349 "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 44372 "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 44395 "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 44418 "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 44438 "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 44461 "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 44484 "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 44507 "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 44530 "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 44553 "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 44576 "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 44599 "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 44622 "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 44645 "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 44668 "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 44691 "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 44724 "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 44745 "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 44766 "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 44795 "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 44824 "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 44851 "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 44878 "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 44905 "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 44932 "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 44953 "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 44975 "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 44997 "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 45018 "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 45043 "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 45064 "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 45085 "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 45107 "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 45128 "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 45154 "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 45174 "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 45194 "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 45214 "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 45234 "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 45255 "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 45276 "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 45298 "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 45320 "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 45342 "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 45364 "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 45392 "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 45422 "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 45450 "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 45481 "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 45510 "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 45540 "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 45567 "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 45596 "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 45626 "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 45658 "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 45688 "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 45721 "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 45752 "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 45784 "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 45811 "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 45838 "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 45863 "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 45888 "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 45919 "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 45952 "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 45981 "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 46012 "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 46039 "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 46063 "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 46087 "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 46111 "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 46135 "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 46159 "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 46183 "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 46206 "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 46229 "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 46252 "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 46276 "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 46300 "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 46324 "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 46348 "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 46372 "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 46396 "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 46422 "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 46446 "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 46470 "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 46496 "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 46520 "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 46544 "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 46569 "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 46592 "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 46615 "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 46641 "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 46665 "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 46689 "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 46715 "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 46739 "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 46763 "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 46791 "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 46815 "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 46839 "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 46867 "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 46891 "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 46915 "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 46942 "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 46965 "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 46988 "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 47016 "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 47040 "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 47064 "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 47092 "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 47116 "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 47140 "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 47170 "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 47194 "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 47218 "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 47248 "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 47272 "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 47296 "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 47325 "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 47348 "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 47371 "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 47401 "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 47425 "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 47449 "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 47479 "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 47503 "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 47527 "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 47556 "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 47581 "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 47606 "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 47631 "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 47656 "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 47681 "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 47706 "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 47731 "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 47756 "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 47781 "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 47806 "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 47831 "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 47856 "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 47885 "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 47912 "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 47939 "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 47967 "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 47994 "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 48021 "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 48049 "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 48076 "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 48103 "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 48131 "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 48158 "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 48185 "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 48213 "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 48240 "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 48267 "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 48295 "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 48332 "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 48371 "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 48412 "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 48439 "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 48467 "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 48494 "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 48522 "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 48549 "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 48576 "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 48604 "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 48631 "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 48658 "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 48686 "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 48711 "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 48746 "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 48785 "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 48828 "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 48847 "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 48890 "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 48919 "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 48952 "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 49005 "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 49034 "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 49061 "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 49088 "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 49115 "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 49142 "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 49169 "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 49195 "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 49222 "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 49248 "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 49275 "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 49298 "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 49321 "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 49346 "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 49373 "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 49400 "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 49431 "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 49459 "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 49488 "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 49515 "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 49543 "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 49572 "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 49595 "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 49620 "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 49644 "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 49669 "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 49694 "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 49717 "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 49744 "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 49771 "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 49798 "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 49825 "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 49852 "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 49879 "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 49908 "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 49937 "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 49968 "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 49995 "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 50024 "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 50053 "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 50082 "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 50113 "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 50146 "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 50173 "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 50200 "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 50233 "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 50260 "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 50287 "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 50320 "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 50347 "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 50374 "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 50407 "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 50434 "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 50461 "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 50490 "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 50519 "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 50548 "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 50577 "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 50606 "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 50635 "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 50664 "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 50691 "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 50718 "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 50747 "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 50778 "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 50809 "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 50838 "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 50867 "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 50890 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 50914 "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 50941 "lib/OpenGL/Modern.c"
	TARGu((UV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 50970 "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 50997 "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 51021 "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 51041 "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 51061 "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 51085 "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 51105 "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 51125 "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 51149 "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 51180 "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 51203 "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 51229 "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 51249 "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 51269 "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 51294 "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 51315 "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 51336 "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 51360 "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 51380 "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 51400 "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 51424 "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 51444 "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 51464 "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 51489 "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 51512 "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 51535 "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 51558 "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 51581 "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 51605 "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 51632 "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 51659 "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 51682 "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 51709 "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 51732 "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 51755 "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 51782 "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 51805 "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 51828 "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 51855 "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 51878 "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 51901 "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 51928 "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 51951 "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 51974 "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 52001 "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 52024 "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 52047 "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 52075 "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 52101 "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 52128 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 52157 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 52189 "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 52220 "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 52251 "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 52282 "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 52305 "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 52328 "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 52353 "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 52373 "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 52396 "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 52420 "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 52444 "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 52471 "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 52502 "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 52529 "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 52550 "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 52575 "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 52599 "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 52620 "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 52657 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 52692 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 52732 "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 52770 "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 52809 "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 52848 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 52875 "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 52900 "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 52925 "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 52950 "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 52973 "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 52998 "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 53025 "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 53060 "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 53089 "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 53116 "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 53136 "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 53161 "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 53185 "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 53208 "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 53232 "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 53255 "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 53279 "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 53302 "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 53324 "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 53346 "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 53367 "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 53389 "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 53411 "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 53436 "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 53461 "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 53486 "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 53511 "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 53536 "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 53561 "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 53586 "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 53611 "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 53636 "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 53661 "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 53682 "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 53704 "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 53741 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 53784 "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 53809 "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 53833 "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 53858 "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 53882 "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 53906 "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 53931 "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 53954 "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 53977 "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 54001 "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 54021 "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 54046 "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 54067 "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 54090 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 54119 "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 54143 "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 54165 "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 54191 "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 54214 "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 54237 "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 54257 "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 54275 "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 54293 "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 54313 "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 54332 "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 54350 "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 54368 "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 54413 "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 54454 "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 54490 "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 54511 "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 54532 "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 54551 "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 54576 "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 54603 "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 54628 "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 54655 "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 54682 "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 54711 "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 54739 "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 54768 "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 54796 "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 54825 "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 54853 "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 54884 "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 54909 "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 54934 "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 54965 "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 54990 "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 55015 "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 55046 "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 55071 "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 55096 "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 55127 "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 55152 "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 55177 "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 55204 "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 55231 "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 55258 "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 55285 "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 55312 "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 55339 "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 55370 "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 55395 "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 55420 "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 55451 "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 55476 "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 55501 "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 55532 "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 55557 "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 55582 "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 55613 "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 55638 "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 55663 "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 55690 "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 55717 "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 55744 "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 55771 "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 55798 "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 55825 "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 55858 "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 55885 "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 55912 "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 55945 "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 55972 "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 55999 "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 56030 "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 56055 "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 56080 "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 56111 "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 56136 "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 56161 "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 56187 "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 56214 "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 56241 "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 56268 "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 56295 "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 56324 "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 56351 "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 56376 "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 56403 "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 56429 "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 56455 "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 56483 "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 56510 "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 56536 "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 56561 "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 56586 "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 56613 "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 56639 "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 56666 "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 56692 "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 56720 "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 56747 "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 56773 "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 56798 "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 56823 "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 56850 "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 56876 "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 56903 "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 56929 "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 56957 "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 56984 "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 57011 "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 57038 "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 57065 "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 57093 "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 57121 "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 57149 "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 57177 "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 57204 "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 57231 "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 57258 "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 57285 "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 57312 "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 57339 "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 57367 "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 57395 "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 57423 "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 57450 "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 57477 "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 57504 "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 57531 "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 57558 "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 57585 "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 57613 "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 57641 "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 57670 "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 57697 "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 57724 "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 57754 "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 57782 "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 57810 "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 57840 "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 57869 "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 57898 "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 57925 "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 57952 "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 57979 "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 58006 "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 58034 "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 58062 "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 58092 "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 58121 "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 58150 "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 58177 "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 58204 "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 58231 "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 58258 "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 58286 "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 58314 "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 58345 "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 58372 "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 58399 "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 58431 "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 58459 "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 58487 "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 58519 "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 58550 "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 58581 "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 58608 "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 58635 "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 58662 "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 58689 "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 58717 "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 58745 "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 58777 "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 58808 "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 58839 "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 58866 "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 58893 "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 58920 "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 58947 "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 58975 "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 59003 "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 59029 "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 59054 "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 59082 "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 59109 "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 59136 "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 59162 "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 59191 "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 59220 "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 59250 "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 59280 "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 59309 "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 59338 "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 59368 "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 59398 "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 59427 "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 59456 "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 59486 "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 59516 "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 59545 "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 59574 "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 59604 "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 59634 "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 59663 "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 59692 "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 59722 "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 59752 "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 59781 "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 59810 "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 59840 "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 59870 "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 59899 "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 59928 "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 59958 "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 59988 "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 60017 "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 60046 "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 60076 "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 60106 "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 60135 "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 60164 "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 60194 "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 60224 "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 60249 "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 60276 "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 60302 "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 60325 "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 60347 "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 60367 "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 60387 "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 60408 "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 60436 "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 60459 "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 60477 "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 60497 "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 60521 "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 60544 "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 60571 "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 60593 "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 60613 "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 60633 "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 60655 "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 60675 "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 60695 "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 60717 "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 60737 "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 60757 "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 60779 "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 60799 "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 60819 "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 60843 "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 60863 "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 60883 "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 60907 "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 60927 "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 60947 "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 60971 "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 60991 "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 61011 "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 61035 "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 61055 "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 61075 "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 61101 "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 61121 "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 61141 "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 61167 "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 61187 "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 61207 "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 61233 "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 61253 "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 61273 "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 61299 "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 61319 "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 61339 "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 61362 "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 61382 "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 61405 "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 61426 "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 61455 "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 61487 "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 61520 "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 61556 "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 61582 "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 61604 "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 61629 "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 61655 "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 61677 "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 61702 "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 61728 "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 61750 "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 61775 "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 61801 "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 61823 "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 61848 "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 61869 "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 61890 "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 61915 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 61936 "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 61957 "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 61979 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 62009 "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 62039 "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 62068 "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 62097 "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 62128 "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 62159 "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 62188 "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 62215 "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 62240 "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 62261 "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 62282 "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 62315 "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 62340 "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 62369 "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 62410 "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 62437 "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 62469 "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 62504 "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 62529 "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 62558 "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 62591 "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 62616 "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 62645 "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 62666 "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 62711 "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 62740 "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 62775 "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 62812 "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 62839 "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 62871 "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 62902 "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 62927 "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 62956 "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 62983 "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 63006 "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 63032 "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 63053 "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 63074 "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 63095 "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 63118 "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 63144 "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 63167 "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 63190 "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 63212 "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 63231 "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 63250 "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 63269 "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 63289 "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 63315 "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 63341 "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 63368 "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 63392 "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 63415 "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 63440 "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 63464 "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 63487 "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 63510 "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 63532 "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 63558 "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 63585 "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 63610 "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 63636 "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 63663 "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 63688 "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 63713 "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 63738 "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 63764 "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 63789 "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 63814 "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 63840 "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 63864 "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 63888 "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 63913 "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 63939 "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 63965 "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 63990 "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 64015 "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 64039 "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 64066 "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 64096 "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 64120 "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 64144 "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 64170 "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 64192 "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 64214 "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 64240 "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 64262 "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 64284 "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 64310 "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 64332 "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 64354 "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 64379 "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 64400 "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 64421 "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 64447 "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 64469 "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 64491 "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 64517 "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 64539 "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 64561 "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 64587 "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 64609 "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 64631 "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 64657 "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 64679 "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 64701 "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 64727 "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 64749 "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 64771 "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 64796 "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 64819 "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 64842 "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 64865 "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 64893 "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 64922 "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 64944 "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 64969 "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 64999 "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 65031 "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 65053 "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 65074 "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 65095 "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 65120 "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 65145 "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 65181 "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 65202 "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 65225 "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 65248 "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 65271 "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 65296 "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 65321 "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 65346 "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 65371 "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 65391 "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 65420 "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 65445 "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 65472 "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 65501 "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 65528 "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 65553 "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 65580 "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 65605 "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 65630 "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 65653 "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 65674 "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 65695 "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 65722 "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 65748 "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 65769 "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 65794 "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 65815 "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 65840 "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 65865 "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 65896 "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 65923 "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 65952 "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 65973 "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 65994 "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 66024 "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 66056 "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 66079 "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 66102 "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 66125 "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 66148 "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 66177 "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 66200 "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 66235 "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 66260 "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 66284 "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 66311 "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 66338 "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 66358 "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 66381 "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 66405 "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 66433 "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 66456 "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 66491 "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 66516 "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 66553 "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 66580 "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 66617 "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 66644 "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 66667 "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 66690 "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 66713 "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 66736 "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 66759 "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 66790 "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 66811 "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 66830 "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 66855 "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 66876 "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 66897 "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 66918 "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 66941 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 66966 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 66993 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 67020 "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 67046 "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 67071 "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 67101 "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 67130 "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 67153 "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 67176 "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 67196 "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 67216 "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 67236 "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 67256 "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 67276 "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 67296 "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 67317 "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 67338 "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 67359 "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 67379 "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 67399 "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 67419 "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 67439 "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 67459 "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 67479 "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 67501 "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 67521 "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 67541 "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 67563 "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 67598 "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 67623 "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 67652 "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 67695 "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 67722 "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 67754 "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 67791 "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 67816 "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 67845 "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 67880 "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 67905 "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 67934 "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 67963 "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 67986 "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 68012 "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 68032 "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 68052 "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 68075 "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 68096 "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 68117 "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 68139 "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 68159 "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 68179 "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 68201 "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 68221 "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 68241 "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 68265 "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 68285 "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 68305 "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 68329 "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 68349 "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 68369 "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 68394 "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 68415 "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 68436 "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 68460 "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 68480 "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 68500 "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 68524 "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 68544 "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 68564 "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 68590 "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 68610 "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 68630 "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 68656 "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 68705 "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 68732 "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 68764 "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 68799 "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 68822 "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 68848 "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 68868 "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 68888 "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 68915 "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 68936 "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 68957 "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 68983 "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 69003 "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 69023 "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 69049 "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 69069 "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 69089 "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 69114 "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 69137 "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 69160 "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 69183 "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 69206 "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 69229 "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 69252 "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 69275 "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 69298 "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 69321 "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 69344 "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 69367 "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 69390 "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 69416 "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 69445 "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 69474 "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 69499 "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 69523 "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 69547 "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 69572 "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 69596 "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 69620 "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 69645 "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 69670 "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 69695 "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 69721 "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 69746 "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 69773 "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 69800 "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 69826 "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 69850 "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 69874 "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 69899 "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 69923 "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 69948 "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 69972 "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 69997 "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 70022 "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 70046 "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 70071 "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 70095 "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 70120 "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 70145 "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 70170 "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 70195 "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 70229 "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 70265 "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 70296 "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 70329 "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 70369 "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 70402 "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 70437 "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 70476 "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 70515 "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 70556 "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 70594 "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 70637 "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 70663 "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 70690 "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 70715 "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 70741 "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 70768 "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 70793 "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 70817 "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 70841 "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 70866 "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 70890 "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 70914 "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 70939 "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 70964 "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 70989 "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 71015 "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 71038 "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 71063 "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 71088 "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 71116 "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 71146 "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 71177 "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 71209 "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 71242 "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 71275 "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 71306 "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 71339 "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 71370 "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 71403 "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 71438 "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 71473 "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 71510 "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 71543 "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 71576 "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 71613 "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 71655 "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 71696 "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 71737 "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 71782 "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 71807 "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 71826 "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 71845 "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 71870 "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 71897 "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 71926 "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 71957 "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 71978 "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 72013 "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 72050 "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 72089 "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 72124 "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 72157 "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 72198 "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 72235 "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 72270 "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 72291 "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 72314 "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 72335 "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 72372 "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 72415 "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 72440 "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 72466 "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 72493 "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 72521 "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 72546 "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 72572 "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 72599 "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 72627 "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 72652 "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 72679 "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 72704 "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 72730 "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 72757 "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 72785 "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 72810 "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 72837 "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 72862 "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 72888 "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 72915 "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 72943 "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 72968 "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 72993 "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 73020 "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 73049 "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 73078 "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 73109 "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 73140 "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 73173 "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 73204 "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 73237 "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 73270 "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 73305 "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 73336 "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 73369 "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 73404 "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 73439 "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 73476 "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 73511 "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 73544 "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 73579 "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 73616 "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 73655 "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 73696 "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 73739 "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 73775 "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 73810 "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 73837 "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 73862 "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 73887 "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 73916 "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 73944 "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 73971 "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 73998 "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 74024 "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 74051 "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 74075 "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 74099 "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 74124 "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 74147 "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 74172 "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 74197 "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 74221 "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 74247 "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 74273 "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 74297 "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 74320 "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 74343 "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 74368 "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 74393 "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 74418 "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 74443 "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 74469 "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 74495 "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 74519 "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 74542 "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 74565 "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 74590 "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 74615 "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 74640 "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 74665 "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 74691 "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 74717 "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 74742 "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 74767 "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 74792 "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 74818 "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 74844 "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 74870 "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 74896 "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 74921 "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 74946 "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 74971 "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 74996 "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 75021 "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 75046 "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 75072 "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 75098 "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 75124 "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 75149 "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 75174 "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 75199 "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 75224 "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 75249 "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 75274 "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 75300 "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 75326 "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 75353 "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 75378 "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 75403 "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 75431 "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 75457 "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 75483 "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 75511 "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 75538 "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 75565 "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 75590 "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 75615 "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 75640 "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 75665 "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 75691 "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 75717 "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 75745 "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 75772 "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 75799 "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 75824 "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 75849 "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 75874 "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 75899 "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 75925 "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 75951 "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 75980 "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 76005 "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 76030 "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 76060 "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 76086 "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 76112 "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 76142 "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 76171 "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 76200 "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 76225 "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 76250 "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 76275 "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 76300 "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 76326 "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 76352 "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 76382 "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 76411 "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 76440 "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 76465 "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 76490 "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 76515 "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 76540 "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 76566 "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 76592 "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 76617 "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 76642 "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 76666 "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 76689 "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 76715 "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 76740 "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 76765 "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 76789 "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 76816 "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 76843 "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 76871 "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 76899 "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 76926 "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 76953 "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 76981 "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 77009 "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 77036 "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 77063 "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 77091 "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 77119 "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 77146 "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 77173 "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 77201 "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 77229 "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 77256 "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 77283 "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 77311 "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 77339 "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 77366 "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 77393 "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 77421 "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 77449 "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 77476 "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 77503 "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 77531 "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 77559 "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 77586 "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 77613 "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 77641 "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 77669 "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 77696 "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 77723 "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 77751 "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 77779 "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 77804 "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 77828 "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 77851 "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 77876 "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 77901 "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 77920 "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 77944 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 77969 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 77994 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 78019 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 78042 "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 78065 "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 78094 "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 78115 "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 78136 "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 78157 "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 78182 "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 78205 "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 78224 "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 78253 "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 78276 "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 78297 "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 78320 "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 78349 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 78380 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 78413 "lib/OpenGL/Modern.c"
	TARGi(PTR2IV(RETVAL), 1);
	ST(0) = TARG;
    }
    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 78438 "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 78461 "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 78482 "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 78503 "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 78524 "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 78545 "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 78574 "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 78601 "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 78624 "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 78647 "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 78670 "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 78693 "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 78716 "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 78739 "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 78762 "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 78785 "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 78806 "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 78828 "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 78848 "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 78868 "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 78890 "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 78910 "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 78930 "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 78953 "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 78974 "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 78995 "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 79017 "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 79037 "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 79057 "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 79079 "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 79099 "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 79119 "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 79143 "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 79163 "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 79183 "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 79207 "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 79227 "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 79247 "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 79272 "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 79293 "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 79314 "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 79338 "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 79358 "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 79378 "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 79402 "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 79422 "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 79442 "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 79468 "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 79488 "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 79508 "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 79534 "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 79554 "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 79574 "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 79601 "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 79622 "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 79643 "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 79669 "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 79689 "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 79709 "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 79735 "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 79755 "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 79775 "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 79800 "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 79831 "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 79860 "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 79889 "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 79918 "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 79943 "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 79974 "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 80001 "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 80024 "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 80053 "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 80082 "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 80115 "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 80144 "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 80167 "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 80190 "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 80213 "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 80244 "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 80275 "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 80300 "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 80325 "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 80356 "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 80385 "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 80418 "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 80447 "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 80480 "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 80515 "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 80540 "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 80569 "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 80600 "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 80631 "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 80655 "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 80679 "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 80703 "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 80727 "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 80751 "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 80775 "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 80798 "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 80821 "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 80844 "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 80868 "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 80892 "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 80916 "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 80942 "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 80966 "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 80990 "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 81016 "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 81040 "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 81064 "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 81089 "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 81112 "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 81135 "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 81161 "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 81185 "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 81209 "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 81237 "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 81261 "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 81285 "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 81313 "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 81337 "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 81361 "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 81388 "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 81411 "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 81434 "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 81462 "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 81486 "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 81510 "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 81534 "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 81558 "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 81582 "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 81606 "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 81630 "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 81654 "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 81684 "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 81708 "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 81732 "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 81756 "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 81780 "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 81804 "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 81828 "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 81852 "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 81876 "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 81906 "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 81930 "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 81954 "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 81984 "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 82008 "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 82032 "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 82061 "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 82084 "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 82107 "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 82131 "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 82155 "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 82185 "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 82209 "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 82233 "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 82257 "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 82281 "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 82305 "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 82329 "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 82353 "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 82377 "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 82410 "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 82433 "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 82457 "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 82486 "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 82515 "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 82539 "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 82563 "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 82587 "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 82611 "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 82635 "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 82659 "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 82685 "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 82709 "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 82733 "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 82759 "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 82783 "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 82807 "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 82835 "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 82859 "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 82883 "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 82911 "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 82935 "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 82959 "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 82983 "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 83007 "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 83037 "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 83061 "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 83085 "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 83109 "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 83133 "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 83157 "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 83181 "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 83211 "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 83235 "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 83259 "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 83283 "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 83307 "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 83334 "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 83361 "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 83391 "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 83415 "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 83439 "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 83463 "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 83486 "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 83509 "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 83532 "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 83555 "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 83578 "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 83601 "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 83624 "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 83647 "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 83673 "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 83697 "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 83721 "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 83746 "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 83769 "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 83792 "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 83817 "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 83840 "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 83863 "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 83891 "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 83915 "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 83939 "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 83966 "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 83989 "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 84012 "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 84039 "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 84062 "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 84085 "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 84115 "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 84139 "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 84163 "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 84192 "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 84215 "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 84238 "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 84267 "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 84290 "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 84313 "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 84340 "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 84367 "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 84397 "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 84424 "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 84451 "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 84478 "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 84505 "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 84532 "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 84559 "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 84586 "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 84613 "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 84640 "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 84667 "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 84694 "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 84721 "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 84746 "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 84778 "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 84807 "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 84832 "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 84856 "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 84881 "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 84905 "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 84930 "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 84954 "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 84979 "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 85003 "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 85028 "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 85053 "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 85078 "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 85103 "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 85128 "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 85152 "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 85177 "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 85202 "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 85227 "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 85252 "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 85277 "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 85302 "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 85327 "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 85351 "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 85376 "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 85401 "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 85426 "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 85451 "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 85476 "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 85501 "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 85526 "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 85550 "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 85575 "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 85600 "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 85625 "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 85650 "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 85673 "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 85694 "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 85717 "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 85740 "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 85765 "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 85788 "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 85811 "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 85834 "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 85857 "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 85880 "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 85903 "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 85926 "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 85949 "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 85972 "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 85998 "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 86027 "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 86056 "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 86081 "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 86104 "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 86127 "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 86150 "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 86173 "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 86196 "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 86219 "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 86242 "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 86265 "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 86288 "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 86311 "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 86334 "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 86357 "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 86382 "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 86405 "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 86428 "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 86453 "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 86476 "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 86499 "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 86524 "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 86547 "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 86570 "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 86595 "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 86618 "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 86641 "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 86668 "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 86691 "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 86714 "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 86741 "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 86764 "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 86787 "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 86814 "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 86837 "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 86860 "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 86887 "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 86910 "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 86933 "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 86962 "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 86985 "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 87008 "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 87037 "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 87060 "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 87083 "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 87112 "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 87135 "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 87158 "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 87187 "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 87210 "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 87233 "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 87260 "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 87281 "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 87302 "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 87325 "lib/OpenGL/Modern.c"
	TARGn((double)RETVAL, 1);
	ST(0) = TARG;
    }
    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 87348 "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 87369 "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 87390 "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 87417 "lib/OpenGL/Modern.c"
	TARGi((IV)RETVAL, 1);
	ST(0) = TARG;
    }
    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 87446 "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 87473 "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 87500 "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 87526 "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 87552 "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 87577 "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 87607 "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 87631 "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 87655 "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 87680 "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 87709 "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 87740 "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 87767 "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 87796 "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 87822 "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 87843 "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 87870 "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 87899 "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 87926 "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 87953 "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 87976 "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 88002 "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 88026 "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 88052 "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 88076 "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 88102 "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 88126 "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 88152 "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 88176 "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 88202 "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 88226 "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 88252 "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 88276 "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 88302 "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 88326 "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 88352 "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 88377 "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 88399 "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 88421 "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 88445 "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 88467 "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 88489 "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 88513 "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 88535 "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 88557 "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 88581 "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 88603 "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 88625 "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 88651 "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 88673 "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 88695 "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 88721 "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 88743 "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 88765 "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 88791 "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 88813 "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 88835 "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 88861 "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 88883 "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 88905 "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 88932 "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 88953 "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 88974 "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 89001 "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 89022 "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 89043 "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 89070 "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 89091 "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 89112 "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 89139 "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 89160 "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 89181 "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 89206 "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 89230 "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 89261 "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

    {
        CV * cv;

        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
