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

#line 1 "lib/OpenGL/V2.xs"
/*  Copyright (c) 1998 Kenneth Albanowski. All rights reserved.
 *  Copyright (c) 2007 Bob Free. All rights reserved.
 *  Copyright (c) 2009 Chris Marshall. All rights reserved.
 *  This program is free software; you can redistribute it and/or
 *  modify it under the same terms as Perl itself.
 */

#include <stdio.h>

#include "pgopogl.h"

#ifdef HAVE_GL
#include "gl_util.h"
#endif /* defined HAVE_GL */

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

#ifndef dVAR
#  define dVAR		dNOOP
#endif


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

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


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

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


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

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

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

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

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

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

    PERL_ARGS_ASSERT_CROAK_XS_USAGE;

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

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

#define croak_xs_usage        S_croak_xs_usage

#endif

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

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

#line 170 "lib/OpenGL/V2.c"
#ifdef HAVE_GL
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAAAA 1


XS_EUPXS(XS_OpenGL_glProgramStringARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glProgramStringARB_s)
{
    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))
;
	SV *	string = ST(3)
;
#line 30 "lib/OpenGL/V2.xs"
		loadProc(glProgramStringARB,"glProgramStringARB");
#line 193 "lib/OpenGL/V2.c"
#line 32 "lib/OpenGL/V2.xs"
	{
		GLvoid * string_s = EL(string, len);
		glProgramStringARB(target,format,len,string_s);
	}
#line 199 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glProgramStringARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glProgramStringARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, string");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	char *	string = (char *)SvPV_nolen(ST(1))
;
#line 44 "lib/OpenGL/V2.xs"
		loadProc(glProgramStringARB,"glProgramStringARB");
#line 218 "lib/OpenGL/V2.c"
#line 46 "lib/OpenGL/V2.xs"
	{
		int len = strlen(string);
		glProgramStringARB(target,GL_PROGRAM_FORMAT_ASCII_ARB,len,string);
	}
#line 224 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetProgramStringARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetProgramStringARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, string");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	string = ST(2)
;
#line 58 "lib/OpenGL/V2.xs"
		loadProc(glGetProgramivARB,"glGetProgramivARB");
		loadProc(glGetProgramStringARB,"glGetProgramStringARB");
#line 246 "lib/OpenGL/V2.c"
#line 61 "lib/OpenGL/V2.xs"
	{
		GLint len;
		glGetProgramivARB(target,GL_PROGRAM_LENGTH_ARB,(GLvoid *)&len);
		if (len)
		{
			GLubyte * string_s = EL(string, sizeof(GLubyte)*len);
			glGetProgramStringARB(target,pname,string_s);
		}
	}
#line 257 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetProgramStringARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetProgramStringARB_p)
{
    dVAR; dXSARGS;
    if (items < 1 || items > 2)
       croak_xs_usage(cv,  "target, pname=GL_PROGRAM_STRING_ARB");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname;
	SV *	RETVAL;

	if (items < 2)
	    pname = GL_PROGRAM_STRING_ARB;
	else {
	    pname = (int)SvIV(ST(1))
;
	}
#line 78 "lib/OpenGL/V2.xs"
		loadProc(glGetProgramivARB,"glGetProgramivARB");
		loadProc(glGetProgramStringARB,"glGetProgramStringARB");
#line 284 "lib/OpenGL/V2.c"
#line 81 "lib/OpenGL/V2.xs"
	{
		GLint len;
		glGetProgramivARB(target,GL_PROGRAM_LENGTH_ARB,(GLvoid *)&len);
		if (len)
		{
			char * string = malloc(len+1);
			glGetProgramStringARB(target,pname,(GLubyte*)string);
			string[len] = 0;
			if (*string)
				RETVAL = newSVpv(string, 0);
			else
				RETVAL = newSVsv(&PL_sv_undef);

			free(string);
		}
		else
		{
			RETVAL = newSVsv(&PL_sv_undef);
		}
	}
#line 306 "lib/OpenGL/V2.c"
	RETVAL = sv_2mortal(RETVAL);
	ST(0) = RETVAL;
    }
    XSRETURN(1);
}

#endif // GL_ARB_vertex_program
#if defined(GL_ARB_vertex_program) || defined(GL_ARB_vertex_shader)
#define XSubPPtmpAAAB 1


XS_EUPXS(XS_OpenGL_glVertexAttribPointerARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttribPointerARB_p)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "index, type, normalized, stride, ...");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	GLenum	type = (int)SvIV(ST(1))
;
	GLboolean	normalized = (bool)SvTRUE(ST(2))
;
	GLsizei	stride = (int)SvIV(ST(3))
;
#line 117 "lib/OpenGL/V2.xs"
		loadProc(glVertexAttribPointerARB,"glVertexAttribPointerARB");
#line 335 "lib/OpenGL/V2.c"
#line 119 "lib/OpenGL/V2.xs"
	{
		GLuint count = items - 4;
		int size = gl_type_size(type);
		if (size < 0) croak("unknown type");
		void * pointer = malloc(count * size);

		SvItems(type,4,count,pointer);

		glVertexAttribPointerARB(index,count,type,
			normalized,stride,pointer);

		free(pointer);
	}
#line 350 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetVertexAttribPointervARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetVertexAttribPointervARB_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 139 "lib/OpenGL/V2.xs"
		loadProc(glGetVertexAttribPointervARB,"glGetVertexAttribPointervARB");
		loadProc(glGetVertexAttribivARB,"glGetVertexAttribivARB");
#line 372 "lib/OpenGL/V2.c"
#line 142 "lib/OpenGL/V2.xs"
	{
		void * pointer;
		GLuint i,count,type;
		glGetVertexAttribPointervARB(index,pname,&pointer);
		glGetVertexAttribivARB(index,GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB,(void *)&count);
		glGetVertexAttribivARB(index,GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB,(void *)&type);
		EXTEND(sp, count);
		switch (type)
		{
#ifdef GL_VERSION_1_2
			case GL_UNSIGNED_BYTE_3_3_2:
			case GL_UNSIGNED_BYTE_2_3_3_REV:
				for (i=0;i<count;i++)
				{
				  PUSHs(sv_2mortal(newSViv(((GLubyte*)pointer)[i])));
				}
				break;
			case GL_UNSIGNED_SHORT_5_6_5:
			case GL_UNSIGNED_SHORT_5_6_5_REV:
			case GL_UNSIGNED_SHORT_4_4_4_4:
			case GL_UNSIGNED_SHORT_4_4_4_4_REV:
			case GL_UNSIGNED_SHORT_5_5_5_1:
			case GL_UNSIGNED_SHORT_1_5_5_5_REV:
				for (i=0;i<count;i++)
				{
				  PUSHs(sv_2mortal(newSViv(((GLushort*)pointer)[i])));
				}
				break;
			case GL_UNSIGNED_INT_8_8_8_8:
			case GL_UNSIGNED_INT_8_8_8_8_REV:
			case GL_UNSIGNED_INT_10_10_10_2:
			case GL_UNSIGNED_INT_2_10_10_10_REV:
				for (i=0;i<count;i++)
				{
				  PUSHs(sv_2mortal(newSViv(((GLuint*)pointer)[i])));
				}
				break;
#endif
			case GL_UNSIGNED_BYTE:
			case GL_BITMAP:
				for (i=0;i<count;i++)
				{
				  PUSHs(sv_2mortal(newSViv(((GLubyte*)pointer)[i])));
				}
				break;
			case GL_BYTE:
				for (i=0;i<count;i++)
				{
				  PUSHs(sv_2mortal(newSViv(((GLbyte*)pointer)[i])));
				}
				break;
			case GL_UNSIGNED_SHORT:
				for (i=0;i<count;i++)
				{
				  PUSHs(sv_2mortal(newSViv(((GLushort*)pointer)[i])));
				}
				break;
			case GL_SHORT:
				for (i=0;i<count;i++)
				{
				  PUSHs(sv_2mortal(newSViv(((GLushort*)pointer)[i])));
				}
				break;
			case GL_UNSIGNED_INT:
				for (i=0;i<count;i++)
				{
				  PUSHs(sv_2mortal(newSViv(((GLuint*)pointer)[i])));
				}
				break;
			case GL_INT:
				for (i=0;i<count;i++)
				{
				  PUSHs(sv_2mortal(newSViv(((GLint*)pointer)[i])));
				}
				break;
			case GL_FLOAT:
				for (i=0;i<count;i++)
				{
				  PUSHs(sv_2mortal(newSVnv(((GLfloat*)pointer)[i])));
				}
				break;
			case GL_DOUBLE:
				for (i=0;i<count;i++)
				{
				  PUSHs(sv_2mortal(newSVnv(((GLdouble*)pointer)[i])));
				}
				break;
			default:
				croak("unknown type");
		}
	}
#line 465 "lib/OpenGL/V2.c"
	PUTBACK;
	return;
    }
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAAAC 1


XS_EUPXS(XS_OpenGL_glGetObjectParameterfvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetObjectParameterfvARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "obj, pname, params");
    {
	GLhandleARB	obj = (GLhandleARB)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 246 "lib/OpenGL/V2.xs"
		loadProc(glGetObjectParameterfvARB,"glGetObjectParameterfvARB");
#line 491 "lib/OpenGL/V2.c"
#line 248 "lib/OpenGL/V2.xs"
	{
		GLfloat * params_s = EL(params, sizeof(GLfloat));
		glGetObjectParameterfvARB(obj,pname,params_s);
	}
#line 497 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetObjectParameterfvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetObjectParameterfvARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "obj, pname");
    {
	GLhandleARB	obj = (GLhandleARB)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLfloat	RETVAL;
	dXSTARG;
#line 259 "lib/OpenGL/V2.xs"
		loadProc(glGetObjectParameterfvARB,"glGetObjectParameterfvARB");
#line 518 "lib/OpenGL/V2.c"
#line 261 "lib/OpenGL/V2.xs"
	{
		GLfloat	ret;
		glGetObjectParameterfvARB(obj,pname,&ret);
		RETVAL = ret;
	}
#line 525 "lib/OpenGL/V2.c"
	XSprePUSH;
	PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL_glGetObjectParameterivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetObjectParameterivARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "obj, pname, params");
    {
	GLhandleARB	obj = (GLhandleARB)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 276 "lib/OpenGL/V2.xs"
		loadProc(glGetObjectParameterivARB,"glGetObjectParameterivARB");
#line 548 "lib/OpenGL/V2.c"
#line 278 "lib/OpenGL/V2.xs"
	{
		GLint * params_s = EL(params, sizeof(GLint));
		glGetObjectParameterivARB(obj,pname,params_s);
	}
#line 554 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetObjectParameterivARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetObjectParameterivARB_p)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "obj, pname");
    {
	GLhandleARB	obj = (GLhandleARB)SvUV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	GLint	RETVAL;
	dXSTARG;
#line 289 "lib/OpenGL/V2.xs"
		loadProc(glGetObjectParameterivARB,"glGetObjectParameterivARB");
#line 575 "lib/OpenGL/V2.c"
#line 291 "lib/OpenGL/V2.xs"
	{
		GLint	ret;
		glGetObjectParameterivARB(obj,pname,&ret);
		RETVAL = ret;
	}
#line 582 "lib/OpenGL/V2.c"
	XSprePUSH;
	PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL_glGetAttachedObjectsARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetAttachedObjectsARB_s)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "containerObj, maxCount, count, obj");
    {
	GLhandleARB	containerObj = (GLhandleARB)SvUV(ST(0))
;
	GLsizei	maxCount = (int)SvIV(ST(1))
;
	void *	count = INT2PTR(void *,SvIV(ST(2)))
;
	SV *	obj = ST(3)
;
#line 307 "lib/OpenGL/V2.xs"
		loadProc(glGetObjectParameterivARB,"glGetObjectParameterivARB");
		loadProc(glGetAttachedObjectsARB,"glGetAttachedObjectsARB");
#line 608 "lib/OpenGL/V2.c"
#line 310 "lib/OpenGL/V2.xs"
	{
		GLint len;
		glGetObjectParameterivARB(containerObj,GL_OBJECT_ATTACHED_OBJECTS_ARB,
			(GLvoid *)&len);
		if (len)
		{
			GLsizei * count_s = EL(count, sizeof(GLsizei));
			GLhandleARB * obj_s = EL(obj, sizeof(GLhandleARB)*len);
			glGetAttachedObjectsARB(containerObj, maxCount, count_s, obj_s);
		}
	}
#line 621 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetAttachedObjectsARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetAttachedObjectsARB_p)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "containerObj");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GLhandleARB	containerObj = (GLhandleARB)SvUV(ST(0))
;
#line 327 "lib/OpenGL/V2.xs"
		loadProc(glGetObjectParameterivARB,"glGetObjectParameterivARB");
		loadProc(glGetAttachedObjectsARB,"glGetAttachedObjectsARB");
#line 641 "lib/OpenGL/V2.c"
#line 330 "lib/OpenGL/V2.xs"
	{
		GLsizei maxCount;
		GLsizei count;
		GLhandleARB *obj;
		int i;

		glGetObjectParameterivARB(containerObj,GL_OBJECT_ATTACHED_OBJECTS_ARB,
			(GLvoid *)&maxCount);
		obj = malloc(sizeof(GLhandleARB)*maxCount);

		glGetAttachedObjectsARB(containerObj, maxCount, &count, obj);

		EXTEND(sp, count);
		for(i=0;i<count;i++)
			PUSHs(sv_2mortal(newSViv((IV)obj[i])));

		free(obj);
	}
#line 661 "lib/OpenGL/V2.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_OpenGL_glGetUniformfvARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetUniformfvARB_p)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "programObj, location, count=1");
    {
	GLhandleARB	programObj = (GLhandleARB)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	int	count;

	if (items < 3)
	    count = 1;
	else {
	    count = (int)SvIV(ST(2))
;
	}
#line 356 "lib/OpenGL/V2.xs"
		loadProc(glGetUniformfvARB,"glGetUniformfvARB");
#line 689 "lib/OpenGL/V2.c"
#line 358 "lib/OpenGL/V2.xs"
	{
		int i;
		GLfloat	*ret = malloc(sizeof(GLfloat)*count);
		glGetUniformfvARB(programObj, location, ret);

		for(i=0;i<count;i++)
			PUSHs(sv_2mortal(newSVnv(ret[i])));
	}
#line 699 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetUniformivARB_p); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetUniformivARB_p)
{
    dVAR; dXSARGS;
    if (items < 2 || items > 3)
       croak_xs_usage(cv,  "programObj, location, count=1");
    {
	GLhandleARB	programObj = (GLhandleARB)SvUV(ST(0))
;
	GLint	location = (int)SvIV(ST(1))
;
	int	count;

	if (items < 3)
	    count = 1;
	else {
	    count = (int)SvIV(ST(2))
;
	}
#line 374 "lib/OpenGL/V2.xs"
		loadProc(glGetUniformivARB,"glGetUniformivARB");
#line 726 "lib/OpenGL/V2.c"
#line 376 "lib/OpenGL/V2.xs"
	{
		int i;
		GLint	*ret = malloc(sizeof(GLint)*count);
		glGetUniformivARB(programObj, location, ret);

		for(i=0;i<count;i++)
			PUSHs(sv_2mortal(newSViv(ret[i])));
	}
#line 736 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif // GL_ARB_shader_objects
#define XSubPPtmpAAAD 1


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


XS_EUPXS(XS_OpenGL_glAreTexturesResident_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glAreTexturesResident_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "n, textures, residences");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	textures = ST(1)
;
	SV *	residences = ST(2)
;
	GLboolean	RETVAL;
#line 7 "lib/OpenGL/../../auto-xs.inc"
  const GLuint *textures_s = EL(textures, sizeof(GLuint)*n);
  GLboolean *residences_s = EL(residences, sizeof(GLboolean)*n);
  RETVAL = glAreTexturesResident(n, textures_s, residences_s);
#line 766 "lib/OpenGL/V2.c"
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_OpenGL_glClipPlane_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glClipPlane_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "plane, equation");
    {
	GLenum	plane = (int)SvIV(ST(0))
;
	SV *	equation = ST(1)
;
#line 18 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *equation_s = EL(equation, sizeof(GLdouble)*4);
  glClipPlane(plane, equation_s);
#line 787 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor3bv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor3bv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 25 "lib/OpenGL/../../auto-xs.inc"
  const GLbyte *v_s = EL(v, sizeof(GLbyte)*3);
  glColor3bv(v_s);
#line 805 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor3dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor3dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 32 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*3);
  glColor3dv(v_s);
#line 823 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor3fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor3fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 39 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*3);
  glColor3fv(v_s);
#line 841 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor3iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor3iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 46 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*3);
  glColor3iv(v_s);
#line 859 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor3sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor3sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 53 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*3);
  glColor3sv(v_s);
#line 877 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor3ubv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor3ubv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 60 "lib/OpenGL/../../auto-xs.inc"
  const GLubyte *v_s = EL(v, sizeof(GLubyte)*3);
  glColor3ubv(v_s);
#line 895 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor3uiv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor3uiv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 67 "lib/OpenGL/../../auto-xs.inc"
  const GLuint *v_s = EL(v, sizeof(GLuint)*3);
  glColor3uiv(v_s);
#line 913 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor3usv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor3usv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 74 "lib/OpenGL/../../auto-xs.inc"
  const GLushort *v_s = EL(v, sizeof(GLushort)*3);
  glColor3usv(v_s);
#line 931 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor4bv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor4bv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 81 "lib/OpenGL/../../auto-xs.inc"
  const GLbyte *v_s = EL(v, sizeof(GLbyte)*4);
  glColor4bv(v_s);
#line 949 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor4dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor4dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 88 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*4);
  glColor4dv(v_s);
#line 967 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor4fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor4fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 95 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*4);
  glColor4fv(v_s);
#line 985 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor4iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor4iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 102 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*4);
  glColor4iv(v_s);
#line 1003 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor4sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor4sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 109 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*4);
  glColor4sv(v_s);
#line 1021 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor4ubv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor4ubv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 116 "lib/OpenGL/../../auto-xs.inc"
  const GLubyte *v_s = EL(v, sizeof(GLubyte)*4);
  glColor4ubv(v_s);
#line 1039 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor4uiv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor4uiv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 123 "lib/OpenGL/../../auto-xs.inc"
  const GLuint *v_s = EL(v, sizeof(GLuint)*4);
  glColor4uiv(v_s);
#line 1057 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glColor4usv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glColor4usv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 130 "lib/OpenGL/../../auto-xs.inc"
  const GLushort *v_s = EL(v, sizeof(GLushort)*4);
  glColor4usv(v_s);
#line 1075 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_VERSION_1_5
#define XSubPPtmpAAAE 1


XS_EUPXS(XS_OpenGL_glDeleteBuffers_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glDeleteBuffers_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, buffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	buffers = ST(1)
;
#line 140 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glDeleteBuffers,"glDeleteBuffers");
#line 1097 "lib/OpenGL/V2.c"
#line 142 "lib/OpenGL/../../auto-xs.inc"
  const GLuint* buffers_s = EL(buffers, sizeof(GLuint)*n);
  glDeleteBuffers(n, buffers_s);
#line 1101 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_buffer_object
#define XSubPPtmpAAAF 1


XS_EUPXS(XS_OpenGL_glDeleteBuffersARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glDeleteBuffersARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, buffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	buffers = ST(1)
;
#line 154 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glDeleteBuffersARB,"glDeleteBuffersARB");
#line 1124 "lib/OpenGL/V2.c"
#line 156 "lib/OpenGL/../../auto-xs.inc"
  const GLuint* buffers_s = EL(buffers, sizeof(GLuint)*n);
  glDeleteBuffersARB(n, buffers_s);
#line 1128 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_framebuffer_object
#define XSubPPtmpAAAG 1


XS_EUPXS(XS_OpenGL_glDeleteFramebuffers_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glDeleteFramebuffers_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, framebuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	framebuffers = ST(1)
;
#line 168 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glDeleteFramebuffers,"glDeleteFramebuffers");
#line 1151 "lib/OpenGL/V2.c"
#line 170 "lib/OpenGL/../../auto-xs.inc"
  const GLuint* framebuffers_s = EL(framebuffers, sizeof(GLuint)*n);
  glDeleteFramebuffers(n, framebuffers_s);
#line 1155 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_EXT_framebuffer_object
#define XSubPPtmpAAAH 1


XS_EUPXS(XS_OpenGL_glDeleteFramebuffersEXT_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glDeleteFramebuffersEXT_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, framebuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	framebuffers = ST(1)
;
#line 182 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glDeleteFramebuffersEXT,"glDeleteFramebuffersEXT");
#line 1178 "lib/OpenGL/V2.c"
#line 184 "lib/OpenGL/../../auto-xs.inc"
  const GLuint* framebuffers_s = EL(framebuffers, sizeof(GLuint)*n);
  glDeleteFramebuffersEXT(n, framebuffers_s);
#line 1182 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAAAI 1


XS_EUPXS(XS_OpenGL_glDeleteProgramsARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glDeleteProgramsARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, programs");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	programs = ST(1)
;
#line 196 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glDeleteProgramsARB,"glDeleteProgramsARB");
#line 1205 "lib/OpenGL/V2.c"
#line 198 "lib/OpenGL/../../auto-xs.inc"
  const GLuint* programs_s = EL(programs, sizeof(GLuint)*n);
  glDeleteProgramsARB(n, programs_s);
#line 1209 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_framebuffer_object
#define XSubPPtmpAAAJ 1


XS_EUPXS(XS_OpenGL_glDeleteRenderbuffers_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glDeleteRenderbuffers_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, renderbuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	renderbuffers = ST(1)
;
#line 210 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glDeleteRenderbuffers,"glDeleteRenderbuffers");
#line 1232 "lib/OpenGL/V2.c"
#line 212 "lib/OpenGL/../../auto-xs.inc"
  const GLuint* renderbuffers_s = EL(renderbuffers, sizeof(GLuint)*n);
  glDeleteRenderbuffers(n, renderbuffers_s);
#line 1236 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_EXT_framebuffer_object
#define XSubPPtmpAAAK 1


XS_EUPXS(XS_OpenGL_glDeleteRenderbuffersEXT_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glDeleteRenderbuffersEXT_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, renderbuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	renderbuffers = ST(1)
;
#line 224 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glDeleteRenderbuffersEXT,"glDeleteRenderbuffersEXT");
#line 1259 "lib/OpenGL/V2.c"
#line 226 "lib/OpenGL/../../auto-xs.inc"
  const GLuint* renderbuffers_s = EL(renderbuffers, sizeof(GLuint)*n);
  glDeleteRenderbuffersEXT(n, renderbuffers_s);
#line 1263 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glDeleteTextures_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glDeleteTextures_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, textures");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	textures = ST(1)
;
#line 236 "lib/OpenGL/../../auto-xs.inc"
  const GLuint *textures_s = EL(textures, sizeof(GLuint)*n);
  glDeleteTextures(n, textures_s);
#line 1284 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_VERSION_2_0
#define XSubPPtmpAAAL 1


XS_EUPXS(XS_OpenGL_glDrawBuffers_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glDrawBuffers_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, bufs");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	bufs = ST(1)
;
#line 246 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glDrawBuffers,"glDrawBuffers");
#line 1306 "lib/OpenGL/V2.c"
#line 248 "lib/OpenGL/../../auto-xs.inc"
  const GLenum* bufs_s = EL(bufs, sizeof(GLenum)*n);
  glDrawBuffers(n, bufs_s);
#line 1310 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_draw_buffers
#define XSubPPtmpAAAM 1


XS_EUPXS(XS_OpenGL_glDrawBuffersARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glDrawBuffersARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, bufs");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	bufs = ST(1)
;
#line 260 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glDrawBuffersARB,"glDrawBuffersARB");
#line 1333 "lib/OpenGL/V2.c"
#line 262 "lib/OpenGL/../../auto-xs.inc"
  const GLenum* bufs_s = EL(bufs, sizeof(GLenum)*n);
  glDrawBuffersARB(n, bufs_s);
#line 1337 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glFogfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glFogfv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	SV *	params = ST(1)
;
#line 272 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_FogParameter_count(pname);
  if (pname_count < 0) croak("Unknown FogParameter parameter");
  const GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glFogfv(pname, params_s);
#line 1360 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glFogiv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glFogiv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	SV *	params = ST(1)
;
#line 282 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_FogParameter_count(pname);
  if (pname_count < 0) croak("Unknown FogParameter parameter");
  const GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glFogiv(pname, params_s);
#line 1382 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_VERSION_1_5
#define XSubPPtmpAAAN 1


XS_EUPXS(XS_OpenGL_glGenBuffers_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGenBuffers_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, buffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	buffers = ST(1)
;
#line 294 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGenBuffers,"glGenBuffers");
#line 1404 "lib/OpenGL/V2.c"
#line 296 "lib/OpenGL/../../auto-xs.inc"
  GLuint* buffers_s = EL(buffers, sizeof(GLuint)*n);
  glGenBuffers(n, buffers_s);
#line 1408 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_buffer_object
#define XSubPPtmpAAAO 1


XS_EUPXS(XS_OpenGL_glGenBuffersARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGenBuffersARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, buffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	buffers = ST(1)
;
#line 308 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGenBuffersARB,"glGenBuffersARB");
#line 1431 "lib/OpenGL/V2.c"
#line 310 "lib/OpenGL/../../auto-xs.inc"
  GLuint* buffers_s = EL(buffers, sizeof(GLuint)*n);
  glGenBuffersARB(n, buffers_s);
#line 1435 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_framebuffer_object
#define XSubPPtmpAAAP 1


XS_EUPXS(XS_OpenGL_glGenFramebuffers_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGenFramebuffers_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, framebuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	framebuffers = ST(1)
;
#line 322 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGenFramebuffers,"glGenFramebuffers");
#line 1458 "lib/OpenGL/V2.c"
#line 324 "lib/OpenGL/../../auto-xs.inc"
  GLuint* framebuffers_s = EL(framebuffers, sizeof(GLuint)*n);
  glGenFramebuffers(n, framebuffers_s);
#line 1462 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_EXT_framebuffer_object
#define XSubPPtmpAAAQ 1


XS_EUPXS(XS_OpenGL_glGenFramebuffersEXT_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGenFramebuffersEXT_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, framebuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	framebuffers = ST(1)
;
#line 336 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGenFramebuffersEXT,"glGenFramebuffersEXT");
#line 1485 "lib/OpenGL/V2.c"
#line 338 "lib/OpenGL/../../auto-xs.inc"
  GLuint* framebuffers_s = EL(framebuffers, sizeof(GLuint)*n);
  glGenFramebuffersEXT(n, framebuffers_s);
#line 1489 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAAAR 1


XS_EUPXS(XS_OpenGL_glGenProgramsARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGenProgramsARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, programs");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	programs = ST(1)
;
#line 350 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGenProgramsARB,"glGenProgramsARB");
#line 1512 "lib/OpenGL/V2.c"
#line 352 "lib/OpenGL/../../auto-xs.inc"
  GLuint* programs_s = EL(programs, sizeof(GLuint)*n);
  glGenProgramsARB(n, programs_s);
#line 1516 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_framebuffer_object
#define XSubPPtmpAAAS 1


XS_EUPXS(XS_OpenGL_glGenRenderbuffers_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGenRenderbuffers_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, renderbuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	renderbuffers = ST(1)
;
#line 364 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGenRenderbuffers,"glGenRenderbuffers");
#line 1539 "lib/OpenGL/V2.c"
#line 366 "lib/OpenGL/../../auto-xs.inc"
  GLuint* renderbuffers_s = EL(renderbuffers, sizeof(GLuint)*n);
  glGenRenderbuffers(n, renderbuffers_s);
#line 1543 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_EXT_framebuffer_object
#define XSubPPtmpAAAT 1


XS_EUPXS(XS_OpenGL_glGenRenderbuffersEXT_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGenRenderbuffersEXT_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, renderbuffers");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	renderbuffers = ST(1)
;
#line 378 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGenRenderbuffersEXT,"glGenRenderbuffersEXT");
#line 1566 "lib/OpenGL/V2.c"
#line 380 "lib/OpenGL/../../auto-xs.inc"
  GLuint* renderbuffers_s = EL(renderbuffers, sizeof(GLuint)*n);
  glGenRenderbuffersEXT(n, renderbuffers_s);
#line 1570 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glGenTextures_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGenTextures_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "n, textures");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	textures = ST(1)
;
#line 390 "lib/OpenGL/../../auto-xs.inc"
  GLuint *textures_s = EL(textures, sizeof(GLuint)*n);
  glGenTextures(n, textures_s);
#line 1591 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_ARB_vertex_shader
#define XSubPPtmpAAAU 1


XS_EUPXS(XS_OpenGL_glGetActiveAttribARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetActiveAttribARB_s)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "program, index, bufSize, length, size, type, name");
    {
	GLhandleARB	program = (GLhandleARB)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	SV *	length = ST(3)
;
	SV *	size = ST(4)
;
	SV *	type = ST(5)
;
	SV *	name = ST(6)
;
#line 405 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetActiveAttribARB,"glGetActiveAttribARB");
#line 1623 "lib/OpenGL/V2.c"
#line 407 "lib/OpenGL/../../auto-xs.inc"
  GLsizei* length_s = EL(length, sizeof(GLsizei)*1);
  GLint *size_s = EL(size, sizeof(GLint)*1);
  GLenum *type_s = EL(type, sizeof(GLenum)*1);
  GLcharARB *name_s = EL(name, sizeof(GLcharARB)*bufSize);
  glGetActiveAttribARB(program, index, bufSize, length_s, size_s, type_s, name_s);
#line 1630 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAAAV 1


XS_EUPXS(XS_OpenGL_glGetActiveUniformARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetActiveUniformARB_s)
{
    dVAR; dXSARGS;
    if (items != 7)
       croak_xs_usage(cv,  "program, index, bufSize, length, size, type, name");
    {
	GLhandleARB	program = (GLhandleARB)SvUV(ST(0))
;
	GLuint	index = (unsigned int)SvUV(ST(1))
;
	GLsizei	bufSize = (int)SvIV(ST(2))
;
	SV *	length = ST(3)
;
	SV *	size = ST(4)
;
	SV *	type = ST(5)
;
	SV *	name = ST(6)
;
#line 427 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetActiveUniformARB,"glGetActiveUniformARB");
#line 1663 "lib/OpenGL/V2.c"
#line 429 "lib/OpenGL/../../auto-xs.inc"
  GLsizei* length_s = EL(length, sizeof(GLsizei)*1);
  GLint *size_s = EL(size, sizeof(GLint)*1);
  GLenum *type_s = EL(type, sizeof(GLenum)*1);
  GLcharARB *name_s = EL(name, sizeof(GLcharARB)*bufSize);
  glGetActiveUniformARB(program, index, bufSize, length_s, size_s, type_s, name_s);
#line 1670 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glGetBooleanv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetBooleanv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, data");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	SV *	data = ST(1)
;
#line 442 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_GetPName_count(pname);
  if (pname_count < 0) croak("Unknown GetPName parameter");
  GLboolean *data_s = EL(data, sizeof(GLboolean)*pname_count);
  glGetBooleanv(pname, data_s);
#line 1693 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_VERSION_1_5
#define XSubPPtmpAAAW 1


XS_EUPXS(XS_OpenGL_glGetBufferParameteriv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetBufferParameteriv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 455 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetBufferParameteriv,"glGetBufferParameteriv");
#line 1717 "lib/OpenGL/V2.c"
#line 457 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_BufferPNameARB_count(pname);
  if (pname_count < 0) croak("Unknown BufferPNameARB parameter");
  GLint* params_s = EL(params, sizeof(GLint)*pname_count);
  glGetBufferParameteriv(target, pname, params_s);
#line 1723 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_buffer_object
#define XSubPPtmpAAAX 1


XS_EUPXS(XS_OpenGL_glGetBufferParameterivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetBufferParameterivARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 472 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetBufferParameterivARB,"glGetBufferParameterivARB");
#line 1748 "lib/OpenGL/V2.c"
#line 474 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_BufferPNameARB_count(pname);
  if (pname_count < 0) croak("Unknown BufferPNameARB parameter");
  GLint* params_s = EL(params, sizeof(GLint)*pname_count);
  glGetBufferParameterivARB(target, pname, params_s);
#line 1754 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glGetClipPlane_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetClipPlane_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "plane, equation");
    {
	GLenum	plane = (int)SvIV(ST(0))
;
	SV *	equation = ST(1)
;
#line 486 "lib/OpenGL/../../auto-xs.inc"
  GLdouble *equation_s = EL(equation, sizeof(GLdouble)*4);
  glGetClipPlane(plane, equation_s);
#line 1775 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetDoublev_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetDoublev_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, data");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	SV *	data = ST(1)
;
#line 494 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_GetPName_count(pname);
  if (pname_count < 0) croak("Unknown GetPName parameter");
  GLdouble *data_s = EL(data, sizeof(GLdouble)*pname_count);
  glGetDoublev(pname, data_s);
#line 1797 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetFloatv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetFloatv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, data");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	SV *	data = ST(1)
;
#line 504 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_GetPName_count(pname);
  if (pname_count < 0) croak("Unknown GetPName parameter");
  GLfloat *data_s = EL(data, sizeof(GLfloat)*pname_count);
  glGetFloatv(pname, data_s);
#line 1819 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_ARB_framebuffer_object
#define XSubPPtmpAAAY 1


XS_EUPXS(XS_OpenGL_glGetFramebufferAttachmentParameteriv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetFramebufferAttachmentParameteriv_s)
{
    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))
;
	SV *	params = ST(3)
;
#line 518 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetFramebufferAttachmentParameteriv,"glGetFramebufferAttachmentParameteriv");
#line 1845 "lib/OpenGL/V2.c"
#line 520 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_FramebufferAttachmentParameterName_count(pname);
  if (pname_count < 0) croak("Unknown FramebufferAttachmentParameterName parameter");
  GLint* params_s = EL(params, sizeof(GLint)*pname_count);
  glGetFramebufferAttachmentParameteriv(target, attachment, pname, params_s);
#line 1851 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_EXT_framebuffer_object
#define XSubPPtmpAAAZ 1


XS_EUPXS(XS_OpenGL_glGetFramebufferAttachmentParameterivEXT_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetFramebufferAttachmentParameterivEXT_s)
{
    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))
;
	SV *	params = ST(3)
;
#line 536 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetFramebufferAttachmentParameterivEXT,"glGetFramebufferAttachmentParameterivEXT");
#line 1878 "lib/OpenGL/V2.c"
#line 538 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_FramebufferAttachmentParameterName_count(pname);
  if (pname_count < 0) croak("Unknown FramebufferAttachmentParameterName parameter");
  GLint* params_s = EL(params, sizeof(GLint)*pname_count);
  glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, params_s);
#line 1884 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glGetIntegerv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetIntegerv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, data");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	SV *	data = ST(1)
;
#line 550 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_GetPName_count(pname);
  if (pname_count < 0) croak("Unknown GetPName parameter");
  GLint *data_s = EL(data, sizeof(GLint)*pname_count);
  glGetIntegerv(pname, data_s);
#line 1907 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetLightfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetLightfv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 561 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_LightParameter_count(pname);
  if (pname_count < 0) croak("Unknown LightParameter parameter");
  GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glGetLightfv(light, pname, params_s);
#line 1931 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetLightiv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetLightiv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 572 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_LightParameter_count(pname);
  if (pname_count < 0) croak("Unknown LightParameter parameter");
  GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glGetLightiv(light, pname, params_s);
#line 1955 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetMaterialfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetMaterialfv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 583 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_MaterialParameter_count(pname);
  if (pname_count < 0) croak("Unknown MaterialParameter parameter");
  GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glGetMaterialfv(face, pname, params_s);
#line 1979 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetMaterialiv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetMaterialiv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 594 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_MaterialParameter_count(pname);
  if (pname_count < 0) croak("Unknown MaterialParameter parameter");
  GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glGetMaterialiv(face, pname, params_s);
#line 2003 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_ARB_vertex_program
#define XSubPPtmpAABA 1


XS_EUPXS(XS_OpenGL_glGetProgramEnvParameterdvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetProgramEnvParameterdvARB_s)
{
    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))
;
	SV *	params = ST(2)
;
#line 607 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetProgramEnvParameterdvARB,"glGetProgramEnvParameterdvARB");
#line 2027 "lib/OpenGL/V2.c"
#line 609 "lib/OpenGL/../../auto-xs.inc"
  GLdouble* params_s = EL(params, sizeof(GLdouble)*4);
  glGetProgramEnvParameterdvARB(target, index, params_s);
#line 2031 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAABB 1


XS_EUPXS(XS_OpenGL_glGetProgramEnvParameterfvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetProgramEnvParameterfvARB_s)
{
    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))
;
	SV *	params = ST(2)
;
#line 622 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetProgramEnvParameterfvARB,"glGetProgramEnvParameterfvARB");
#line 2056 "lib/OpenGL/V2.c"
#line 624 "lib/OpenGL/../../auto-xs.inc"
  GLfloat* params_s = EL(params, sizeof(GLfloat)*4);
  glGetProgramEnvParameterfvARB(target, index, params_s);
#line 2060 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAABC 1


XS_EUPXS(XS_OpenGL_glGetProgramLocalParameterdvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetProgramLocalParameterdvARB_s)
{
    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))
;
	SV *	params = ST(2)
;
#line 637 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetProgramLocalParameterdvARB,"glGetProgramLocalParameterdvARB");
#line 2085 "lib/OpenGL/V2.c"
#line 639 "lib/OpenGL/../../auto-xs.inc"
  GLdouble* params_s = EL(params, sizeof(GLdouble)*4);
  glGetProgramLocalParameterdvARB(target, index, params_s);
#line 2089 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAABD 1


XS_EUPXS(XS_OpenGL_glGetProgramLocalParameterfvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetProgramLocalParameterfvARB_s)
{
    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))
;
	SV *	params = ST(2)
;
#line 652 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetProgramLocalParameterfvARB,"glGetProgramLocalParameterfvARB");
#line 2114 "lib/OpenGL/V2.c"
#line 654 "lib/OpenGL/../../auto-xs.inc"
  GLfloat* params_s = EL(params, sizeof(GLfloat)*4);
  glGetProgramLocalParameterfvARB(target, index, params_s);
#line 2118 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAABE 1


XS_EUPXS(XS_OpenGL_glGetProgramivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetProgramivARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 667 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetProgramivARB,"glGetProgramivARB");
#line 2143 "lib/OpenGL/V2.c"
#line 669 "lib/OpenGL/../../auto-xs.inc"
  GLint* params_s = EL(params, sizeof(GLint)*1);
  glGetProgramivARB(target, pname, params_s);
#line 2147 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_framebuffer_object
#define XSubPPtmpAABF 1


XS_EUPXS(XS_OpenGL_glGetRenderbufferParameteriv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetRenderbufferParameteriv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 682 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetRenderbufferParameteriv,"glGetRenderbufferParameteriv");
#line 2172 "lib/OpenGL/V2.c"
#line 684 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_RenderbufferParameterName_count(pname);
  if (pname_count < 0) croak("Unknown RenderbufferParameterName parameter");
  GLint* params_s = EL(params, sizeof(GLint)*pname_count);
  glGetRenderbufferParameteriv(target, pname, params_s);
#line 2178 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_EXT_framebuffer_object
#define XSubPPtmpAABG 1


XS_EUPXS(XS_OpenGL_glGetRenderbufferParameterivEXT_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetRenderbufferParameterivEXT_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 699 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetRenderbufferParameterivEXT,"glGetRenderbufferParameterivEXT");
#line 2203 "lib/OpenGL/V2.c"
#line 701 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_RenderbufferParameterName_count(pname);
  if (pname_count < 0) croak("Unknown RenderbufferParameterName parameter");
  GLint* params_s = EL(params, sizeof(GLint)*pname_count);
  glGetRenderbufferParameterivEXT(target, pname, params_s);
#line 2209 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glGetTexEnvfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetTexEnvfv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 714 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureEnvParameter_count(pname);
  if (pname_count < 0) croak("Unknown TextureEnvParameter parameter");
  GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glGetTexEnvfv(target, pname, params_s);
#line 2234 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetTexEnviv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetTexEnviv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 725 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureEnvParameter_count(pname);
  if (pname_count < 0) croak("Unknown TextureEnvParameter parameter");
  GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glGetTexEnviv(target, pname, params_s);
#line 2258 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetTexGendv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetTexGendv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 736 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureGenParameter_count(pname);
  if (pname_count < 0) croak("Unknown TextureGenParameter parameter");
  GLdouble *params_s = EL(params, sizeof(GLdouble)*pname_count);
  glGetTexGendv(coord, pname, params_s);
#line 2282 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetTexGenfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetTexGenfv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 747 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureGenParameter_count(pname);
  if (pname_count < 0) croak("Unknown TextureGenParameter parameter");
  GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glGetTexGenfv(coord, pname, params_s);
#line 2306 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetTexGeniv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetTexGeniv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 758 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureGenParameter_count(pname);
  if (pname_count < 0) croak("Unknown TextureGenParameter parameter");
  GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glGetTexGeniv(coord, pname, params_s);
#line 2330 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetTexLevelParameterfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetTexLevelParameterfv_s)
{
    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))
;
	SV *	params = ST(3)
;
#line 770 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_GetTextureParameter_count(pname);
  if (pname_count < 0) croak("Unknown GetTextureParameter parameter");
  GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glGetTexLevelParameterfv(target, level, pname, params_s);
#line 2356 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetTexLevelParameteriv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetTexLevelParameteriv_s)
{
    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))
;
	SV *	params = ST(3)
;
#line 782 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_GetTextureParameter_count(pname);
  if (pname_count < 0) croak("Unknown GetTextureParameter parameter");
  GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glGetTexLevelParameteriv(target, level, pname, params_s);
#line 2382 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetTexParameterfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetTexParameterfv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 793 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_GetTextureParameter_count(pname);
  if (pname_count < 0) croak("Unknown GetTextureParameter parameter");
  GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glGetTexParameterfv(target, pname, params_s);
#line 2406 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glGetTexParameteriv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetTexParameteriv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 804 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_GetTextureParameter_count(pname);
  if (pname_count < 0) croak("Unknown GetTextureParameter parameter");
  GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glGetTexParameteriv(target, pname, params_s);
#line 2430 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_ARB_vertex_program
#define XSubPPtmpAABH 1


XS_EUPXS(XS_OpenGL_glGetVertexAttribdvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetVertexAttribdvARB_s)
{
    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))
;
	SV *	params = ST(2)
;
#line 817 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetVertexAttribdvARB,"glGetVertexAttribdvARB");
#line 2454 "lib/OpenGL/V2.c"
#line 819 "lib/OpenGL/../../auto-xs.inc"
  GLdouble* params_s = EL(params, sizeof(GLdouble)*4);
  glGetVertexAttribdvARB(index, pname, params_s);
#line 2458 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAABI 1


XS_EUPXS(XS_OpenGL_glGetVertexAttribfvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetVertexAttribfvARB_s)
{
    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))
;
	SV *	params = ST(2)
;
#line 832 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetVertexAttribfvARB,"glGetVertexAttribfvARB");
#line 2483 "lib/OpenGL/V2.c"
#line 834 "lib/OpenGL/../../auto-xs.inc"
  GLfloat* params_s = EL(params, sizeof(GLfloat)*4);
  glGetVertexAttribfvARB(index, pname, params_s);
#line 2487 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAABJ 1


XS_EUPXS(XS_OpenGL_glGetVertexAttribivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glGetVertexAttribivARB_s)
{
    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))
;
	SV *	params = ST(2)
;
#line 847 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glGetVertexAttribivARB,"glGetVertexAttribivARB");
#line 2512 "lib/OpenGL/V2.c"
#line 849 "lib/OpenGL/../../auto-xs.inc"
  GLint* params_s = EL(params, sizeof(GLint)*4);
  glGetVertexAttribivARB(index, pname, params_s);
#line 2516 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glLightModelfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glLightModelfv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	SV *	params = ST(1)
;
#line 859 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_LightModelParameter_count(pname);
  if (pname_count < 0) croak("Unknown LightModelParameter parameter");
  const GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glLightModelfv(pname, params_s);
#line 2539 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glLightModeliv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glLightModeliv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	SV *	params = ST(1)
;
#line 869 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_LightModelParameter_count(pname);
  if (pname_count < 0) croak("Unknown LightModelParameter parameter");
  const GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glLightModeliv(pname, params_s);
#line 2561 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glLightfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glLightfv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 880 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_LightParameter_count(pname);
  if (pname_count < 0) croak("Unknown LightParameter parameter");
  const GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glLightfv(light, pname, params_s);
#line 2585 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glLightiv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glLightiv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "light, pname, params");
    {
	GLenum	light = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 891 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_LightParameter_count(pname);
  if (pname_count < 0) croak("Unknown LightParameter parameter");
  const GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glLightiv(light, pname, params_s);
#line 2609 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glLoadMatrixd_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glLoadMatrixd_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	SV *	m = ST(0)
;
#line 900 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *m_s = EL(m, sizeof(GLdouble)*16);
  glLoadMatrixd(m_s);
#line 2627 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glLoadMatrixf_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glLoadMatrixf_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "m");
    {
	SV *	m = ST(0)
;
#line 907 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *m_s = EL(m, sizeof(GLfloat)*16);
  glLoadMatrixf(m_s);
#line 2645 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glMaterialfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMaterialfv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 916 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_MaterialParameter_count(pname);
  if (pname_count < 0) croak("Unknown MaterialParameter parameter");
  const GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glMaterialfv(face, pname, params_s);
#line 2669 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glMaterialiv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMaterialiv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "face, pname, params");
    {
	GLenum	face = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 927 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_MaterialParameter_count(pname);
  if (pname_count < 0) croak("Unknown MaterialParameter parameter");
  const GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glMaterialiv(face, pname, params_s);
#line 2693 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_VERSION_1_3
#define XSubPPtmpAABK 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord1dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord1dv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 939 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord1dv,"glMultiTexCoord1dv");
#line 2715 "lib/OpenGL/V2.c"
#line 941 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*1);
  glMultiTexCoord1dv(target, v_s);
#line 2719 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAABL 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord1dvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord1dvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 953 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord1dvARB,"glMultiTexCoord1dvARB");
#line 2742 "lib/OpenGL/V2.c"
#line 955 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*1);
  glMultiTexCoord1dvARB(target, v_s);
#line 2746 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAABM 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord1fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord1fv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 967 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord1fv,"glMultiTexCoord1fv");
#line 2769 "lib/OpenGL/V2.c"
#line 969 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*1);
  glMultiTexCoord1fv(target, v_s);
#line 2773 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAABN 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord1fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord1fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 981 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord1fvARB,"glMultiTexCoord1fvARB");
#line 2796 "lib/OpenGL/V2.c"
#line 983 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*1);
  glMultiTexCoord1fvARB(target, v_s);
#line 2800 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAABO 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord1iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord1iv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 995 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord1iv,"glMultiTexCoord1iv");
#line 2823 "lib/OpenGL/V2.c"
#line 997 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*1);
  glMultiTexCoord1iv(target, v_s);
#line 2827 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAABP 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord1ivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord1ivARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1009 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord1ivARB,"glMultiTexCoord1ivARB");
#line 2850 "lib/OpenGL/V2.c"
#line 1011 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*1);
  glMultiTexCoord1ivARB(target, v_s);
#line 2854 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAABQ 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord1sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord1sv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1023 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord1sv,"glMultiTexCoord1sv");
#line 2877 "lib/OpenGL/V2.c"
#line 1025 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*1);
  glMultiTexCoord1sv(target, v_s);
#line 2881 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAABR 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord1svARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord1svARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1037 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord1svARB,"glMultiTexCoord1svARB");
#line 2904 "lib/OpenGL/V2.c"
#line 1039 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*1);
  glMultiTexCoord1svARB(target, v_s);
#line 2908 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAABS 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord2dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord2dv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1051 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord2dv,"glMultiTexCoord2dv");
#line 2931 "lib/OpenGL/V2.c"
#line 1053 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*2);
  glMultiTexCoord2dv(target, v_s);
#line 2935 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAABT 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord2dvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord2dvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1065 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord2dvARB,"glMultiTexCoord2dvARB");
#line 2958 "lib/OpenGL/V2.c"
#line 1067 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*2);
  glMultiTexCoord2dvARB(target, v_s);
#line 2962 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAABU 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord2fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord2fv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1079 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord2fv,"glMultiTexCoord2fv");
#line 2985 "lib/OpenGL/V2.c"
#line 1081 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*2);
  glMultiTexCoord2fv(target, v_s);
#line 2989 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAABV 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord2fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord2fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1093 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord2fvARB,"glMultiTexCoord2fvARB");
#line 3012 "lib/OpenGL/V2.c"
#line 1095 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*2);
  glMultiTexCoord2fvARB(target, v_s);
#line 3016 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAABW 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord2iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord2iv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1107 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord2iv,"glMultiTexCoord2iv");
#line 3039 "lib/OpenGL/V2.c"
#line 1109 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*2);
  glMultiTexCoord2iv(target, v_s);
#line 3043 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAABX 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord2ivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord2ivARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1121 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord2ivARB,"glMultiTexCoord2ivARB");
#line 3066 "lib/OpenGL/V2.c"
#line 1123 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*2);
  glMultiTexCoord2ivARB(target, v_s);
#line 3070 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAABY 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord2sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord2sv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1135 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord2sv,"glMultiTexCoord2sv");
#line 3093 "lib/OpenGL/V2.c"
#line 1137 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*2);
  glMultiTexCoord2sv(target, v_s);
#line 3097 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAABZ 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord2svARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord2svARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1149 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord2svARB,"glMultiTexCoord2svARB");
#line 3120 "lib/OpenGL/V2.c"
#line 1151 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*2);
  glMultiTexCoord2svARB(target, v_s);
#line 3124 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAACA 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord3dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord3dv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1163 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord3dv,"glMultiTexCoord3dv");
#line 3147 "lib/OpenGL/V2.c"
#line 1165 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*3);
  glMultiTexCoord3dv(target, v_s);
#line 3151 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAACB 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord3dvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord3dvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1177 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord3dvARB,"glMultiTexCoord3dvARB");
#line 3174 "lib/OpenGL/V2.c"
#line 1179 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*3);
  glMultiTexCoord3dvARB(target, v_s);
#line 3178 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAACC 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord3fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord3fv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1191 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord3fv,"glMultiTexCoord3fv");
#line 3201 "lib/OpenGL/V2.c"
#line 1193 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*3);
  glMultiTexCoord3fv(target, v_s);
#line 3205 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAACD 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord3fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord3fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1205 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord3fvARB,"glMultiTexCoord3fvARB");
#line 3228 "lib/OpenGL/V2.c"
#line 1207 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*3);
  glMultiTexCoord3fvARB(target, v_s);
#line 3232 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAACE 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord3iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord3iv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1219 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord3iv,"glMultiTexCoord3iv");
#line 3255 "lib/OpenGL/V2.c"
#line 1221 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*3);
  glMultiTexCoord3iv(target, v_s);
#line 3259 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAACF 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord3ivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord3ivARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1233 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord3ivARB,"glMultiTexCoord3ivARB");
#line 3282 "lib/OpenGL/V2.c"
#line 1235 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*3);
  glMultiTexCoord3ivARB(target, v_s);
#line 3286 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAACG 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord3sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord3sv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1247 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord3sv,"glMultiTexCoord3sv");
#line 3309 "lib/OpenGL/V2.c"
#line 1249 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*3);
  glMultiTexCoord3sv(target, v_s);
#line 3313 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAACH 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord3svARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord3svARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1261 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord3svARB,"glMultiTexCoord3svARB");
#line 3336 "lib/OpenGL/V2.c"
#line 1263 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*3);
  glMultiTexCoord3svARB(target, v_s);
#line 3340 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAACI 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord4dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord4dv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1275 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord4dv,"glMultiTexCoord4dv");
#line 3363 "lib/OpenGL/V2.c"
#line 1277 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*4);
  glMultiTexCoord4dv(target, v_s);
#line 3367 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAACJ 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord4dvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord4dvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1289 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord4dvARB,"glMultiTexCoord4dvARB");
#line 3390 "lib/OpenGL/V2.c"
#line 1291 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*4);
  glMultiTexCoord4dvARB(target, v_s);
#line 3394 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAACK 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord4fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord4fv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1303 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord4fv,"glMultiTexCoord4fv");
#line 3417 "lib/OpenGL/V2.c"
#line 1305 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*4);
  glMultiTexCoord4fv(target, v_s);
#line 3421 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAACL 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord4fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord4fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1317 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord4fvARB,"glMultiTexCoord4fvARB");
#line 3444 "lib/OpenGL/V2.c"
#line 1319 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*4);
  glMultiTexCoord4fvARB(target, v_s);
#line 3448 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAACM 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord4iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord4iv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1331 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord4iv,"glMultiTexCoord4iv");
#line 3471 "lib/OpenGL/V2.c"
#line 1333 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*4);
  glMultiTexCoord4iv(target, v_s);
#line 3475 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAACN 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord4ivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord4ivARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1345 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord4ivARB,"glMultiTexCoord4ivARB");
#line 3498 "lib/OpenGL/V2.c"
#line 1347 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*4);
  glMultiTexCoord4ivARB(target, v_s);
#line 3502 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_VERSION_1_3
#define XSubPPtmpAACO 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord4sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord4sv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1359 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord4sv,"glMultiTexCoord4sv");
#line 3525 "lib/OpenGL/V2.c"
#line 1361 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*4);
  glMultiTexCoord4sv(target, v_s);
#line 3529 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_multitexture
#define XSubPPtmpAACP 1


XS_EUPXS(XS_OpenGL_glMultiTexCoord4svARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glMultiTexCoord4svARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "target, v");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	SV *	v = ST(1)
;
#line 1373 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glMultiTexCoord4svARB,"glMultiTexCoord4svARB");
#line 3552 "lib/OpenGL/V2.c"
#line 1375 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*4);
  glMultiTexCoord4svARB(target, v_s);
#line 3556 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glNormal3bv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glNormal3bv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1384 "lib/OpenGL/../../auto-xs.inc"
  const GLbyte *v_s = EL(v, sizeof(GLbyte)*3);
  glNormal3bv(v_s);
#line 3575 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glNormal3dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glNormal3dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1391 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*3);
  glNormal3dv(v_s);
#line 3593 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glNormal3fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glNormal3fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1398 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*3);
  glNormal3fv(v_s);
#line 3611 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glNormal3iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glNormal3iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1405 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*3);
  glNormal3iv(v_s);
#line 3629 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glNormal3sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glNormal3sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1412 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*3);
  glNormal3sv(v_s);
#line 3647 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glPixelMapfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glPixelMapfv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "map, mapsize, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	mapsize = (int)SvIV(ST(1))
;
	SV *	values = ST(2)
;
#line 1421 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *values_s = EL(values, sizeof(GLfloat)*mapsize);
  glPixelMapfv(map, mapsize, values_s);
#line 3669 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glPixelMapuiv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glPixelMapuiv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "map, mapsize, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	mapsize = (int)SvIV(ST(1))
;
	SV *	values = ST(2)
;
#line 1430 "lib/OpenGL/../../auto-xs.inc"
  const GLuint *values_s = EL(values, sizeof(GLuint)*mapsize);
  glPixelMapuiv(map, mapsize, values_s);
#line 3691 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glPixelMapusv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glPixelMapusv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "map, mapsize, values");
    {
	GLenum	map = (int)SvIV(ST(0))
;
	GLsizei	mapsize = (int)SvIV(ST(1))
;
	SV *	values = ST(2)
;
#line 1439 "lib/OpenGL/../../auto-xs.inc"
  const GLushort *values_s = EL(values, sizeof(GLushort)*mapsize);
  glPixelMapusv(map, mapsize, values_s);
#line 3713 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_ARB_point_parameters
#define XSubPPtmpAACQ 1


XS_EUPXS(XS_OpenGL_glPointParameterfvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glPointParameterfvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "pname, params");
    {
	GLenum	pname = (int)SvIV(ST(0))
;
	SV *	params = ST(1)
;
#line 1449 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glPointParameterfvARB,"glPointParameterfvARB");
#line 3735 "lib/OpenGL/V2.c"
#line 1451 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_PointParameterNameARB_count(pname);
  if (pname_count < 0) croak("Unknown PointParameterNameARB parameter");
  const GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glPointParameterfvARB(pname, params_s);
#line 3741 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glPrioritizeTextures_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glPrioritizeTextures_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "n, textures, priorities");
    {
	GLsizei	n = (int)SvIV(ST(0))
;
	SV *	textures = ST(1)
;
	SV *	priorities = ST(2)
;
#line 1464 "lib/OpenGL/../../auto-xs.inc"
  const GLuint *textures_s = EL(textures, sizeof(GLuint)*n);
  const GLclampf *priorities_s = EL(priorities, sizeof(GLclampf)*n);
  glPrioritizeTextures(n, textures_s, priorities_s);
#line 3765 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_ARB_vertex_program
#define XSubPPtmpAACR 1


XS_EUPXS(XS_OpenGL_glProgramEnvParameter4dvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glProgramEnvParameter4dvARB_s)
{
    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))
;
	SV *	params = ST(2)
;
#line 1476 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glProgramEnvParameter4dvARB,"glProgramEnvParameter4dvARB");
#line 3789 "lib/OpenGL/V2.c"
#line 1478 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble* params_s = EL(params, sizeof(GLdouble)*4);
  glProgramEnvParameter4dvARB(target, index, params_s);
#line 3793 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAACS 1


XS_EUPXS(XS_OpenGL_glProgramEnvParameter4fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glProgramEnvParameter4fvARB_s)
{
    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))
;
	SV *	params = ST(2)
;
#line 1491 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glProgramEnvParameter4fvARB,"glProgramEnvParameter4fvARB");
#line 3818 "lib/OpenGL/V2.c"
#line 1493 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* params_s = EL(params, sizeof(GLfloat)*4);
  glProgramEnvParameter4fvARB(target, index, params_s);
#line 3822 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAACT 1


XS_EUPXS(XS_OpenGL_glProgramLocalParameter4dvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glProgramLocalParameter4dvARB_s)
{
    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))
;
	SV *	params = ST(2)
;
#line 1506 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glProgramLocalParameter4dvARB,"glProgramLocalParameter4dvARB");
#line 3847 "lib/OpenGL/V2.c"
#line 1508 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble* params_s = EL(params, sizeof(GLdouble)*4);
  glProgramLocalParameter4dvARB(target, index, params_s);
#line 3851 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAACU 1


XS_EUPXS(XS_OpenGL_glProgramLocalParameter4fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glProgramLocalParameter4fvARB_s)
{
    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))
;
	SV *	params = ST(2)
;
#line 1521 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glProgramLocalParameter4fvARB,"glProgramLocalParameter4fvARB");
#line 3876 "lib/OpenGL/V2.c"
#line 1523 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* params_s = EL(params, sizeof(GLfloat)*4);
  glProgramLocalParameter4fvARB(target, index, params_s);
#line 3880 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glRasterPos2dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos2dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1532 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*2);
  glRasterPos2dv(v_s);
#line 3899 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRasterPos2fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos2fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1539 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*2);
  glRasterPos2fv(v_s);
#line 3917 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRasterPos2iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos2iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1546 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*2);
  glRasterPos2iv(v_s);
#line 3935 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRasterPos2sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos2sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1553 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*2);
  glRasterPos2sv(v_s);
#line 3953 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRasterPos3dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos3dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1560 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*3);
  glRasterPos3dv(v_s);
#line 3971 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRasterPos3fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos3fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1567 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*3);
  glRasterPos3fv(v_s);
#line 3989 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRasterPos3iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos3iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1574 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*3);
  glRasterPos3iv(v_s);
#line 4007 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRasterPos3sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos3sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1581 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*3);
  glRasterPos3sv(v_s);
#line 4025 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRasterPos4dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos4dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1588 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*4);
  glRasterPos4dv(v_s);
#line 4043 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRasterPos4fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos4fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1595 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*4);
  glRasterPos4fv(v_s);
#line 4061 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRasterPos4iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos4iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1602 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*4);
  glRasterPos4iv(v_s);
#line 4079 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRasterPos4sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRasterPos4sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1609 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*4);
  glRasterPos4sv(v_s);
#line 4097 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRectdv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRectdv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1, v2");
    {
	SV *	v1 = ST(0)
;
	SV *	v2 = ST(1)
;
#line 1617 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v1_s = EL(v1, sizeof(GLdouble)*2);
  const GLdouble *v2_s = EL(v2, sizeof(GLdouble)*2);
  glRectdv(v1_s, v2_s);
#line 4118 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRectfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRectfv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1, v2");
    {
	SV *	v1 = ST(0)
;
	SV *	v2 = ST(1)
;
#line 1626 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v1_s = EL(v1, sizeof(GLfloat)*2);
  const GLfloat *v2_s = EL(v2, sizeof(GLfloat)*2);
  glRectfv(v1_s, v2_s);
#line 4139 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRectiv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRectiv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1, v2");
    {
	SV *	v1 = ST(0)
;
	SV *	v2 = ST(1)
;
#line 1635 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v1_s = EL(v1, sizeof(GLint)*2);
  const GLint *v2_s = EL(v2, sizeof(GLint)*2);
  glRectiv(v1_s, v2_s);
#line 4160 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glRectsv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glRectsv_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "v1, v2");
    {
	SV *	v1 = ST(0)
;
	SV *	v2 = ST(1)
;
#line 1644 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v1_s = EL(v1, sizeof(GLshort)*2);
  const GLshort *v2_s = EL(v2, sizeof(GLshort)*2);
  glRectsv(v1_s, v2_s);
#line 4181 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord1dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord1dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1652 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*1);
  glTexCoord1dv(v_s);
#line 4199 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord1fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord1fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1659 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*1);
  glTexCoord1fv(v_s);
#line 4217 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord1iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord1iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1666 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*1);
  glTexCoord1iv(v_s);
#line 4235 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord1sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord1sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1673 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*1);
  glTexCoord1sv(v_s);
#line 4253 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord2dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord2dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1680 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*2);
  glTexCoord2dv(v_s);
#line 4271 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord2fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord2fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1687 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*2);
  glTexCoord2fv(v_s);
#line 4289 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord2iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord2iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1694 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*2);
  glTexCoord2iv(v_s);
#line 4307 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord2sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord2sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1701 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*2);
  glTexCoord2sv(v_s);
#line 4325 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord3dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord3dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1708 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*3);
  glTexCoord3dv(v_s);
#line 4343 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord3fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord3fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1715 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*3);
  glTexCoord3fv(v_s);
#line 4361 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord3iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord3iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1722 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*3);
  glTexCoord3iv(v_s);
#line 4379 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord3sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord3sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1729 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*3);
  glTexCoord3sv(v_s);
#line 4397 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord4dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord4dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1736 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*4);
  glTexCoord4dv(v_s);
#line 4415 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord4fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord4fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1743 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*4);
  glTexCoord4fv(v_s);
#line 4433 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord4iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord4iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1750 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*4);
  glTexCoord4iv(v_s);
#line 4451 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexCoord4sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexCoord4sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 1757 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*4);
  glTexCoord4sv(v_s);
#line 4469 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexEnvfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexEnvfv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 1766 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureEnvParameter_count(pname);
  if (pname_count < 0) croak("Unknown TextureEnvParameter parameter");
  const GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glTexEnvfv(target, pname, params_s);
#line 4493 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexEnviv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexEnviv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 1777 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureEnvParameter_count(pname);
  if (pname_count < 0) croak("Unknown TextureEnvParameter parameter");
  const GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glTexEnviv(target, pname, params_s);
#line 4517 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexGendv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexGendv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 1788 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureGenParameter_count(pname);
  if (pname_count < 0) croak("Unknown TextureGenParameter parameter");
  const GLdouble *params_s = EL(params, sizeof(GLdouble)*pname_count);
  glTexGendv(coord, pname, params_s);
#line 4541 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexGenfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexGenfv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 1799 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureGenParameter_count(pname);
  if (pname_count < 0) croak("Unknown TextureGenParameter parameter");
  const GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glTexGenfv(coord, pname, params_s);
#line 4565 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexGeniv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexGeniv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "coord, pname, params");
    {
	GLenum	coord = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 1810 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureGenParameter_count(pname);
  if (pname_count < 0) croak("Unknown TextureGenParameter parameter");
  const GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glTexGeniv(coord, pname, params_s);
#line 4589 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexParameterfv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexParameterfv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 1821 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureParameterName_count(pname);
  if (pname_count < 0) croak("Unknown TextureParameterName parameter");
  const GLfloat *params_s = EL(params, sizeof(GLfloat)*pname_count);
  glTexParameterfv(target, pname, params_s);
#line 4613 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glTexParameteriv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glTexParameteriv_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "target, pname, params");
    {
	GLenum	target = (int)SvIV(ST(0))
;
	GLenum	pname = (int)SvIV(ST(1))
;
	SV *	params = ST(2)
;
#line 1832 "lib/OpenGL/../../auto-xs.inc"
  int pname_count = gl_TextureParameterName_count(pname);
  if (pname_count < 0) croak("Unknown TextureParameterName parameter");
  const GLint *params_s = EL(params, sizeof(GLint)*pname_count);
  glTexParameteriv(target, pname, params_s);
#line 4637 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_ARB_shader_objects
#define XSubPPtmpAACV 1


XS_EUPXS(XS_OpenGL_glUniform1fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glUniform1fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	SV *	value = ST(2)
;
#line 1845 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glUniform1fvARB,"glUniform1fvARB");
#line 4661 "lib/OpenGL/V2.c"
#line 1847 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* value_s = EL(value, sizeof(GLfloat)*count*1);
  glUniform1fvARB(location, count, value_s);
#line 4665 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAACW 1


XS_EUPXS(XS_OpenGL_glUniform1ivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glUniform1ivARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	SV *	value = ST(2)
;
#line 1860 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glUniform1ivARB,"glUniform1ivARB");
#line 4690 "lib/OpenGL/V2.c"
#line 1862 "lib/OpenGL/../../auto-xs.inc"
  const GLint* value_s = EL(value, sizeof(GLint)*count*1);
  glUniform1ivARB(location, count, value_s);
#line 4694 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAACX 1


XS_EUPXS(XS_OpenGL_glUniform2fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glUniform2fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	SV *	value = ST(2)
;
#line 1875 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glUniform2fvARB,"glUniform2fvARB");
#line 4719 "lib/OpenGL/V2.c"
#line 1877 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* value_s = EL(value, sizeof(GLfloat)*count*2);
  glUniform2fvARB(location, count, value_s);
#line 4723 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAACY 1


XS_EUPXS(XS_OpenGL_glUniform2ivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glUniform2ivARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	SV *	value = ST(2)
;
#line 1890 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glUniform2ivARB,"glUniform2ivARB");
#line 4748 "lib/OpenGL/V2.c"
#line 1892 "lib/OpenGL/../../auto-xs.inc"
  const GLint* value_s = EL(value, sizeof(GLint)*count*2);
  glUniform2ivARB(location, count, value_s);
#line 4752 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAACZ 1


XS_EUPXS(XS_OpenGL_glUniform3fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glUniform3fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	SV *	value = ST(2)
;
#line 1905 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glUniform3fvARB,"glUniform3fvARB");
#line 4777 "lib/OpenGL/V2.c"
#line 1907 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* value_s = EL(value, sizeof(GLfloat)*count*3);
  glUniform3fvARB(location, count, value_s);
#line 4781 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAADA 1


XS_EUPXS(XS_OpenGL_glUniform3ivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glUniform3ivARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	SV *	value = ST(2)
;
#line 1920 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glUniform3ivARB,"glUniform3ivARB");
#line 4806 "lib/OpenGL/V2.c"
#line 1922 "lib/OpenGL/../../auto-xs.inc"
  const GLint* value_s = EL(value, sizeof(GLint)*count*3);
  glUniform3ivARB(location, count, value_s);
#line 4810 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAADB 1


XS_EUPXS(XS_OpenGL_glUniform4fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glUniform4fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	SV *	value = ST(2)
;
#line 1935 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glUniform4fvARB,"glUniform4fvARB");
#line 4835 "lib/OpenGL/V2.c"
#line 1937 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* value_s = EL(value, sizeof(GLfloat)*count*4);
  glUniform4fvARB(location, count, value_s);
#line 4839 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAADC 1


XS_EUPXS(XS_OpenGL_glUniform4ivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glUniform4ivARB_s)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "location, count, value");
    {
	GLint	location = (int)SvIV(ST(0))
;
	GLsizei	count = (int)SvIV(ST(1))
;
	SV *	value = ST(2)
;
#line 1950 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glUniform4ivARB,"glUniform4ivARB");
#line 4864 "lib/OpenGL/V2.c"
#line 1952 "lib/OpenGL/../../auto-xs.inc"
  const GLint* value_s = EL(value, sizeof(GLint)*count*4);
  glUniform4ivARB(location, count, value_s);
#line 4868 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAADD 1


XS_EUPXS(XS_OpenGL_glUniformMatrix2fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glUniformMatrix2fvARB_s)
{
    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 = (bool)SvTRUE(ST(2))
;
	SV *	value = ST(3)
;
#line 1966 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glUniformMatrix2fvARB,"glUniformMatrix2fvARB");
#line 4895 "lib/OpenGL/V2.c"
#line 1968 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* value_s = EL(value, sizeof(GLfloat)*count*4);
  glUniformMatrix2fvARB(location, count, transpose, value_s);
#line 4899 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAADE 1


XS_EUPXS(XS_OpenGL_glUniformMatrix3fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glUniformMatrix3fvARB_s)
{
    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 = (bool)SvTRUE(ST(2))
;
	SV *	value = ST(3)
;
#line 1982 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glUniformMatrix3fvARB,"glUniformMatrix3fvARB");
#line 4926 "lib/OpenGL/V2.c"
#line 1984 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* value_s = EL(value, sizeof(GLfloat)*count*9);
  glUniformMatrix3fvARB(location, count, transpose, value_s);
#line 4930 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_shader_objects
#define XSubPPtmpAADF 1


XS_EUPXS(XS_OpenGL_glUniformMatrix4fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glUniformMatrix4fvARB_s)
{
    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 = (bool)SvTRUE(ST(2))
;
	SV *	value = ST(3)
;
#line 1998 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glUniformMatrix4fvARB,"glUniformMatrix4fvARB");
#line 4957 "lib/OpenGL/V2.c"
#line 2000 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* value_s = EL(value, sizeof(GLfloat)*count*16);
  glUniformMatrix4fvARB(location, count, transpose, value_s);
#line 4961 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

XS_EUPXS(XS_OpenGL_glVertex2dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex2dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2009 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*2);
  glVertex2dv(v_s);
#line 4980 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glVertex2fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex2fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2016 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*2);
  glVertex2fv(v_s);
#line 4998 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glVertex2iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex2iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2023 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*2);
  glVertex2iv(v_s);
#line 5016 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glVertex2sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex2sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2030 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*2);
  glVertex2sv(v_s);
#line 5034 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glVertex3dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex3dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2037 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*3);
  glVertex3dv(v_s);
#line 5052 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glVertex3fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex3fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2044 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*3);
  glVertex3fv(v_s);
#line 5070 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glVertex3iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex3iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2051 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*3);
  glVertex3iv(v_s);
#line 5088 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glVertex3sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex3sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2058 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*3);
  glVertex3sv(v_s);
#line 5106 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glVertex4dv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex4dv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2065 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble *v_s = EL(v, sizeof(GLdouble)*4);
  glVertex4dv(v_s);
#line 5124 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glVertex4fv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex4fv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2072 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat *v_s = EL(v, sizeof(GLfloat)*4);
  glVertex4fv(v_s);
#line 5142 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glVertex4iv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex4iv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2079 "lib/OpenGL/../../auto-xs.inc"
  const GLint *v_s = EL(v, sizeof(GLint)*4);
  glVertex4iv(v_s);
#line 5160 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_OpenGL_glVertex4sv_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertex4sv_s)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "v");
    {
	SV *	v = ST(0)
;
#line 2086 "lib/OpenGL/../../auto-xs.inc"
  const GLshort *v_s = EL(v, sizeof(GLshort)*4);
  glVertex4sv(v_s);
#line 5178 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADG 1


XS_EUPXS(XS_OpenGL_glVertexAttrib1dvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib1dvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2096 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib1dvARB,"glVertexAttrib1dvARB");
#line 5200 "lib/OpenGL/V2.c"
#line 2098 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble* v_s = EL(v, sizeof(GLdouble)*1);
  glVertexAttrib1dvARB(index, v_s);
#line 5204 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADH 1


XS_EUPXS(XS_OpenGL_glVertexAttrib1fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib1fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2110 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib1fvARB,"glVertexAttrib1fvARB");
#line 5227 "lib/OpenGL/V2.c"
#line 2112 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* v_s = EL(v, sizeof(GLfloat)*1);
  glVertexAttrib1fvARB(index, v_s);
#line 5231 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADI 1


XS_EUPXS(XS_OpenGL_glVertexAttrib1svARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib1svARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2124 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib1svARB,"glVertexAttrib1svARB");
#line 5254 "lib/OpenGL/V2.c"
#line 2126 "lib/OpenGL/../../auto-xs.inc"
  const GLshort* v_s = EL(v, sizeof(GLshort)*1);
  glVertexAttrib1svARB(index, v_s);
#line 5258 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADJ 1


XS_EUPXS(XS_OpenGL_glVertexAttrib2dvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib2dvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2138 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib2dvARB,"glVertexAttrib2dvARB");
#line 5281 "lib/OpenGL/V2.c"
#line 2140 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble* v_s = EL(v, sizeof(GLdouble)*2);
  glVertexAttrib2dvARB(index, v_s);
#line 5285 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADK 1


XS_EUPXS(XS_OpenGL_glVertexAttrib2fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib2fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2152 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib2fvARB,"glVertexAttrib2fvARB");
#line 5308 "lib/OpenGL/V2.c"
#line 2154 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* v_s = EL(v, sizeof(GLfloat)*2);
  glVertexAttrib2fvARB(index, v_s);
#line 5312 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADL 1


XS_EUPXS(XS_OpenGL_glVertexAttrib2svARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib2svARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2166 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib2svARB,"glVertexAttrib2svARB");
#line 5335 "lib/OpenGL/V2.c"
#line 2168 "lib/OpenGL/../../auto-xs.inc"
  const GLshort* v_s = EL(v, sizeof(GLshort)*2);
  glVertexAttrib2svARB(index, v_s);
#line 5339 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADM 1


XS_EUPXS(XS_OpenGL_glVertexAttrib3dvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib3dvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2180 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib3dvARB,"glVertexAttrib3dvARB");
#line 5362 "lib/OpenGL/V2.c"
#line 2182 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble* v_s = EL(v, sizeof(GLdouble)*3);
  glVertexAttrib3dvARB(index, v_s);
#line 5366 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADN 1


XS_EUPXS(XS_OpenGL_glVertexAttrib3fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib3fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2194 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib3fvARB,"glVertexAttrib3fvARB");
#line 5389 "lib/OpenGL/V2.c"
#line 2196 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* v_s = EL(v, sizeof(GLfloat)*3);
  glVertexAttrib3fvARB(index, v_s);
#line 5393 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADO 1


XS_EUPXS(XS_OpenGL_glVertexAttrib3svARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib3svARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2208 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib3svARB,"glVertexAttrib3svARB");
#line 5416 "lib/OpenGL/V2.c"
#line 2210 "lib/OpenGL/../../auto-xs.inc"
  const GLshort* v_s = EL(v, sizeof(GLshort)*3);
  glVertexAttrib3svARB(index, v_s);
#line 5420 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADP 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4NbvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4NbvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2222 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4NbvARB,"glVertexAttrib4NbvARB");
#line 5443 "lib/OpenGL/V2.c"
#line 2224 "lib/OpenGL/../../auto-xs.inc"
  const GLbyte* v_s = EL(v, sizeof(GLbyte)*4);
  glVertexAttrib4NbvARB(index, v_s);
#line 5447 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADQ 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4NivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4NivARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2236 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4NivARB,"glVertexAttrib4NivARB");
#line 5470 "lib/OpenGL/V2.c"
#line 2238 "lib/OpenGL/../../auto-xs.inc"
  const GLint* v_s = EL(v, sizeof(GLint)*4);
  glVertexAttrib4NivARB(index, v_s);
#line 5474 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADR 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4NsvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4NsvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2250 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4NsvARB,"glVertexAttrib4NsvARB");
#line 5497 "lib/OpenGL/V2.c"
#line 2252 "lib/OpenGL/../../auto-xs.inc"
  const GLshort* v_s = EL(v, sizeof(GLshort)*4);
  glVertexAttrib4NsvARB(index, v_s);
#line 5501 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADS 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4NubvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4NubvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2264 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4NubvARB,"glVertexAttrib4NubvARB");
#line 5524 "lib/OpenGL/V2.c"
#line 2266 "lib/OpenGL/../../auto-xs.inc"
  const GLubyte* v_s = EL(v, sizeof(GLubyte)*4);
  glVertexAttrib4NubvARB(index, v_s);
#line 5528 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADT 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4NuivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4NuivARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2278 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4NuivARB,"glVertexAttrib4NuivARB");
#line 5551 "lib/OpenGL/V2.c"
#line 2280 "lib/OpenGL/../../auto-xs.inc"
  const GLuint* v_s = EL(v, sizeof(GLuint)*4);
  glVertexAttrib4NuivARB(index, v_s);
#line 5555 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADU 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4NusvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4NusvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2292 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4NusvARB,"glVertexAttrib4NusvARB");
#line 5578 "lib/OpenGL/V2.c"
#line 2294 "lib/OpenGL/../../auto-xs.inc"
  const GLushort* v_s = EL(v, sizeof(GLushort)*4);
  glVertexAttrib4NusvARB(index, v_s);
#line 5582 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADV 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4bvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4bvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2306 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4bvARB,"glVertexAttrib4bvARB");
#line 5605 "lib/OpenGL/V2.c"
#line 2308 "lib/OpenGL/../../auto-xs.inc"
  const GLbyte* v_s = EL(v, sizeof(GLbyte)*4);
  glVertexAttrib4bvARB(index, v_s);
#line 5609 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADW 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4dvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4dvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2320 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4dvARB,"glVertexAttrib4dvARB");
#line 5632 "lib/OpenGL/V2.c"
#line 2322 "lib/OpenGL/../../auto-xs.inc"
  const GLdouble* v_s = EL(v, sizeof(GLdouble)*4);
  glVertexAttrib4dvARB(index, v_s);
#line 5636 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADX 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4fvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4fvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2334 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4fvARB,"glVertexAttrib4fvARB");
#line 5659 "lib/OpenGL/V2.c"
#line 2336 "lib/OpenGL/../../auto-xs.inc"
  const GLfloat* v_s = EL(v, sizeof(GLfloat)*4);
  glVertexAttrib4fvARB(index, v_s);
#line 5663 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADY 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4ivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4ivARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2348 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4ivARB,"glVertexAttrib4ivARB");
#line 5686 "lib/OpenGL/V2.c"
#line 2350 "lib/OpenGL/../../auto-xs.inc"
  const GLint* v_s = EL(v, sizeof(GLint)*4);
  glVertexAttrib4ivARB(index, v_s);
#line 5690 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAADZ 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4svARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4svARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2362 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4svARB,"glVertexAttrib4svARB");
#line 5713 "lib/OpenGL/V2.c"
#line 2364 "lib/OpenGL/../../auto-xs.inc"
  const GLshort* v_s = EL(v, sizeof(GLshort)*4);
  glVertexAttrib4svARB(index, v_s);
#line 5717 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAAEA 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4ubvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4ubvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2376 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4ubvARB,"glVertexAttrib4ubvARB");
#line 5740 "lib/OpenGL/V2.c"
#line 2378 "lib/OpenGL/../../auto-xs.inc"
  const GLubyte* v_s = EL(v, sizeof(GLubyte)*4);
  glVertexAttrib4ubvARB(index, v_s);
#line 5744 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAAEB 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4uivARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4uivARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2390 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4uivARB,"glVertexAttrib4uivARB");
#line 5767 "lib/OpenGL/V2.c"
#line 2392 "lib/OpenGL/../../auto-xs.inc"
  const GLuint* v_s = EL(v, sizeof(GLuint)*4);
  glVertexAttrib4uivARB(index, v_s);
#line 5771 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif
#ifdef GL_ARB_vertex_program
#define XSubPPtmpAAEC 1


XS_EUPXS(XS_OpenGL_glVertexAttrib4usvARB_s); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_OpenGL_glVertexAttrib4usvARB_s)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "index, v");
    {
	GLuint	index = (unsigned int)SvUV(ST(0))
;
	SV *	v = ST(1)
;
#line 2404 "lib/OpenGL/../../auto-xs.inc"
  loadProc(glVertexAttrib4usvARB,"glVertexAttrib4usvARB");
#line 5794 "lib/OpenGL/V2.c"
#line 2406 "lib/OpenGL/../../auto-xs.inc"
  const GLushort* v_s = EL(v, sizeof(GLushort)*4);
  glVertexAttrib4usvARB(index, v_s);
#line 5798 "lib/OpenGL/V2.c"
    }
    XSRETURN_EMPTY;
}

#endif

/* INCLUDE: Returning to 'V2.xs' from '../../auto-xs.inc' */

#endif /* HAVE_GL */
#ifdef __cplusplus
extern "C" {
#endif
XS_EXTERNAL(boot_OpenGL__V2); /* prototype to pass -Wmissing-prototypes */
XS_EXTERNAL(boot_OpenGL__V2)
{
#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

#if XSubPPtmpAAAA
        newXS_deffile("OpenGL::glProgramStringARB_s", XS_OpenGL_glProgramStringARB_s);
        newXS_deffile("OpenGL::glProgramStringARB_p", XS_OpenGL_glProgramStringARB_p);
        newXS_deffile("OpenGL::glGetProgramStringARB_s", XS_OpenGL_glGetProgramStringARB_s);
        newXS_deffile("OpenGL::glGetProgramStringARB_p", XS_OpenGL_glGetProgramStringARB_p);
#endif
#if XSubPPtmpAAAB
        newXS_deffile("OpenGL::glVertexAttribPointerARB_p", XS_OpenGL_glVertexAttribPointerARB_p);
        newXS_deffile("OpenGL::glGetVertexAttribPointervARB_p", XS_OpenGL_glGetVertexAttribPointervARB_p);
#endif
#if XSubPPtmpAAAC
        newXS_deffile("OpenGL::glGetObjectParameterfvARB_s", XS_OpenGL_glGetObjectParameterfvARB_s);
        newXS_deffile("OpenGL::glGetObjectParameterfvARB_p", XS_OpenGL_glGetObjectParameterfvARB_p);
        newXS_deffile("OpenGL::glGetObjectParameterivARB_s", XS_OpenGL_glGetObjectParameterivARB_s);
        newXS_deffile("OpenGL::glGetObjectParameterivARB_p", XS_OpenGL_glGetObjectParameterivARB_p);
        newXS_deffile("OpenGL::glGetAttachedObjectsARB_s", XS_OpenGL_glGetAttachedObjectsARB_s);
        newXS_deffile("OpenGL::glGetAttachedObjectsARB_p", XS_OpenGL_glGetAttachedObjectsARB_p);
        newXS_deffile("OpenGL::glGetUniformfvARB_p", XS_OpenGL_glGetUniformfvARB_p);
        newXS_deffile("OpenGL::glGetUniformivARB_p", XS_OpenGL_glGetUniformivARB_p);
#endif
#if XSubPPtmpAAAD
        newXS_deffile("OpenGL::glAreTexturesResident_s", XS_OpenGL_glAreTexturesResident_s);
        newXS_deffile("OpenGL::glClipPlane_s", XS_OpenGL_glClipPlane_s);
        newXS_deffile("OpenGL::glColor3bv_s", XS_OpenGL_glColor3bv_s);
        newXS_deffile("OpenGL::glColor3dv_s", XS_OpenGL_glColor3dv_s);
        newXS_deffile("OpenGL::glColor3fv_s", XS_OpenGL_glColor3fv_s);
        newXS_deffile("OpenGL::glColor3iv_s", XS_OpenGL_glColor3iv_s);
        newXS_deffile("OpenGL::glColor3sv_s", XS_OpenGL_glColor3sv_s);
        newXS_deffile("OpenGL::glColor3ubv_s", XS_OpenGL_glColor3ubv_s);
        newXS_deffile("OpenGL::glColor3uiv_s", XS_OpenGL_glColor3uiv_s);
        newXS_deffile("OpenGL::glColor3usv_s", XS_OpenGL_glColor3usv_s);
        newXS_deffile("OpenGL::glColor4bv_s", XS_OpenGL_glColor4bv_s);
        newXS_deffile("OpenGL::glColor4dv_s", XS_OpenGL_glColor4dv_s);
        newXS_deffile("OpenGL::glColor4fv_s", XS_OpenGL_glColor4fv_s);
        newXS_deffile("OpenGL::glColor4iv_s", XS_OpenGL_glColor4iv_s);
        newXS_deffile("OpenGL::glColor4sv_s", XS_OpenGL_glColor4sv_s);
        newXS_deffile("OpenGL::glColor4ubv_s", XS_OpenGL_glColor4ubv_s);
        newXS_deffile("OpenGL::glColor4uiv_s", XS_OpenGL_glColor4uiv_s);
        newXS_deffile("OpenGL::glColor4usv_s", XS_OpenGL_glColor4usv_s);
#if XSubPPtmpAAAE
        newXS_deffile("OpenGL::glDeleteBuffers_s", XS_OpenGL_glDeleteBuffers_s);
#endif
#if XSubPPtmpAAAF
        newXS_deffile("OpenGL::glDeleteBuffersARB_s", XS_OpenGL_glDeleteBuffersARB_s);
#endif
#if XSubPPtmpAAAG
        newXS_deffile("OpenGL::glDeleteFramebuffers_s", XS_OpenGL_glDeleteFramebuffers_s);
#endif
#if XSubPPtmpAAAH
        newXS_deffile("OpenGL::glDeleteFramebuffersEXT_s", XS_OpenGL_glDeleteFramebuffersEXT_s);
#endif
#if XSubPPtmpAAAI
        newXS_deffile("OpenGL::glDeleteProgramsARB_s", XS_OpenGL_glDeleteProgramsARB_s);
#endif
#if XSubPPtmpAAAJ
        newXS_deffile("OpenGL::glDeleteRenderbuffers_s", XS_OpenGL_glDeleteRenderbuffers_s);
#endif
#if XSubPPtmpAAAK
        newXS_deffile("OpenGL::glDeleteRenderbuffersEXT_s", XS_OpenGL_glDeleteRenderbuffersEXT_s);
#endif
        newXS_deffile("OpenGL::glDeleteTextures_s", XS_OpenGL_glDeleteTextures_s);
#if XSubPPtmpAAAL
        newXS_deffile("OpenGL::glDrawBuffers_s", XS_OpenGL_glDrawBuffers_s);
#endif
#if XSubPPtmpAAAM
        newXS_deffile("OpenGL::glDrawBuffersARB_s", XS_OpenGL_glDrawBuffersARB_s);
#endif
        newXS_deffile("OpenGL::glFogfv_s", XS_OpenGL_glFogfv_s);
        newXS_deffile("OpenGL::glFogiv_s", XS_OpenGL_glFogiv_s);
#if XSubPPtmpAAAN
        newXS_deffile("OpenGL::glGenBuffers_s", XS_OpenGL_glGenBuffers_s);
#endif
#if XSubPPtmpAAAO
        newXS_deffile("OpenGL::glGenBuffersARB_s", XS_OpenGL_glGenBuffersARB_s);
#endif
#if XSubPPtmpAAAP
        newXS_deffile("OpenGL::glGenFramebuffers_s", XS_OpenGL_glGenFramebuffers_s);
#endif
#if XSubPPtmpAAAQ
        newXS_deffile("OpenGL::glGenFramebuffersEXT_s", XS_OpenGL_glGenFramebuffersEXT_s);
#endif
#if XSubPPtmpAAAR
        newXS_deffile("OpenGL::glGenProgramsARB_s", XS_OpenGL_glGenProgramsARB_s);
#endif
#if XSubPPtmpAAAS
        newXS_deffile("OpenGL::glGenRenderbuffers_s", XS_OpenGL_glGenRenderbuffers_s);
#endif
#if XSubPPtmpAAAT
        newXS_deffile("OpenGL::glGenRenderbuffersEXT_s", XS_OpenGL_glGenRenderbuffersEXT_s);
#endif
        newXS_deffile("OpenGL::glGenTextures_s", XS_OpenGL_glGenTextures_s);
#if XSubPPtmpAAAU
        newXS_deffile("OpenGL::glGetActiveAttribARB_s", XS_OpenGL_glGetActiveAttribARB_s);
#endif
#if XSubPPtmpAAAV
        newXS_deffile("OpenGL::glGetActiveUniformARB_s", XS_OpenGL_glGetActiveUniformARB_s);
#endif
        newXS_deffile("OpenGL::glGetBooleanv_s", XS_OpenGL_glGetBooleanv_s);
#if XSubPPtmpAAAW
        newXS_deffile("OpenGL::glGetBufferParameteriv_s", XS_OpenGL_glGetBufferParameteriv_s);
#endif
#if XSubPPtmpAAAX
        newXS_deffile("OpenGL::glGetBufferParameterivARB_s", XS_OpenGL_glGetBufferParameterivARB_s);
#endif
        newXS_deffile("OpenGL::glGetClipPlane_s", XS_OpenGL_glGetClipPlane_s);
        newXS_deffile("OpenGL::glGetDoublev_s", XS_OpenGL_glGetDoublev_s);
        newXS_deffile("OpenGL::glGetFloatv_s", XS_OpenGL_glGetFloatv_s);
#if XSubPPtmpAAAY
        newXS_deffile("OpenGL::glGetFramebufferAttachmentParameteriv_s", XS_OpenGL_glGetFramebufferAttachmentParameteriv_s);
#endif
#if XSubPPtmpAAAZ
        newXS_deffile("OpenGL::glGetFramebufferAttachmentParameterivEXT_s", XS_OpenGL_glGetFramebufferAttachmentParameterivEXT_s);
#endif
        newXS_deffile("OpenGL::glGetIntegerv_s", XS_OpenGL_glGetIntegerv_s);
        newXS_deffile("OpenGL::glGetLightfv_s", XS_OpenGL_glGetLightfv_s);
        newXS_deffile("OpenGL::glGetLightiv_s", XS_OpenGL_glGetLightiv_s);
        newXS_deffile("OpenGL::glGetMaterialfv_s", XS_OpenGL_glGetMaterialfv_s);
        newXS_deffile("OpenGL::glGetMaterialiv_s", XS_OpenGL_glGetMaterialiv_s);
#if XSubPPtmpAABA
        newXS_deffile("OpenGL::glGetProgramEnvParameterdvARB_s", XS_OpenGL_glGetProgramEnvParameterdvARB_s);
#endif
#if XSubPPtmpAABB
        newXS_deffile("OpenGL::glGetProgramEnvParameterfvARB_s", XS_OpenGL_glGetProgramEnvParameterfvARB_s);
#endif
#if XSubPPtmpAABC
        newXS_deffile("OpenGL::glGetProgramLocalParameterdvARB_s", XS_OpenGL_glGetProgramLocalParameterdvARB_s);
#endif
#if XSubPPtmpAABD
        newXS_deffile("OpenGL::glGetProgramLocalParameterfvARB_s", XS_OpenGL_glGetProgramLocalParameterfvARB_s);
#endif
#if XSubPPtmpAABE
        newXS_deffile("OpenGL::glGetProgramivARB_s", XS_OpenGL_glGetProgramivARB_s);
#endif
#if XSubPPtmpAABF
        newXS_deffile("OpenGL::glGetRenderbufferParameteriv_s", XS_OpenGL_glGetRenderbufferParameteriv_s);
#endif
#if XSubPPtmpAABG
        newXS_deffile("OpenGL::glGetRenderbufferParameterivEXT_s", XS_OpenGL_glGetRenderbufferParameterivEXT_s);
#endif
        newXS_deffile("OpenGL::glGetTexEnvfv_s", XS_OpenGL_glGetTexEnvfv_s);
        newXS_deffile("OpenGL::glGetTexEnviv_s", XS_OpenGL_glGetTexEnviv_s);
        newXS_deffile("OpenGL::glGetTexGendv_s", XS_OpenGL_glGetTexGendv_s);
        newXS_deffile("OpenGL::glGetTexGenfv_s", XS_OpenGL_glGetTexGenfv_s);
        newXS_deffile("OpenGL::glGetTexGeniv_s", XS_OpenGL_glGetTexGeniv_s);
        newXS_deffile("OpenGL::glGetTexLevelParameterfv_s", XS_OpenGL_glGetTexLevelParameterfv_s);
        newXS_deffile("OpenGL::glGetTexLevelParameteriv_s", XS_OpenGL_glGetTexLevelParameteriv_s);
        newXS_deffile("OpenGL::glGetTexParameterfv_s", XS_OpenGL_glGetTexParameterfv_s);
        newXS_deffile("OpenGL::glGetTexParameteriv_s", XS_OpenGL_glGetTexParameteriv_s);
#if XSubPPtmpAABH
        newXS_deffile("OpenGL::glGetVertexAttribdvARB_s", XS_OpenGL_glGetVertexAttribdvARB_s);
#endif
#if XSubPPtmpAABI
        newXS_deffile("OpenGL::glGetVertexAttribfvARB_s", XS_OpenGL_glGetVertexAttribfvARB_s);
#endif
#if XSubPPtmpAABJ
        newXS_deffile("OpenGL::glGetVertexAttribivARB_s", XS_OpenGL_glGetVertexAttribivARB_s);
#endif
        newXS_deffile("OpenGL::glLightModelfv_s", XS_OpenGL_glLightModelfv_s);
        newXS_deffile("OpenGL::glLightModeliv_s", XS_OpenGL_glLightModeliv_s);
        newXS_deffile("OpenGL::glLightfv_s", XS_OpenGL_glLightfv_s);
        newXS_deffile("OpenGL::glLightiv_s", XS_OpenGL_glLightiv_s);
        newXS_deffile("OpenGL::glLoadMatrixd_s", XS_OpenGL_glLoadMatrixd_s);
        newXS_deffile("OpenGL::glLoadMatrixf_s", XS_OpenGL_glLoadMatrixf_s);
        newXS_deffile("OpenGL::glMaterialfv_s", XS_OpenGL_glMaterialfv_s);
        newXS_deffile("OpenGL::glMaterialiv_s", XS_OpenGL_glMaterialiv_s);
#if XSubPPtmpAABK
        newXS_deffile("OpenGL::glMultiTexCoord1dv_s", XS_OpenGL_glMultiTexCoord1dv_s);
#endif
#if XSubPPtmpAABL
        newXS_deffile("OpenGL::glMultiTexCoord1dvARB_s", XS_OpenGL_glMultiTexCoord1dvARB_s);
#endif
#if XSubPPtmpAABM
        newXS_deffile("OpenGL::glMultiTexCoord1fv_s", XS_OpenGL_glMultiTexCoord1fv_s);
#endif
#if XSubPPtmpAABN
        newXS_deffile("OpenGL::glMultiTexCoord1fvARB_s", XS_OpenGL_glMultiTexCoord1fvARB_s);
#endif
#if XSubPPtmpAABO
        newXS_deffile("OpenGL::glMultiTexCoord1iv_s", XS_OpenGL_glMultiTexCoord1iv_s);
#endif
#if XSubPPtmpAABP
        newXS_deffile("OpenGL::glMultiTexCoord1ivARB_s", XS_OpenGL_glMultiTexCoord1ivARB_s);
#endif
#if XSubPPtmpAABQ
        newXS_deffile("OpenGL::glMultiTexCoord1sv_s", XS_OpenGL_glMultiTexCoord1sv_s);
#endif
#if XSubPPtmpAABR
        newXS_deffile("OpenGL::glMultiTexCoord1svARB_s", XS_OpenGL_glMultiTexCoord1svARB_s);
#endif
#if XSubPPtmpAABS
        newXS_deffile("OpenGL::glMultiTexCoord2dv_s", XS_OpenGL_glMultiTexCoord2dv_s);
#endif
#if XSubPPtmpAABT
        newXS_deffile("OpenGL::glMultiTexCoord2dvARB_s", XS_OpenGL_glMultiTexCoord2dvARB_s);
#endif
#if XSubPPtmpAABU
        newXS_deffile("OpenGL::glMultiTexCoord2fv_s", XS_OpenGL_glMultiTexCoord2fv_s);
#endif
#if XSubPPtmpAABV
        newXS_deffile("OpenGL::glMultiTexCoord2fvARB_s", XS_OpenGL_glMultiTexCoord2fvARB_s);
#endif
#if XSubPPtmpAABW
        newXS_deffile("OpenGL::glMultiTexCoord2iv_s", XS_OpenGL_glMultiTexCoord2iv_s);
#endif
#if XSubPPtmpAABX
        newXS_deffile("OpenGL::glMultiTexCoord2ivARB_s", XS_OpenGL_glMultiTexCoord2ivARB_s);
#endif
#if XSubPPtmpAABY
        newXS_deffile("OpenGL::glMultiTexCoord2sv_s", XS_OpenGL_glMultiTexCoord2sv_s);
#endif
#if XSubPPtmpAABZ
        newXS_deffile("OpenGL::glMultiTexCoord2svARB_s", XS_OpenGL_glMultiTexCoord2svARB_s);
#endif
#if XSubPPtmpAACA
        newXS_deffile("OpenGL::glMultiTexCoord3dv_s", XS_OpenGL_glMultiTexCoord3dv_s);
#endif
#if XSubPPtmpAACB
        newXS_deffile("OpenGL::glMultiTexCoord3dvARB_s", XS_OpenGL_glMultiTexCoord3dvARB_s);
#endif
#if XSubPPtmpAACC
        newXS_deffile("OpenGL::glMultiTexCoord3fv_s", XS_OpenGL_glMultiTexCoord3fv_s);
#endif
#if XSubPPtmpAACD
        newXS_deffile("OpenGL::glMultiTexCoord3fvARB_s", XS_OpenGL_glMultiTexCoord3fvARB_s);
#endif
#if XSubPPtmpAACE
        newXS_deffile("OpenGL::glMultiTexCoord3iv_s", XS_OpenGL_glMultiTexCoord3iv_s);
#endif
#if XSubPPtmpAACF
        newXS_deffile("OpenGL::glMultiTexCoord3ivARB_s", XS_OpenGL_glMultiTexCoord3ivARB_s);
#endif
#if XSubPPtmpAACG
        newXS_deffile("OpenGL::glMultiTexCoord3sv_s", XS_OpenGL_glMultiTexCoord3sv_s);
#endif
#if XSubPPtmpAACH
        newXS_deffile("OpenGL::glMultiTexCoord3svARB_s", XS_OpenGL_glMultiTexCoord3svARB_s);
#endif
#if XSubPPtmpAACI
        newXS_deffile("OpenGL::glMultiTexCoord4dv_s", XS_OpenGL_glMultiTexCoord4dv_s);
#endif
#if XSubPPtmpAACJ
        newXS_deffile("OpenGL::glMultiTexCoord4dvARB_s", XS_OpenGL_glMultiTexCoord4dvARB_s);
#endif
#if XSubPPtmpAACK
        newXS_deffile("OpenGL::glMultiTexCoord4fv_s", XS_OpenGL_glMultiTexCoord4fv_s);
#endif
#if XSubPPtmpAACL
        newXS_deffile("OpenGL::glMultiTexCoord4fvARB_s", XS_OpenGL_glMultiTexCoord4fvARB_s);
#endif
#if XSubPPtmpAACM
        newXS_deffile("OpenGL::glMultiTexCoord4iv_s", XS_OpenGL_glMultiTexCoord4iv_s);
#endif
#if XSubPPtmpAACN
        newXS_deffile("OpenGL::glMultiTexCoord4ivARB_s", XS_OpenGL_glMultiTexCoord4ivARB_s);
#endif
#if XSubPPtmpAACO
        newXS_deffile("OpenGL::glMultiTexCoord4sv_s", XS_OpenGL_glMultiTexCoord4sv_s);
#endif
#if XSubPPtmpAACP
        newXS_deffile("OpenGL::glMultiTexCoord4svARB_s", XS_OpenGL_glMultiTexCoord4svARB_s);
#endif
        newXS_deffile("OpenGL::glNormal3bv_s", XS_OpenGL_glNormal3bv_s);
        newXS_deffile("OpenGL::glNormal3dv_s", XS_OpenGL_glNormal3dv_s);
        newXS_deffile("OpenGL::glNormal3fv_s", XS_OpenGL_glNormal3fv_s);
        newXS_deffile("OpenGL::glNormal3iv_s", XS_OpenGL_glNormal3iv_s);
        newXS_deffile("OpenGL::glNormal3sv_s", XS_OpenGL_glNormal3sv_s);
        newXS_deffile("OpenGL::glPixelMapfv_s", XS_OpenGL_glPixelMapfv_s);
        newXS_deffile("OpenGL::glPixelMapuiv_s", XS_OpenGL_glPixelMapuiv_s);
        newXS_deffile("OpenGL::glPixelMapusv_s", XS_OpenGL_glPixelMapusv_s);
#if XSubPPtmpAACQ
        newXS_deffile("OpenGL::glPointParameterfvARB_s", XS_OpenGL_glPointParameterfvARB_s);
#endif
        newXS_deffile("OpenGL::glPrioritizeTextures_s", XS_OpenGL_glPrioritizeTextures_s);
#if XSubPPtmpAACR
        newXS_deffile("OpenGL::glProgramEnvParameter4dvARB_s", XS_OpenGL_glProgramEnvParameter4dvARB_s);
#endif
#if XSubPPtmpAACS
        newXS_deffile("OpenGL::glProgramEnvParameter4fvARB_s", XS_OpenGL_glProgramEnvParameter4fvARB_s);
#endif
#if XSubPPtmpAACT
        newXS_deffile("OpenGL::glProgramLocalParameter4dvARB_s", XS_OpenGL_glProgramLocalParameter4dvARB_s);
#endif
#if XSubPPtmpAACU
        newXS_deffile("OpenGL::glProgramLocalParameter4fvARB_s", XS_OpenGL_glProgramLocalParameter4fvARB_s);
#endif
        newXS_deffile("OpenGL::glRasterPos2dv_s", XS_OpenGL_glRasterPos2dv_s);
        newXS_deffile("OpenGL::glRasterPos2fv_s", XS_OpenGL_glRasterPos2fv_s);
        newXS_deffile("OpenGL::glRasterPos2iv_s", XS_OpenGL_glRasterPos2iv_s);
        newXS_deffile("OpenGL::glRasterPos2sv_s", XS_OpenGL_glRasterPos2sv_s);
        newXS_deffile("OpenGL::glRasterPos3dv_s", XS_OpenGL_glRasterPos3dv_s);
        newXS_deffile("OpenGL::glRasterPos3fv_s", XS_OpenGL_glRasterPos3fv_s);
        newXS_deffile("OpenGL::glRasterPos3iv_s", XS_OpenGL_glRasterPos3iv_s);
        newXS_deffile("OpenGL::glRasterPos3sv_s", XS_OpenGL_glRasterPos3sv_s);
        newXS_deffile("OpenGL::glRasterPos4dv_s", XS_OpenGL_glRasterPos4dv_s);
        newXS_deffile("OpenGL::glRasterPos4fv_s", XS_OpenGL_glRasterPos4fv_s);
        newXS_deffile("OpenGL::glRasterPos4iv_s", XS_OpenGL_glRasterPos4iv_s);
        newXS_deffile("OpenGL::glRasterPos4sv_s", XS_OpenGL_glRasterPos4sv_s);
        newXS_deffile("OpenGL::glRectdv_s", XS_OpenGL_glRectdv_s);
        newXS_deffile("OpenGL::glRectfv_s", XS_OpenGL_glRectfv_s);
        newXS_deffile("OpenGL::glRectiv_s", XS_OpenGL_glRectiv_s);
        newXS_deffile("OpenGL::glRectsv_s", XS_OpenGL_glRectsv_s);
        newXS_deffile("OpenGL::glTexCoord1dv_s", XS_OpenGL_glTexCoord1dv_s);
        newXS_deffile("OpenGL::glTexCoord1fv_s", XS_OpenGL_glTexCoord1fv_s);
        newXS_deffile("OpenGL::glTexCoord1iv_s", XS_OpenGL_glTexCoord1iv_s);
        newXS_deffile("OpenGL::glTexCoord1sv_s", XS_OpenGL_glTexCoord1sv_s);
        newXS_deffile("OpenGL::glTexCoord2dv_s", XS_OpenGL_glTexCoord2dv_s);
        newXS_deffile("OpenGL::glTexCoord2fv_s", XS_OpenGL_glTexCoord2fv_s);
        newXS_deffile("OpenGL::glTexCoord2iv_s", XS_OpenGL_glTexCoord2iv_s);
        newXS_deffile("OpenGL::glTexCoord2sv_s", XS_OpenGL_glTexCoord2sv_s);
        newXS_deffile("OpenGL::glTexCoord3dv_s", XS_OpenGL_glTexCoord3dv_s);
        newXS_deffile("OpenGL::glTexCoord3fv_s", XS_OpenGL_glTexCoord3fv_s);
        newXS_deffile("OpenGL::glTexCoord3iv_s", XS_OpenGL_glTexCoord3iv_s);
        newXS_deffile("OpenGL::glTexCoord3sv_s", XS_OpenGL_glTexCoord3sv_s);
        newXS_deffile("OpenGL::glTexCoord4dv_s", XS_OpenGL_glTexCoord4dv_s);
        newXS_deffile("OpenGL::glTexCoord4fv_s", XS_OpenGL_glTexCoord4fv_s);
        newXS_deffile("OpenGL::glTexCoord4iv_s", XS_OpenGL_glTexCoord4iv_s);
        newXS_deffile("OpenGL::glTexCoord4sv_s", XS_OpenGL_glTexCoord4sv_s);
        newXS_deffile("OpenGL::glTexEnvfv_s", XS_OpenGL_glTexEnvfv_s);
        newXS_deffile("OpenGL::glTexEnviv_s", XS_OpenGL_glTexEnviv_s);
        newXS_deffile("OpenGL::glTexGendv_s", XS_OpenGL_glTexGendv_s);
        newXS_deffile("OpenGL::glTexGenfv_s", XS_OpenGL_glTexGenfv_s);
        newXS_deffile("OpenGL::glTexGeniv_s", XS_OpenGL_glTexGeniv_s);
        newXS_deffile("OpenGL::glTexParameterfv_s", XS_OpenGL_glTexParameterfv_s);
        newXS_deffile("OpenGL::glTexParameteriv_s", XS_OpenGL_glTexParameteriv_s);
#if XSubPPtmpAACV
        newXS_deffile("OpenGL::glUniform1fvARB_s", XS_OpenGL_glUniform1fvARB_s);
#endif
#if XSubPPtmpAACW
        newXS_deffile("OpenGL::glUniform1ivARB_s", XS_OpenGL_glUniform1ivARB_s);
#endif
#if XSubPPtmpAACX
        newXS_deffile("OpenGL::glUniform2fvARB_s", XS_OpenGL_glUniform2fvARB_s);
#endif
#if XSubPPtmpAACY
        newXS_deffile("OpenGL::glUniform2ivARB_s", XS_OpenGL_glUniform2ivARB_s);
#endif
#if XSubPPtmpAACZ
        newXS_deffile("OpenGL::glUniform3fvARB_s", XS_OpenGL_glUniform3fvARB_s);
#endif
#if XSubPPtmpAADA
        newXS_deffile("OpenGL::glUniform3ivARB_s", XS_OpenGL_glUniform3ivARB_s);
#endif
#if XSubPPtmpAADB
        newXS_deffile("OpenGL::glUniform4fvARB_s", XS_OpenGL_glUniform4fvARB_s);
#endif
#if XSubPPtmpAADC
        newXS_deffile("OpenGL::glUniform4ivARB_s", XS_OpenGL_glUniform4ivARB_s);
#endif
#if XSubPPtmpAADD
        newXS_deffile("OpenGL::glUniformMatrix2fvARB_s", XS_OpenGL_glUniformMatrix2fvARB_s);
#endif
#if XSubPPtmpAADE
        newXS_deffile("OpenGL::glUniformMatrix3fvARB_s", XS_OpenGL_glUniformMatrix3fvARB_s);
#endif
#if XSubPPtmpAADF
        newXS_deffile("OpenGL::glUniformMatrix4fvARB_s", XS_OpenGL_glUniformMatrix4fvARB_s);
#endif
        newXS_deffile("OpenGL::glVertex2dv_s", XS_OpenGL_glVertex2dv_s);
        newXS_deffile("OpenGL::glVertex2fv_s", XS_OpenGL_glVertex2fv_s);
        newXS_deffile("OpenGL::glVertex2iv_s", XS_OpenGL_glVertex2iv_s);
        newXS_deffile("OpenGL::glVertex2sv_s", XS_OpenGL_glVertex2sv_s);
        newXS_deffile("OpenGL::glVertex3dv_s", XS_OpenGL_glVertex3dv_s);
        newXS_deffile("OpenGL::glVertex3fv_s", XS_OpenGL_glVertex3fv_s);
        newXS_deffile("OpenGL::glVertex3iv_s", XS_OpenGL_glVertex3iv_s);
        newXS_deffile("OpenGL::glVertex3sv_s", XS_OpenGL_glVertex3sv_s);
        newXS_deffile("OpenGL::glVertex4dv_s", XS_OpenGL_glVertex4dv_s);
        newXS_deffile("OpenGL::glVertex4fv_s", XS_OpenGL_glVertex4fv_s);
        newXS_deffile("OpenGL::glVertex4iv_s", XS_OpenGL_glVertex4iv_s);
        newXS_deffile("OpenGL::glVertex4sv_s", XS_OpenGL_glVertex4sv_s);
#if XSubPPtmpAADG
        newXS_deffile("OpenGL::glVertexAttrib1dvARB_s", XS_OpenGL_glVertexAttrib1dvARB_s);
#endif
#if XSubPPtmpAADH
        newXS_deffile("OpenGL::glVertexAttrib1fvARB_s", XS_OpenGL_glVertexAttrib1fvARB_s);
#endif
#if XSubPPtmpAADI
        newXS_deffile("OpenGL::glVertexAttrib1svARB_s", XS_OpenGL_glVertexAttrib1svARB_s);
#endif
#if XSubPPtmpAADJ
        newXS_deffile("OpenGL::glVertexAttrib2dvARB_s", XS_OpenGL_glVertexAttrib2dvARB_s);
#endif
#if XSubPPtmpAADK
        newXS_deffile("OpenGL::glVertexAttrib2fvARB_s", XS_OpenGL_glVertexAttrib2fvARB_s);
#endif
#if XSubPPtmpAADL
        newXS_deffile("OpenGL::glVertexAttrib2svARB_s", XS_OpenGL_glVertexAttrib2svARB_s);
#endif
#if XSubPPtmpAADM
        newXS_deffile("OpenGL::glVertexAttrib3dvARB_s", XS_OpenGL_glVertexAttrib3dvARB_s);
#endif
#if XSubPPtmpAADN
        newXS_deffile("OpenGL::glVertexAttrib3fvARB_s", XS_OpenGL_glVertexAttrib3fvARB_s);
#endif
#if XSubPPtmpAADO
        newXS_deffile("OpenGL::glVertexAttrib3svARB_s", XS_OpenGL_glVertexAttrib3svARB_s);
#endif
#if XSubPPtmpAADP
        newXS_deffile("OpenGL::glVertexAttrib4NbvARB_s", XS_OpenGL_glVertexAttrib4NbvARB_s);
#endif
#if XSubPPtmpAADQ
        newXS_deffile("OpenGL::glVertexAttrib4NivARB_s", XS_OpenGL_glVertexAttrib4NivARB_s);
#endif
#if XSubPPtmpAADR
        newXS_deffile("OpenGL::glVertexAttrib4NsvARB_s", XS_OpenGL_glVertexAttrib4NsvARB_s);
#endif
#if XSubPPtmpAADS
        newXS_deffile("OpenGL::glVertexAttrib4NubvARB_s", XS_OpenGL_glVertexAttrib4NubvARB_s);
#endif
#if XSubPPtmpAADT
        newXS_deffile("OpenGL::glVertexAttrib4NuivARB_s", XS_OpenGL_glVertexAttrib4NuivARB_s);
#endif
#if XSubPPtmpAADU
        newXS_deffile("OpenGL::glVertexAttrib4NusvARB_s", XS_OpenGL_glVertexAttrib4NusvARB_s);
#endif
#if XSubPPtmpAADV
        newXS_deffile("OpenGL::glVertexAttrib4bvARB_s", XS_OpenGL_glVertexAttrib4bvARB_s);
#endif
#if XSubPPtmpAADW
        newXS_deffile("OpenGL::glVertexAttrib4dvARB_s", XS_OpenGL_glVertexAttrib4dvARB_s);
#endif
#if XSubPPtmpAADX
        newXS_deffile("OpenGL::glVertexAttrib4fvARB_s", XS_OpenGL_glVertexAttrib4fvARB_s);
#endif
#if XSubPPtmpAADY
        newXS_deffile("OpenGL::glVertexAttrib4ivARB_s", XS_OpenGL_glVertexAttrib4ivARB_s);
#endif
#if XSubPPtmpAADZ
        newXS_deffile("OpenGL::glVertexAttrib4svARB_s", XS_OpenGL_glVertexAttrib4svARB_s);
#endif
#if XSubPPtmpAAEA
        newXS_deffile("OpenGL::glVertexAttrib4ubvARB_s", XS_OpenGL_glVertexAttrib4ubvARB_s);
#endif
#if XSubPPtmpAAEB
        newXS_deffile("OpenGL::glVertexAttrib4uivARB_s", XS_OpenGL_glVertexAttrib4uivARB_s);
#endif
#if XSubPPtmpAAEC
        newXS_deffile("OpenGL::glVertexAttrib4usvARB_s", XS_OpenGL_glVertexAttrib4usvARB_s);
#endif
#endif

    /* Initialisation Section */

#if XSubPPtmpAAAA
#endif
#if XSubPPtmpAAAB
#endif
#if XSubPPtmpAAAC
#endif
#if XSubPPtmpAAAD
#if XSubPPtmpAAAE
#endif
#if XSubPPtmpAAAF
#endif
#if XSubPPtmpAAAG
#endif
#if XSubPPtmpAAAH
#endif
#if XSubPPtmpAAAI
#endif
#if XSubPPtmpAAAJ
#endif
#if XSubPPtmpAAAK
#endif
#if XSubPPtmpAAAL
#endif
#if XSubPPtmpAAAM
#endif
#if XSubPPtmpAAAN
#endif
#if XSubPPtmpAAAO
#endif
#if XSubPPtmpAAAP
#endif
#if XSubPPtmpAAAQ
#endif
#if XSubPPtmpAAAR
#endif
#if XSubPPtmpAAAS
#endif
#if XSubPPtmpAAAT
#endif
#if XSubPPtmpAAAU
#endif
#if XSubPPtmpAAAV
#endif
#if XSubPPtmpAAAW
#endif
#if XSubPPtmpAAAX
#endif
#if XSubPPtmpAAAY
#endif
#if XSubPPtmpAAAZ
#endif
#if XSubPPtmpAABA
#endif
#if XSubPPtmpAABB
#endif
#if XSubPPtmpAABC
#endif
#if XSubPPtmpAABD
#endif
#if XSubPPtmpAABE
#endif
#if XSubPPtmpAABF
#endif
#if XSubPPtmpAABG
#endif
#if XSubPPtmpAABH
#endif
#if XSubPPtmpAABI
#endif
#if XSubPPtmpAABJ
#endif
#if XSubPPtmpAABK
#endif
#if XSubPPtmpAABL
#endif
#if XSubPPtmpAABM
#endif
#if XSubPPtmpAABN
#endif
#if XSubPPtmpAABO
#endif
#if XSubPPtmpAABP
#endif
#if XSubPPtmpAABQ
#endif
#if XSubPPtmpAABR
#endif
#if XSubPPtmpAABS
#endif
#if XSubPPtmpAABT
#endif
#if XSubPPtmpAABU
#endif
#if XSubPPtmpAABV
#endif
#if XSubPPtmpAABW
#endif
#if XSubPPtmpAABX
#endif
#if XSubPPtmpAABY
#endif
#if XSubPPtmpAABZ
#endif
#if XSubPPtmpAACA
#endif
#if XSubPPtmpAACB
#endif
#if XSubPPtmpAACC
#endif
#if XSubPPtmpAACD
#endif
#if XSubPPtmpAACE
#endif
#if XSubPPtmpAACF
#endif
#if XSubPPtmpAACG
#endif
#if XSubPPtmpAACH
#endif
#if XSubPPtmpAACI
#endif
#if XSubPPtmpAACJ
#endif
#if XSubPPtmpAACK
#endif
#if XSubPPtmpAACL
#endif
#if XSubPPtmpAACM
#endif
#if XSubPPtmpAACN
#endif
#if XSubPPtmpAACO
#endif
#if XSubPPtmpAACP
#endif
#if XSubPPtmpAACQ
#endif
#if XSubPPtmpAACR
#endif
#if XSubPPtmpAACS
#endif
#if XSubPPtmpAACT
#endif
#if XSubPPtmpAACU
#endif
#if XSubPPtmpAACV
#endif
#if XSubPPtmpAACW
#endif
#if XSubPPtmpAACX
#endif
#if XSubPPtmpAACY
#endif
#if XSubPPtmpAACZ
#endif
#if XSubPPtmpAADA
#endif
#if XSubPPtmpAADB
#endif
#if XSubPPtmpAADC
#endif
#if XSubPPtmpAADD
#endif
#if XSubPPtmpAADE
#endif
#if XSubPPtmpAADF
#endif
#if XSubPPtmpAADG
#endif
#if XSubPPtmpAADH
#endif
#if XSubPPtmpAADI
#endif
#if XSubPPtmpAADJ
#endif
#if XSubPPtmpAADK
#endif
#if XSubPPtmpAADL
#endif
#if XSubPPtmpAADM
#endif
#if XSubPPtmpAADN
#endif
#if XSubPPtmpAADO
#endif
#if XSubPPtmpAADP
#endif
#if XSubPPtmpAADQ
#endif
#if XSubPPtmpAADR
#endif
#if XSubPPtmpAADS
#endif
#if XSubPPtmpAADT
#endif
#if XSubPPtmpAADU
#endif
#if XSubPPtmpAADV
#endif
#if XSubPPtmpAADW
#endif
#if XSubPPtmpAADX
#endif
#if XSubPPtmpAADY
#endif
#if XSubPPtmpAADZ
#endif
#if XSubPPtmpAAEA
#endif
#if XSubPPtmpAAEB
#endif
#if XSubPPtmpAAEC
#endif
#endif
#line 6492 "lib/OpenGL/V2.c"

    /* End of Initialisation Section */

#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
