diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/dyngen-exec.h qemu/dyngen-exec.h --- qemu.ori/dyngen-exec.h 2006-11-14 00:18:09.000000000 +0100 +++ qemu/dyngen-exec.h 2006-11-14 21:46:24.000000000 +0100 @@ -75,12 +75,16 @@ typedef signed long long int64_t; #define UINT32_MAX (4294967295U) #define UINT64_MAX ((uint64_t)(18446744073709551615)) +#ifndef _STDIO_H + typedef struct FILE FILE; extern int fprintf(FILE *, const char *, ...); extern int printf(const char *, ...); #undef NULL #define NULL 0 +#endif + #ifdef __i386__ #define AREG0 "ebp" #define AREG1 "ebx" diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/kqemu.c qemu/kqemu.c --- qemu.ori/kqemu.c 2006-11-14 00:18:09.000000000 +0100 +++ qemu/kqemu.c 2006-11-14 21:46:24.000000000 +0100 @@ -87,6 +87,7 @@ unsigned long *modified_ram_pages; unsigned int nb_modified_ram_pages; uint8_t *modified_ram_pages_table; extern uint32_t **l1_phys_map; +extern int enable_gl; #define cpuid(index, eax, ebx, ecx, edx) \ asm volatile ("cpuid" \ @@ -721,6 +722,7 @@ int kqemu_cpu_exec(CPUState *env) ret = ioctl(kqemu_fd, KQEMU_EXEC, kenv); #endif #endif + if (env->cpuid_features & CPUID_FXSR) save_native_fp_fxsave(env); else @@ -749,7 +751,6 @@ int kqemu_cpu_exec(CPUState *env) env->kernelgsbase = kenv->kernelgsbase; #endif #endif - /* flush pages as indicated by kqemu */ if (kenv->nb_pages_to_flush >= KQEMU_FLUSH_ALL) { tlb_flush(env, 1); @@ -825,13 +826,40 @@ int kqemu_cpu_exec(CPUState *env) else env->hflags &= ~HF_OSFXSR_MASK; + /* OPENGL Stuff */ + if (enable_gl && ((env->hflags & HF_CPL_MASK) == 3)) + { + int index = (env->eip >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1); + if (env->segs[R_CS].base != 0) + { + fprintf(stderr, "env->segs[R_CS].base != 0 !\n"); + } + else if (__builtin_expect(env->tlb_table[1][index].addr_code != + (env->eip & TARGET_PAGE_MASK), 0)) + { + ldub_code(env->eip); + } + if (env->tlb_table[1][index].addend) + { + unsigned char* ptr = env->eip + env->tlb_table[1][index].addend; + if (ptr[0] == 0xCD && ptr[1] == 0x99) + { + helper_opengl(env); + } + /*else if (ptr[0] == 0xCD && ptr[1] == 0x80) + { + fprintf(stderr, "system call %d\n", env->regs[R_EAX]); + }*/ + } + } + #ifdef DEBUG if (loglevel & CPU_LOG_INT) { fprintf(logfile, "kqemu: kqemu_cpu_exec: ret=0x%x\n", ret); } #endif if (ret == KQEMU_RET_SYSCALL) { - /* syscall instruction */ + /* syscall instruction */ return do_syscall(env, kenv); } else if ((ret & 0xff00) == KQEMU_RET_INT) { diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/Makefile.target qemu/Makefile.target --- qemu.ori/Makefile.target 2006-11-14 00:18:09.000000000 +0100 +++ qemu/Makefile.target 2006-11-14 22:17:50.000000000 +0100 @@ -435,8 +435,16 @@ ifdef CONFIG_WIN32 SDL_LIBS := $(filter-out -mwindows, $(SDL_LIBS)) -mconsole endif +ifeq ($(TARGET_BASE_ARCH), i386) +# -O2 doesn't work --> 'unable to find a register to spill in class `DIREG'' +GL_CFLAGS := -Wall -g -fno-strict-aliasing +helper_opengl.o: helper_opengl.c + $(CC) $(GL_CFLAGS) $(DEFINES) -c -o $@ $< +LIBOBJS+=helper_opengl.o +endif + $(QEMU_SYSTEM): $(VL_OBJS) libqemu.a - $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS) + $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS) -lGL cocoa.o: cocoa.m $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $< diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/target-i386/client_stub.c qemu/target-i386/client_stub.c --- qemu.ori/target-i386/client_stub.c 1970-01-01 01:00:00.000000000 +0100 +++ qemu/target-i386/client_stub.c 2006-11-14 21:46:24.000000000 +0100 @@ -0,0 +1,4375 @@ +/* This is a generated file. DO NOT EDIT ! */ + +void glClearIndex(GLfloat arg_0) +{ + do_opengl_call(glClearIndex_func, NULL, arg_0); +} + +void glClearColor(GLclampf arg_0, GLclampf arg_1, GLclampf arg_2, GLclampf arg_3) +{ + do_opengl_call(glClearColor_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glClear(GLbitfield arg_0) +{ + do_opengl_call(glClear_func, NULL, arg_0); +} + +void glIndexMask(GLuint arg_0) +{ + do_opengl_call(glIndexMask_func, NULL, arg_0); +} + +void glColorMask(GLboolean arg_0, GLboolean arg_1, GLboolean arg_2, GLboolean arg_3) +{ + do_opengl_call(glColorMask_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glAlphaFunc(GLenum arg_0, GLclampf arg_1) +{ + do_opengl_call(glAlphaFunc_func, NULL, arg_0, arg_1); +} + +void glBlendFunc(GLenum arg_0, GLenum arg_1) +{ + do_opengl_call(glBlendFunc_func, NULL, arg_0, arg_1); +} + +void glLogicOp(GLenum arg_0) +{ + do_opengl_call(glLogicOp_func, NULL, arg_0); +} + +void glCullFace(GLenum arg_0) +{ + do_opengl_call(glCullFace_func, NULL, arg_0); +} + +void glFrontFace(GLenum arg_0) +{ + do_opengl_call(glFrontFace_func, NULL, arg_0); +} + +void glPointSize(GLfloat arg_0) +{ + do_opengl_call(glPointSize_func, NULL, arg_0); +} + +void glLineWidth(GLfloat arg_0) +{ + do_opengl_call(glLineWidth_func, NULL, arg_0); +} + +void glLineStipple(GLint arg_0, GLushort arg_1) +{ + do_opengl_call(glLineStipple_func, NULL, arg_0, arg_1); +} + +void glPolygonMode(GLenum arg_0, GLenum arg_1) +{ + do_opengl_call(glPolygonMode_func, NULL, arg_0, arg_1); +} + +void glPolygonOffset(GLfloat arg_0, GLfloat arg_1) +{ + do_opengl_call(glPolygonOffset_func, NULL, arg_0, arg_1); +} + +void glEdgeFlag(GLboolean arg_0) +{ + do_opengl_call(glEdgeFlag_func, NULL, arg_0); +} + +void glScissor(GLint arg_0, GLint arg_1, GLsizei arg_2, GLsizei arg_3) +{ + do_opengl_call(glScissor_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glDrawBuffer(GLenum arg_0) +{ + do_opengl_call(glDrawBuffer_func, NULL, arg_0); +} + +void glReadBuffer(GLenum arg_0) +{ + do_opengl_call(glReadBuffer_func, NULL, arg_0); +} + +void glEnable(GLenum arg_0) +{ + do_opengl_call(glEnable_func, NULL, arg_0); +} + +void glDisable(GLenum arg_0) +{ + do_opengl_call(glDisable_func, NULL, arg_0); +} + +GLboolean glIsEnabled(GLenum arg_0) +{ + GLboolean ret; + do_opengl_call(glIsEnabled_func, &ret, arg_0); + return ret; +} + +void glEnableClientState(GLenum arg_0) +{ + do_opengl_call(glEnableClientState_func, NULL, arg_0); +} + +void glDisableClientState(GLenum arg_0) +{ + do_opengl_call(glDisableClientState_func, NULL, arg_0); +} + +void glPushAttrib(GLbitfield arg_0) +{ + do_opengl_call(glPushAttrib_func, NULL, arg_0); +} + +void glPopAttrib() +{ + do_opengl_call(glPopAttrib_func, NULL); +} + +void glPushClientAttrib(GLbitfield arg_0) +{ + do_opengl_call(glPushClientAttrib_func, NULL, arg_0); +} + +void glPopClientAttrib() +{ + do_opengl_call(glPopClientAttrib_func, NULL); +} + +GLint glRenderMode(GLenum arg_0) +{ + GLint ret; + do_opengl_call(glRenderMode_func, &ret, arg_0); + return ret; +} + +GLenum glGetError() +{ + GLenum ret; + do_opengl_call(glGetError_func, &ret); + return ret; +} + +void glFinish() +{ + do_opengl_call(glFinish_func, NULL); +} + +void glFlush() +{ + do_opengl_call(glFlush_func, NULL); +} + +void glHint(GLenum arg_0, GLenum arg_1) +{ + do_opengl_call(glHint_func, NULL, arg_0, arg_1); +} + +void glClearDepth(GLclampd arg_0) +{ + do_opengl_call(glClearDepth_func, NULL, arg_0); +} + +void glDepthFunc(GLenum arg_0) +{ + do_opengl_call(glDepthFunc_func, NULL, arg_0); +} + +void glDepthMask(GLboolean arg_0) +{ + do_opengl_call(glDepthMask_func, NULL, arg_0); +} + +void glDepthRange(GLclampd arg_0, GLclampd arg_1) +{ + do_opengl_call(glDepthRange_func, NULL, arg_0, arg_1); +} + +void glClearAccum(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + do_opengl_call(glClearAccum_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glAccum(GLenum arg_0, GLfloat arg_1) +{ + do_opengl_call(glAccum_func, NULL, arg_0, arg_1); +} + +void glMatrixMode(GLenum arg_0) +{ + do_opengl_call(glMatrixMode_func, NULL, arg_0); +} + +void glOrtho(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3, GLdouble arg_4, GLdouble arg_5) +{ + do_opengl_call(glOrtho_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void glFrustum(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3, GLdouble arg_4, GLdouble arg_5) +{ + do_opengl_call(glFrustum_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void glViewport(GLint arg_0, GLint arg_1, GLsizei arg_2, GLsizei arg_3) +{ + do_opengl_call(glViewport_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glPushMatrix() +{ + do_opengl_call(glPushMatrix_func, NULL); +} + +void glPopMatrix() +{ + do_opengl_call(glPopMatrix_func, NULL); +} + +void glLoadIdentity() +{ + do_opengl_call(glLoadIdentity_func, NULL); +} + +void glLoadMatrixd(const GLdouble arg_0[16]) +{ + do_opengl_call(glLoadMatrixd_func, NULL, arg_0); +} + +void glLoadMatrixf(const GLfloat arg_0[16]) +{ + do_opengl_call(glLoadMatrixf_func, NULL, arg_0); +} + +void glMultMatrixd(const GLdouble arg_0[16]) +{ + do_opengl_call(glMultMatrixd_func, NULL, arg_0); +} + +void glMultMatrixf(const GLfloat arg_0[16]) +{ + do_opengl_call(glMultMatrixf_func, NULL, arg_0); +} + +void glRotated(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + do_opengl_call(glRotated_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glRotatef(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + do_opengl_call(glRotatef_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glScaled(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + do_opengl_call(glScaled_func, NULL, arg_0, arg_1, arg_2); +} + +void glScalef(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + do_opengl_call(glScalef_func, NULL, arg_0, arg_1, arg_2); +} + +void glTranslated(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + do_opengl_call(glTranslated_func, NULL, arg_0, arg_1, arg_2); +} + +void glTranslatef(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + do_opengl_call(glTranslatef_func, NULL, arg_0, arg_1, arg_2); +} + +GLboolean glIsList(GLuint arg_0) +{ + GLboolean ret; + do_opengl_call(glIsList_func, &ret, arg_0); + return ret; +} + +void glDeleteLists(GLuint arg_0, GLsizei arg_1) +{ + do_opengl_call(glDeleteLists_func, NULL, arg_0, arg_1); +} + +GLuint glGenLists(GLsizei arg_0) +{ + GLuint ret; + do_opengl_call(glGenLists_func, &ret, arg_0); + return ret; +} + +void glNewList(GLuint arg_0, GLenum arg_1) +{ + do_opengl_call(glNewList_func, NULL, arg_0, arg_1); +} + +void glEndList() +{ + do_opengl_call(glEndList_func, NULL); +} + +void glCallList(GLuint arg_0) +{ + do_opengl_call(glCallList_func, NULL, arg_0); +} + +void glListBase(GLuint arg_0) +{ + do_opengl_call(glListBase_func, NULL, arg_0); +} + +void glBegin(GLenum arg_0) +{ + do_opengl_call(glBegin_func, NULL, arg_0); +} + +void glEnd() +{ + do_opengl_call(glEnd_func, NULL); +} + +void glVertex2d(GLdouble arg_0, GLdouble arg_1) +{ + do_opengl_call(glVertex2d_func, NULL, arg_0, arg_1); +} + +void glVertex2f(GLfloat arg_0, GLfloat arg_1) +{ + do_opengl_call(glVertex2f_func, NULL, arg_0, arg_1); +} + +void glVertex2i(GLint arg_0, GLint arg_1) +{ + do_opengl_call(glVertex2i_func, NULL, arg_0, arg_1); +} + +void glVertex2s(GLshort arg_0, GLshort arg_1) +{ + do_opengl_call(glVertex2s_func, NULL, arg_0, arg_1); +} + +void glVertex3d(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + do_opengl_call(glVertex3d_func, NULL, arg_0, arg_1, arg_2); +} + +void glVertex3f(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + do_opengl_call(glVertex3f_func, NULL, arg_0, arg_1, arg_2); +} + +void glVertex3i(GLint arg_0, GLint arg_1, GLint arg_2) +{ + do_opengl_call(glVertex3i_func, NULL, arg_0, arg_1, arg_2); +} + +void glVertex3s(GLshort arg_0, GLshort arg_1, GLshort arg_2) +{ + do_opengl_call(glVertex3s_func, NULL, arg_0, arg_1, arg_2); +} + +void glVertex4d(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + do_opengl_call(glVertex4d_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glVertex4f(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + do_opengl_call(glVertex4f_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glVertex4i(GLint arg_0, GLint arg_1, GLint arg_2, GLint arg_3) +{ + do_opengl_call(glVertex4i_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glVertex4s(GLshort arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + do_opengl_call(glVertex4s_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glVertex2dv(const GLdouble * arg_0) +{ + do_opengl_call(glVertex2dv_func, NULL, arg_0); +} + +void glVertex2fv(const GLfloat * arg_0) +{ + do_opengl_call(glVertex2fv_func, NULL, arg_0); +} + +void glVertex2iv(const GLint * arg_0) +{ + do_opengl_call(glVertex2iv_func, NULL, arg_0); +} + +void glVertex2sv(const GLshort * arg_0) +{ + do_opengl_call(glVertex2sv_func, NULL, arg_0); +} + +void glVertex3dv(const GLdouble * arg_0) +{ + do_opengl_call(glVertex3dv_func, NULL, arg_0); +} + +void glVertex3fv(const GLfloat * arg_0) +{ + do_opengl_call(glVertex3fv_func, NULL, arg_0); +} + +void glVertex3iv(const GLint * arg_0) +{ + do_opengl_call(glVertex3iv_func, NULL, arg_0); +} + +void glVertex3sv(const GLshort * arg_0) +{ + do_opengl_call(glVertex3sv_func, NULL, arg_0); +} + +void glVertex4dv(const GLdouble * arg_0) +{ + do_opengl_call(glVertex4dv_func, NULL, arg_0); +} + +void glVertex4fv(const GLfloat * arg_0) +{ + do_opengl_call(glVertex4fv_func, NULL, arg_0); +} + +void glVertex4iv(const GLint * arg_0) +{ + do_opengl_call(glVertex4iv_func, NULL, arg_0); +} + +void glVertex4sv(const GLshort * arg_0) +{ + do_opengl_call(glVertex4sv_func, NULL, arg_0); +} + +void glNormal3b(GLbyte arg_0, GLbyte arg_1, GLbyte arg_2) +{ + do_opengl_call(glNormal3b_func, NULL, arg_0, arg_1, arg_2); +} + +void glNormal3d(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + do_opengl_call(glNormal3d_func, NULL, arg_0, arg_1, arg_2); +} + +void glNormal3f(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + do_opengl_call(glNormal3f_func, NULL, arg_0, arg_1, arg_2); +} + +void glNormal3i(GLint arg_0, GLint arg_1, GLint arg_2) +{ + do_opengl_call(glNormal3i_func, NULL, arg_0, arg_1, arg_2); +} + +void glNormal3s(GLshort arg_0, GLshort arg_1, GLshort arg_2) +{ + do_opengl_call(glNormal3s_func, NULL, arg_0, arg_1, arg_2); +} + +void glNormal3bv(const GLbyte * arg_0) +{ + do_opengl_call(glNormal3bv_func, NULL, arg_0); +} + +void glNormal3dv(const GLdouble * arg_0) +{ + do_opengl_call(glNormal3dv_func, NULL, arg_0); +} + +void glNormal3fv(const GLfloat * arg_0) +{ + do_opengl_call(glNormal3fv_func, NULL, arg_0); +} + +void glNormal3iv(const GLint * arg_0) +{ + do_opengl_call(glNormal3iv_func, NULL, arg_0); +} + +void glNormal3sv(const GLshort * arg_0) +{ + do_opengl_call(glNormal3sv_func, NULL, arg_0); +} + +void glIndexd(GLdouble arg_0) +{ + do_opengl_call(glIndexd_func, NULL, arg_0); +} + +void glIndexf(GLfloat arg_0) +{ + do_opengl_call(glIndexf_func, NULL, arg_0); +} + +void glIndexi(GLint arg_0) +{ + do_opengl_call(glIndexi_func, NULL, arg_0); +} + +void glIndexs(GLshort arg_0) +{ + do_opengl_call(glIndexs_func, NULL, arg_0); +} + +void glIndexub(GLubyte arg_0) +{ + do_opengl_call(glIndexub_func, NULL, arg_0); +} + +void glColor3b(GLbyte arg_0, GLbyte arg_1, GLbyte arg_2) +{ + do_opengl_call(glColor3b_func, NULL, arg_0, arg_1, arg_2); +} + +void glColor3d(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + do_opengl_call(glColor3d_func, NULL, arg_0, arg_1, arg_2); +} + +void glColor3f(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + do_opengl_call(glColor3f_func, NULL, arg_0, arg_1, arg_2); +} + +void glColor3i(GLint arg_0, GLint arg_1, GLint arg_2) +{ + do_opengl_call(glColor3i_func, NULL, arg_0, arg_1, arg_2); +} + +void glColor3s(GLshort arg_0, GLshort arg_1, GLshort arg_2) +{ + do_opengl_call(glColor3s_func, NULL, arg_0, arg_1, arg_2); +} + +void glColor3ub(GLubyte arg_0, GLubyte arg_1, GLubyte arg_2) +{ + do_opengl_call(glColor3ub_func, NULL, arg_0, arg_1, arg_2); +} + +void glColor3ui(GLuint arg_0, GLuint arg_1, GLuint arg_2) +{ + do_opengl_call(glColor3ui_func, NULL, arg_0, arg_1, arg_2); +} + +void glColor3us(GLushort arg_0, GLushort arg_1, GLushort arg_2) +{ + do_opengl_call(glColor3us_func, NULL, arg_0, arg_1, arg_2); +} + +void glColor4b(GLbyte arg_0, GLbyte arg_1, GLbyte arg_2, GLbyte arg_3) +{ + do_opengl_call(glColor4b_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glColor4d(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + do_opengl_call(glColor4d_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glColor4f(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + do_opengl_call(glColor4f_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glColor4i(GLint arg_0, GLint arg_1, GLint arg_2, GLint arg_3) +{ + do_opengl_call(glColor4i_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glColor4s(GLshort arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + do_opengl_call(glColor4s_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glColor4ub(GLubyte arg_0, GLubyte arg_1, GLubyte arg_2, GLubyte arg_3) +{ + do_opengl_call(glColor4ub_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glColor4ui(GLuint arg_0, GLuint arg_1, GLuint arg_2, GLuint arg_3) +{ + do_opengl_call(glColor4ui_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glColor4us(GLushort arg_0, GLushort arg_1, GLushort arg_2, GLushort arg_3) +{ + do_opengl_call(glColor4us_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glColor3bv(const GLbyte * arg_0) +{ + do_opengl_call(glColor3bv_func, NULL, arg_0); +} + +void glColor3dv(const GLdouble * arg_0) +{ + do_opengl_call(glColor3dv_func, NULL, arg_0); +} + +void glColor3fv(const GLfloat * arg_0) +{ + do_opengl_call(glColor3fv_func, NULL, arg_0); +} + +void glColor3iv(const GLint * arg_0) +{ + do_opengl_call(glColor3iv_func, NULL, arg_0); +} + +void glColor3sv(const GLshort * arg_0) +{ + do_opengl_call(glColor3sv_func, NULL, arg_0); +} + +void glColor3ubv(const GLubyte * arg_0) +{ + do_opengl_call(glColor3ubv_func, NULL, arg_0); +} + +void glColor3uiv(const GLuint * arg_0) +{ + do_opengl_call(glColor3uiv_func, NULL, arg_0); +} + +void glColor3usv(const GLushort * arg_0) +{ + do_opengl_call(glColor3usv_func, NULL, arg_0); +} + +void glColor4bv(const GLbyte * arg_0) +{ + do_opengl_call(glColor4bv_func, NULL, arg_0); +} + +void glColor4dv(const GLdouble * arg_0) +{ + do_opengl_call(glColor4dv_func, NULL, arg_0); +} + +void glColor4fv(const GLfloat * arg_0) +{ + do_opengl_call(glColor4fv_func, NULL, arg_0); +} + +void glColor4iv(const GLint * arg_0) +{ + do_opengl_call(glColor4iv_func, NULL, arg_0); +} + +void glColor4sv(const GLshort * arg_0) +{ + do_opengl_call(glColor4sv_func, NULL, arg_0); +} + +void glColor4ubv(const GLubyte * arg_0) +{ + do_opengl_call(glColor4ubv_func, NULL, arg_0); +} + +void glColor4uiv(const GLuint * arg_0) +{ + do_opengl_call(glColor4uiv_func, NULL, arg_0); +} + +void glColor4usv(const GLushort * arg_0) +{ + do_opengl_call(glColor4usv_func, NULL, arg_0); +} + +void glTexCoord1d(GLdouble arg_0) +{ + do_opengl_call(glTexCoord1d_func, NULL, arg_0); +} + +void glTexCoord1f(GLfloat arg_0) +{ + do_opengl_call(glTexCoord1f_func, NULL, arg_0); +} + +void glTexCoord1i(GLint arg_0) +{ + do_opengl_call(glTexCoord1i_func, NULL, arg_0); +} + +void glTexCoord1s(GLshort arg_0) +{ + do_opengl_call(glTexCoord1s_func, NULL, arg_0); +} + +void glTexCoord2d(GLdouble arg_0, GLdouble arg_1) +{ + do_opengl_call(glTexCoord2d_func, NULL, arg_0, arg_1); +} + +void glTexCoord2f(GLfloat arg_0, GLfloat arg_1) +{ + do_opengl_call(glTexCoord2f_func, NULL, arg_0, arg_1); +} + +void glTexCoord2i(GLint arg_0, GLint arg_1) +{ + do_opengl_call(glTexCoord2i_func, NULL, arg_0, arg_1); +} + +void glTexCoord2s(GLshort arg_0, GLshort arg_1) +{ + do_opengl_call(glTexCoord2s_func, NULL, arg_0, arg_1); +} + +void glTexCoord3d(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + do_opengl_call(glTexCoord3d_func, NULL, arg_0, arg_1, arg_2); +} + +void glTexCoord3f(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + do_opengl_call(glTexCoord3f_func, NULL, arg_0, arg_1, arg_2); +} + +void glTexCoord3i(GLint arg_0, GLint arg_1, GLint arg_2) +{ + do_opengl_call(glTexCoord3i_func, NULL, arg_0, arg_1, arg_2); +} + +void glTexCoord3s(GLshort arg_0, GLshort arg_1, GLshort arg_2) +{ + do_opengl_call(glTexCoord3s_func, NULL, arg_0, arg_1, arg_2); +} + +void glTexCoord4d(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + do_opengl_call(glTexCoord4d_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glTexCoord4f(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + do_opengl_call(glTexCoord4f_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glTexCoord4i(GLint arg_0, GLint arg_1, GLint arg_2, GLint arg_3) +{ + do_opengl_call(glTexCoord4i_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glTexCoord4s(GLshort arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + do_opengl_call(glTexCoord4s_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glTexCoord1dv(const GLdouble * arg_0) +{ + do_opengl_call(glTexCoord1dv_func, NULL, arg_0); +} + +void glTexCoord1fv(const GLfloat * arg_0) +{ + do_opengl_call(glTexCoord1fv_func, NULL, arg_0); +} + +void glTexCoord1iv(const GLint * arg_0) +{ + do_opengl_call(glTexCoord1iv_func, NULL, arg_0); +} + +void glTexCoord1sv(const GLshort * arg_0) +{ + do_opengl_call(glTexCoord1sv_func, NULL, arg_0); +} + +void glTexCoord2dv(const GLdouble * arg_0) +{ + do_opengl_call(glTexCoord2dv_func, NULL, arg_0); +} + +void glTexCoord2fv(const GLfloat * arg_0) +{ + do_opengl_call(glTexCoord2fv_func, NULL, arg_0); +} + +void glTexCoord2iv(const GLint * arg_0) +{ + do_opengl_call(glTexCoord2iv_func, NULL, arg_0); +} + +void glTexCoord2sv(const GLshort * arg_0) +{ + do_opengl_call(glTexCoord2sv_func, NULL, arg_0); +} + +void glTexCoord3dv(const GLdouble * arg_0) +{ + do_opengl_call(glTexCoord3dv_func, NULL, arg_0); +} + +void glTexCoord3fv(const GLfloat * arg_0) +{ + do_opengl_call(glTexCoord3fv_func, NULL, arg_0); +} + +void glTexCoord3iv(const GLint * arg_0) +{ + do_opengl_call(glTexCoord3iv_func, NULL, arg_0); +} + +void glTexCoord3sv(const GLshort * arg_0) +{ + do_opengl_call(glTexCoord3sv_func, NULL, arg_0); +} + +void glTexCoord4dv(const GLdouble * arg_0) +{ + do_opengl_call(glTexCoord4dv_func, NULL, arg_0); +} + +void glTexCoord4fv(const GLfloat * arg_0) +{ + do_opengl_call(glTexCoord4fv_func, NULL, arg_0); +} + +void glTexCoord4iv(const GLint * arg_0) +{ + do_opengl_call(glTexCoord4iv_func, NULL, arg_0); +} + +void glTexCoord4sv(const GLshort * arg_0) +{ + do_opengl_call(glTexCoord4sv_func, NULL, arg_0); +} + +void glRasterPos2d(GLdouble arg_0, GLdouble arg_1) +{ + do_opengl_call(glRasterPos2d_func, NULL, arg_0, arg_1); +} + +void glRasterPos2f(GLfloat arg_0, GLfloat arg_1) +{ + do_opengl_call(glRasterPos2f_func, NULL, arg_0, arg_1); +} + +void glRasterPos2i(GLint arg_0, GLint arg_1) +{ + do_opengl_call(glRasterPos2i_func, NULL, arg_0, arg_1); +} + +void glRasterPos2s(GLshort arg_0, GLshort arg_1) +{ + do_opengl_call(glRasterPos2s_func, NULL, arg_0, arg_1); +} + +void glRasterPos3d(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + do_opengl_call(glRasterPos3d_func, NULL, arg_0, arg_1, arg_2); +} + +void glRasterPos3f(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + do_opengl_call(glRasterPos3f_func, NULL, arg_0, arg_1, arg_2); +} + +void glRasterPos3i(GLint arg_0, GLint arg_1, GLint arg_2) +{ + do_opengl_call(glRasterPos3i_func, NULL, arg_0, arg_1, arg_2); +} + +void glRasterPos3s(GLshort arg_0, GLshort arg_1, GLshort arg_2) +{ + do_opengl_call(glRasterPos3s_func, NULL, arg_0, arg_1, arg_2); +} + +void glRasterPos4d(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + do_opengl_call(glRasterPos4d_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glRasterPos4f(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + do_opengl_call(glRasterPos4f_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glRasterPos4i(GLint arg_0, GLint arg_1, GLint arg_2, GLint arg_3) +{ + do_opengl_call(glRasterPos4i_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glRasterPos4s(GLshort arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + do_opengl_call(glRasterPos4s_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glRasterPos2dv(const GLdouble * arg_0) +{ + do_opengl_call(glRasterPos2dv_func, NULL, arg_0); +} + +void glRasterPos2fv(const GLfloat * arg_0) +{ + do_opengl_call(glRasterPos2fv_func, NULL, arg_0); +} + +void glRasterPos2iv(const GLint * arg_0) +{ + do_opengl_call(glRasterPos2iv_func, NULL, arg_0); +} + +void glRasterPos2sv(const GLshort * arg_0) +{ + do_opengl_call(glRasterPos2sv_func, NULL, arg_0); +} + +void glRasterPos3dv(const GLdouble * arg_0) +{ + do_opengl_call(glRasterPos3dv_func, NULL, arg_0); +} + +void glRasterPos3fv(const GLfloat * arg_0) +{ + do_opengl_call(glRasterPos3fv_func, NULL, arg_0); +} + +void glRasterPos3iv(const GLint * arg_0) +{ + do_opengl_call(glRasterPos3iv_func, NULL, arg_0); +} + +void glRasterPos3sv(const GLshort * arg_0) +{ + do_opengl_call(glRasterPos3sv_func, NULL, arg_0); +} + +void glRasterPos4dv(const GLdouble * arg_0) +{ + do_opengl_call(glRasterPos4dv_func, NULL, arg_0); +} + +void glRasterPos4fv(const GLfloat * arg_0) +{ + do_opengl_call(glRasterPos4fv_func, NULL, arg_0); +} + +void glRasterPos4iv(const GLint * arg_0) +{ + do_opengl_call(glRasterPos4iv_func, NULL, arg_0); +} + +void glRasterPos4sv(const GLshort * arg_0) +{ + do_opengl_call(glRasterPos4sv_func, NULL, arg_0); +} + +void glRectd(GLdouble arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + do_opengl_call(glRectd_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glRectf(GLfloat arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + do_opengl_call(glRectf_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glRecti(GLint arg_0, GLint arg_1, GLint arg_2, GLint arg_3) +{ + do_opengl_call(glRecti_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glRects(GLshort arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + do_opengl_call(glRects_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glArrayElement(GLint arg_0) +{ + do_opengl_call(glArrayElement_func, NULL, arg_0); +} + +void glShadeModel(GLenum arg_0) +{ + do_opengl_call(glShadeModel_func, NULL, arg_0); +} + +void glLightf(GLenum arg_0, GLenum arg_1, GLfloat arg_2) +{ + do_opengl_call(glLightf_func, NULL, arg_0, arg_1, arg_2); +} + +void glLighti(GLenum arg_0, GLenum arg_1, GLint arg_2) +{ + do_opengl_call(glLighti_func, NULL, arg_0, arg_1, arg_2); +} + +void glLightModelf(GLenum arg_0, GLfloat arg_1) +{ + do_opengl_call(glLightModelf_func, NULL, arg_0, arg_1); +} + +void glLightModeli(GLenum arg_0, GLint arg_1) +{ + do_opengl_call(glLightModeli_func, NULL, arg_0, arg_1); +} + +void glMaterialf(GLenum arg_0, GLenum arg_1, GLfloat arg_2) +{ + do_opengl_call(glMaterialf_func, NULL, arg_0, arg_1, arg_2); +} + +void glMateriali(GLenum arg_0, GLenum arg_1, GLint arg_2) +{ + do_opengl_call(glMateriali_func, NULL, arg_0, arg_1, arg_2); +} + +void glColorMaterial(GLenum arg_0, GLenum arg_1) +{ + do_opengl_call(glColorMaterial_func, NULL, arg_0, arg_1); +} + +void glPixelZoom(GLfloat arg_0, GLfloat arg_1) +{ + do_opengl_call(glPixelZoom_func, NULL, arg_0, arg_1); +} + +void glPixelStoref(GLenum arg_0, GLfloat arg_1) +{ + do_opengl_call(glPixelStoref_func, NULL, arg_0, arg_1); +} + +void glPixelStorei(GLenum arg_0, GLint arg_1) +{ + do_opengl_call(glPixelStorei_func, NULL, arg_0, arg_1); +} + +void glPixelTransferf(GLenum arg_0, GLfloat arg_1) +{ + do_opengl_call(glPixelTransferf_func, NULL, arg_0, arg_1); +} + +void glPixelTransferi(GLenum arg_0, GLint arg_1) +{ + do_opengl_call(glPixelTransferi_func, NULL, arg_0, arg_1); +} + +void glCopyPixels(GLint arg_0, GLint arg_1, GLsizei arg_2, GLsizei arg_3, GLenum arg_4) +{ + do_opengl_call(glCopyPixels_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void glStencilFunc(GLenum arg_0, GLint arg_1, GLuint arg_2) +{ + do_opengl_call(glStencilFunc_func, NULL, arg_0, arg_1, arg_2); +} + +void glStencilMask(GLuint arg_0) +{ + do_opengl_call(glStencilMask_func, NULL, arg_0); +} + +void glStencilOp(GLenum arg_0, GLenum arg_1, GLenum arg_2) +{ + do_opengl_call(glStencilOp_func, NULL, arg_0, arg_1, arg_2); +} + +void glClearStencil(GLint arg_0) +{ + do_opengl_call(glClearStencil_func, NULL, arg_0); +} + +void glTexGend(GLenum arg_0, GLenum arg_1, GLdouble arg_2) +{ + do_opengl_call(glTexGend_func, NULL, arg_0, arg_1, arg_2); +} + +void glTexGenf(GLenum arg_0, GLenum arg_1, GLfloat arg_2) +{ + do_opengl_call(glTexGenf_func, NULL, arg_0, arg_1, arg_2); +} + +void glTexGeni(GLenum arg_0, GLenum arg_1, GLint arg_2) +{ + do_opengl_call(glTexGeni_func, NULL, arg_0, arg_1, arg_2); +} + +void glTexEnvf(GLenum arg_0, GLenum arg_1, GLfloat arg_2) +{ + do_opengl_call(glTexEnvf_func, NULL, arg_0, arg_1, arg_2); +} + +void glTexEnvi(GLenum arg_0, GLenum arg_1, GLint arg_2) +{ + do_opengl_call(glTexEnvi_func, NULL, arg_0, arg_1, arg_2); +} + +void glTexParameterf(GLenum arg_0, GLenum arg_1, GLfloat arg_2) +{ + do_opengl_call(glTexParameterf_func, NULL, arg_0, arg_1, arg_2); +} + +void glTexParameteri(GLenum arg_0, GLenum arg_1, GLint arg_2) +{ + do_opengl_call(glTexParameteri_func, NULL, arg_0, arg_1, arg_2); +} + +void glBindTexture(GLenum arg_0, GLuint arg_1) +{ + do_opengl_call(glBindTexture_func, NULL, arg_0, arg_1); +} + +GLboolean glIsTexture(GLuint arg_0) +{ + GLboolean ret; + do_opengl_call(glIsTexture_func, &ret, arg_0); + return ret; +} + +void glCopyTexImage1D(GLenum arg_0, GLint arg_1, GLenum arg_2, GLint arg_3, GLint arg_4, GLsizei arg_5, GLint arg_6) +{ + do_opengl_call(glCopyTexImage1D_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6); +} + +void glCopyTexImage2D(GLenum arg_0, GLint arg_1, GLenum arg_2, GLint arg_3, GLint arg_4, GLsizei arg_5, GLsizei arg_6, GLint arg_7) +{ + do_opengl_call(glCopyTexImage2D_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7); +} + +void glCopyTexSubImage1D(GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3, GLint arg_4, GLsizei arg_5) +{ + do_opengl_call(glCopyTexSubImage1D_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void glCopyTexSubImage2D(GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3, GLint arg_4, GLint arg_5, GLsizei arg_6, GLsizei arg_7) +{ + do_opengl_call(glCopyTexSubImage2D_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7); +} + +void glEvalCoord1d(GLdouble arg_0) +{ + do_opengl_call(glEvalCoord1d_func, NULL, arg_0); +} + +void glEvalCoord1f(GLfloat arg_0) +{ + do_opengl_call(glEvalCoord1f_func, NULL, arg_0); +} + +void glEvalCoord1dv(const GLdouble * arg_0) +{ + do_opengl_call(glEvalCoord1dv_func, NULL, arg_0); +} + +void glEvalCoord1fv(const GLfloat * arg_0) +{ + do_opengl_call(glEvalCoord1fv_func, NULL, arg_0); +} + +void glEvalCoord2d(GLdouble arg_0, GLdouble arg_1) +{ + do_opengl_call(glEvalCoord2d_func, NULL, arg_0, arg_1); +} + +void glEvalCoord2f(GLfloat arg_0, GLfloat arg_1) +{ + do_opengl_call(glEvalCoord2f_func, NULL, arg_0, arg_1); +} + +void glEvalCoord2dv(const GLdouble * arg_0) +{ + do_opengl_call(glEvalCoord2dv_func, NULL, arg_0); +} + +void glEvalCoord2fv(const GLfloat * arg_0) +{ + do_opengl_call(glEvalCoord2fv_func, NULL, arg_0); +} + +void glMapGrid1d(GLint arg_0, GLdouble arg_1, GLdouble arg_2) +{ + do_opengl_call(glMapGrid1d_func, NULL, arg_0, arg_1, arg_2); +} + +void glMapGrid1f(GLint arg_0, GLfloat arg_1, GLfloat arg_2) +{ + do_opengl_call(glMapGrid1f_func, NULL, arg_0, arg_1, arg_2); +} + +void glMapGrid2d(GLint arg_0, GLdouble arg_1, GLdouble arg_2, GLint arg_3, GLdouble arg_4, GLdouble arg_5) +{ + do_opengl_call(glMapGrid2d_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void glMapGrid2f(GLint arg_0, GLfloat arg_1, GLfloat arg_2, GLint arg_3, GLfloat arg_4, GLfloat arg_5) +{ + do_opengl_call(glMapGrid2f_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void glEvalPoint1(GLint arg_0) +{ + do_opengl_call(glEvalPoint1_func, NULL, arg_0); +} + +void glEvalPoint2(GLint arg_0, GLint arg_1) +{ + do_opengl_call(glEvalPoint2_func, NULL, arg_0, arg_1); +} + +void glEvalMesh1(GLenum arg_0, GLint arg_1, GLint arg_2) +{ + do_opengl_call(glEvalMesh1_func, NULL, arg_0, arg_1, arg_2); +} + +void glEvalMesh2(GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3, GLint arg_4) +{ + do_opengl_call(glEvalMesh2_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void glFogf(GLenum arg_0, GLfloat arg_1) +{ + do_opengl_call(glFogf_func, NULL, arg_0, arg_1); +} + +void glFogi(GLenum arg_0, GLint arg_1) +{ + do_opengl_call(glFogi_func, NULL, arg_0, arg_1); +} + +void glPassThrough(GLfloat arg_0) +{ + do_opengl_call(glPassThrough_func, NULL, arg_0); +} + +void glInitNames() +{ + do_opengl_call(glInitNames_func, NULL); +} + +void glLoadName(GLuint arg_0) +{ + do_opengl_call(glLoadName_func, NULL, arg_0); +} + +void glPushName(GLuint arg_0) +{ + do_opengl_call(glPushName_func, NULL, arg_0); +} + +void glPopName() +{ + do_opengl_call(glPopName_func, NULL); +} + +void glCopyTexSubImage3D(GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3, GLint arg_4, GLint arg_5, GLint arg_6, GLsizei arg_7, GLsizei arg_8) +{ + do_opengl_call(glCopyTexSubImage3D_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8); +} + +void glCopyColorSubTable(GLenum arg_0, GLsizei arg_1, GLint arg_2, GLint arg_3, GLsizei arg_4) +{ + do_opengl_call(glCopyColorSubTable_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void glCopyColorTable(GLenum arg_0, GLenum arg_1, GLint arg_2, GLint arg_3, GLsizei arg_4) +{ + do_opengl_call(glCopyColorTable_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void glBlendEquation(GLenum arg_0) +{ + do_opengl_call(glBlendEquation_func, NULL, arg_0); +} + +void glBlendColor(GLclampf arg_0, GLclampf arg_1, GLclampf arg_2, GLclampf arg_3) +{ + do_opengl_call(glBlendColor_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glHistogram(GLenum arg_0, GLsizei arg_1, GLenum arg_2, GLboolean arg_3) +{ + do_opengl_call(glHistogram_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glResetHistogram(GLenum arg_0) +{ + do_opengl_call(glResetHistogram_func, NULL, arg_0); +} + +void glMinmax(GLenum arg_0, GLenum arg_1, GLboolean arg_2) +{ + do_opengl_call(glMinmax_func, NULL, arg_0, arg_1, arg_2); +} + +void glResetMinmax(GLenum arg_0) +{ + do_opengl_call(glResetMinmax_func, NULL, arg_0); +} + +void glConvolutionParameterf(GLenum arg_0, GLenum arg_1, GLfloat arg_2) +{ + do_opengl_call(glConvolutionParameterf_func, NULL, arg_0, arg_1, arg_2); +} + +void glConvolutionParameteri(GLenum arg_0, GLenum arg_1, GLint arg_2) +{ + do_opengl_call(glConvolutionParameteri_func, NULL, arg_0, arg_1, arg_2); +} + +void glCopyConvolutionFilter1D(GLenum arg_0, GLenum arg_1, GLint arg_2, GLint arg_3, GLsizei arg_4) +{ + do_opengl_call(glCopyConvolutionFilter1D_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void glCopyConvolutionFilter2D(GLenum arg_0, GLenum arg_1, GLint arg_2, GLint arg_3, GLsizei arg_4, GLsizei arg_5) +{ + do_opengl_call(glCopyConvolutionFilter2D_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void glActiveTexture(GLenum arg_0) +{ + do_opengl_call(glActiveTexture_func, NULL, arg_0); +} + +void glClientActiveTexture(GLenum arg_0) +{ + do_opengl_call(glClientActiveTexture_func, NULL, arg_0); +} + +void glMultiTexCoord1d(GLenum arg_0, GLdouble arg_1) +{ + do_opengl_call(glMultiTexCoord1d_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord1dv(GLenum arg_0, const GLdouble * arg_1) +{ + do_opengl_call(glMultiTexCoord1dv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord1f(GLenum arg_0, GLfloat arg_1) +{ + do_opengl_call(glMultiTexCoord1f_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord1fv(GLenum arg_0, const GLfloat * arg_1) +{ + do_opengl_call(glMultiTexCoord1fv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord1i(GLenum arg_0, GLint arg_1) +{ + do_opengl_call(glMultiTexCoord1i_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord1iv(GLenum arg_0, const GLint * arg_1) +{ + do_opengl_call(glMultiTexCoord1iv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord1s(GLenum arg_0, GLshort arg_1) +{ + do_opengl_call(glMultiTexCoord1s_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord1sv(GLenum arg_0, const GLshort * arg_1) +{ + do_opengl_call(glMultiTexCoord1sv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord2d(GLenum arg_0, GLdouble arg_1, GLdouble arg_2) +{ + do_opengl_call(glMultiTexCoord2d_func, NULL, arg_0, arg_1, arg_2); +} + +void glMultiTexCoord2dv(GLenum arg_0, const GLdouble * arg_1) +{ + do_opengl_call(glMultiTexCoord2dv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord2f(GLenum arg_0, GLfloat arg_1, GLfloat arg_2) +{ + do_opengl_call(glMultiTexCoord2f_func, NULL, arg_0, arg_1, arg_2); +} + +void glMultiTexCoord2fv(GLenum arg_0, const GLfloat * arg_1) +{ + do_opengl_call(glMultiTexCoord2fv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord2i(GLenum arg_0, GLint arg_1, GLint arg_2) +{ + do_opengl_call(glMultiTexCoord2i_func, NULL, arg_0, arg_1, arg_2); +} + +void glMultiTexCoord2iv(GLenum arg_0, const GLint * arg_1) +{ + do_opengl_call(glMultiTexCoord2iv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord2s(GLenum arg_0, GLshort arg_1, GLshort arg_2) +{ + do_opengl_call(glMultiTexCoord2s_func, NULL, arg_0, arg_1, arg_2); +} + +void glMultiTexCoord2sv(GLenum arg_0, const GLshort * arg_1) +{ + do_opengl_call(glMultiTexCoord2sv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord3d(GLenum arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + do_opengl_call(glMultiTexCoord3d_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glMultiTexCoord3dv(GLenum arg_0, const GLdouble * arg_1) +{ + do_opengl_call(glMultiTexCoord3dv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord3f(GLenum arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + do_opengl_call(glMultiTexCoord3f_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glMultiTexCoord3fv(GLenum arg_0, const GLfloat * arg_1) +{ + do_opengl_call(glMultiTexCoord3fv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord3i(GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3) +{ + do_opengl_call(glMultiTexCoord3i_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glMultiTexCoord3iv(GLenum arg_0, const GLint * arg_1) +{ + do_opengl_call(glMultiTexCoord3iv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord3s(GLenum arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + do_opengl_call(glMultiTexCoord3s_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void glMultiTexCoord3sv(GLenum arg_0, const GLshort * arg_1) +{ + do_opengl_call(glMultiTexCoord3sv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord4d(GLenum arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3, GLdouble arg_4) +{ + do_opengl_call(glMultiTexCoord4d_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void glMultiTexCoord4dv(GLenum arg_0, const GLdouble * arg_1) +{ + do_opengl_call(glMultiTexCoord4dv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord4f(GLenum arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3, GLfloat arg_4) +{ + do_opengl_call(glMultiTexCoord4f_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void glMultiTexCoord4fv(GLenum arg_0, const GLfloat * arg_1) +{ + do_opengl_call(glMultiTexCoord4fv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord4i(GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3, GLint arg_4) +{ + do_opengl_call(glMultiTexCoord4i_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void glMultiTexCoord4iv(GLenum arg_0, const GLint * arg_1) +{ + do_opengl_call(glMultiTexCoord4iv_func, NULL, arg_0, arg_1); +} + +void glMultiTexCoord4s(GLenum arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3, GLshort arg_4) +{ + do_opengl_call(glMultiTexCoord4s_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void glMultiTexCoord4sv(GLenum arg_0, const GLshort * arg_1) +{ + do_opengl_call(glMultiTexCoord4sv_func, NULL, arg_0, arg_1); +} + +void glLoadTransposeMatrixd(const GLdouble arg_0[16]) +{ + do_opengl_call(glLoadTransposeMatrixd_func, NULL, arg_0); +} + +void glLoadTransposeMatrixf(const GLfloat arg_0[16]) +{ + do_opengl_call(glLoadTransposeMatrixf_func, NULL, arg_0); +} + +void glMultTransposeMatrixd(const GLdouble arg_0[16]) +{ + do_opengl_call(glMultTransposeMatrixd_func, NULL, arg_0); +} + +void glMultTransposeMatrixf(const GLfloat arg_0[16]) +{ + do_opengl_call(glMultTransposeMatrixf_func, NULL, arg_0); +} + +void glSampleCoverage(GLclampf arg_0, GLboolean arg_1) +{ + do_opengl_call(glSampleCoverage_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glActiveTextureARB) (GLenum arg_0) +{ + CHECK_PROC(glActiveTextureARB); + do_opengl_call(glActiveTextureARB_func, NULL, arg_0); +} + +void EXT_FUNC(glClientActiveTextureARB) (GLenum arg_0) +{ + CHECK_PROC(glClientActiveTextureARB); + do_opengl_call(glClientActiveTextureARB_func, NULL, arg_0); +} + +void EXT_FUNC(glMultiTexCoord1dARB) (GLenum arg_0, GLdouble arg_1) +{ + CHECK_PROC(glMultiTexCoord1dARB); + do_opengl_call(glMultiTexCoord1dARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord1dvARB) (GLenum arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glMultiTexCoord1dvARB); + do_opengl_call(glMultiTexCoord1dvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord1fARB) (GLenum arg_0, GLfloat arg_1) +{ + CHECK_PROC(glMultiTexCoord1fARB); + do_opengl_call(glMultiTexCoord1fARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord1fvARB) (GLenum arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glMultiTexCoord1fvARB); + do_opengl_call(glMultiTexCoord1fvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord1iARB) (GLenum arg_0, GLint arg_1) +{ + CHECK_PROC(glMultiTexCoord1iARB); + do_opengl_call(glMultiTexCoord1iARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord1ivARB) (GLenum arg_0, const GLint * arg_1) +{ + CHECK_PROC(glMultiTexCoord1ivARB); + do_opengl_call(glMultiTexCoord1ivARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord1sARB) (GLenum arg_0, GLshort arg_1) +{ + CHECK_PROC(glMultiTexCoord1sARB); + do_opengl_call(glMultiTexCoord1sARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord1svARB) (GLenum arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glMultiTexCoord1svARB); + do_opengl_call(glMultiTexCoord1svARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord2dARB) (GLenum arg_0, GLdouble arg_1, GLdouble arg_2) +{ + CHECK_PROC(glMultiTexCoord2dARB); + do_opengl_call(glMultiTexCoord2dARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glMultiTexCoord2dvARB) (GLenum arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glMultiTexCoord2dvARB); + do_opengl_call(glMultiTexCoord2dvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord2fARB) (GLenum arg_0, GLfloat arg_1, GLfloat arg_2) +{ + CHECK_PROC(glMultiTexCoord2fARB); + do_opengl_call(glMultiTexCoord2fARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glMultiTexCoord2fvARB) (GLenum arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glMultiTexCoord2fvARB); + do_opengl_call(glMultiTexCoord2fvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord2iARB) (GLenum arg_0, GLint arg_1, GLint arg_2) +{ + CHECK_PROC(glMultiTexCoord2iARB); + do_opengl_call(glMultiTexCoord2iARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glMultiTexCoord2ivARB) (GLenum arg_0, const GLint * arg_1) +{ + CHECK_PROC(glMultiTexCoord2ivARB); + do_opengl_call(glMultiTexCoord2ivARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord2sARB) (GLenum arg_0, GLshort arg_1, GLshort arg_2) +{ + CHECK_PROC(glMultiTexCoord2sARB); + do_opengl_call(glMultiTexCoord2sARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glMultiTexCoord2svARB) (GLenum arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glMultiTexCoord2svARB); + do_opengl_call(glMultiTexCoord2svARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord3dARB) (GLenum arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + CHECK_PROC(glMultiTexCoord3dARB); + do_opengl_call(glMultiTexCoord3dARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glMultiTexCoord3dvARB) (GLenum arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glMultiTexCoord3dvARB); + do_opengl_call(glMultiTexCoord3dvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord3fARB) (GLenum arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + CHECK_PROC(glMultiTexCoord3fARB); + do_opengl_call(glMultiTexCoord3fARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glMultiTexCoord3fvARB) (GLenum arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glMultiTexCoord3fvARB); + do_opengl_call(glMultiTexCoord3fvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord3iARB) (GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3) +{ + CHECK_PROC(glMultiTexCoord3iARB); + do_opengl_call(glMultiTexCoord3iARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glMultiTexCoord3ivARB) (GLenum arg_0, const GLint * arg_1) +{ + CHECK_PROC(glMultiTexCoord3ivARB); + do_opengl_call(glMultiTexCoord3ivARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord3sARB) (GLenum arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + CHECK_PROC(glMultiTexCoord3sARB); + do_opengl_call(glMultiTexCoord3sARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glMultiTexCoord3svARB) (GLenum arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glMultiTexCoord3svARB); + do_opengl_call(glMultiTexCoord3svARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord4dARB) (GLenum arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3, GLdouble arg_4) +{ + CHECK_PROC(glMultiTexCoord4dARB); + do_opengl_call(glMultiTexCoord4dARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glMultiTexCoord4dvARB) (GLenum arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glMultiTexCoord4dvARB); + do_opengl_call(glMultiTexCoord4dvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord4fARB) (GLenum arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3, GLfloat arg_4) +{ + CHECK_PROC(glMultiTexCoord4fARB); + do_opengl_call(glMultiTexCoord4fARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glMultiTexCoord4fvARB) (GLenum arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glMultiTexCoord4fvARB); + do_opengl_call(glMultiTexCoord4fvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord4iARB) (GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3, GLint arg_4) +{ + CHECK_PROC(glMultiTexCoord4iARB); + do_opengl_call(glMultiTexCoord4iARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glMultiTexCoord4ivARB) (GLenum arg_0, const GLint * arg_1) +{ + CHECK_PROC(glMultiTexCoord4ivARB); + do_opengl_call(glMultiTexCoord4ivARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord4sARB) (GLenum arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3, GLshort arg_4) +{ + CHECK_PROC(glMultiTexCoord4sARB); + do_opengl_call(glMultiTexCoord4sARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glMultiTexCoord4svARB) (GLenum arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glMultiTexCoord4svARB); + do_opengl_call(glMultiTexCoord4svARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glLoadTransposeMatrixfARB) (const GLfloat arg_0[16]) +{ + CHECK_PROC(glLoadTransposeMatrixfARB); + do_opengl_call(glLoadTransposeMatrixfARB_func, NULL, arg_0); +} + +void EXT_FUNC(glLoadTransposeMatrixdARB) (const GLdouble arg_0[16]) +{ + CHECK_PROC(glLoadTransposeMatrixdARB); + do_opengl_call(glLoadTransposeMatrixdARB_func, NULL, arg_0); +} + +void EXT_FUNC(glMultTransposeMatrixfARB) (const GLfloat arg_0[16]) +{ + CHECK_PROC(glMultTransposeMatrixfARB); + do_opengl_call(glMultTransposeMatrixfARB_func, NULL, arg_0); +} + +void EXT_FUNC(glMultTransposeMatrixdARB) (const GLdouble arg_0[16]) +{ + CHECK_PROC(glMultTransposeMatrixdARB); + do_opengl_call(glMultTransposeMatrixdARB_func, NULL, arg_0); +} + +void EXT_FUNC(glSampleCoverageARB) (GLclampf arg_0, GLboolean arg_1) +{ + CHECK_PROC(glSampleCoverageARB); + do_opengl_call(glSampleCoverageARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glPointParameterfARB) (GLenum arg_0, GLfloat arg_1) +{ + CHECK_PROC(glPointParameterfARB); + do_opengl_call(glPointParameterfARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexBlendARB) (GLint arg_0) +{ + CHECK_PROC(glVertexBlendARB); + do_opengl_call(glVertexBlendARB_func, NULL, arg_0); +} + +void EXT_FUNC(glCurrentPaletteMatrixARB) (GLint arg_0) +{ + CHECK_PROC(glCurrentPaletteMatrixARB); + do_opengl_call(glCurrentPaletteMatrixARB_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos2dARB) (GLdouble arg_0, GLdouble arg_1) +{ + CHECK_PROC(glWindowPos2dARB); + do_opengl_call(glWindowPos2dARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glWindowPos2dvARB) (const GLdouble * arg_0) +{ + CHECK_PROC(glWindowPos2dvARB); + do_opengl_call(glWindowPos2dvARB_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos2fARB) (GLfloat arg_0, GLfloat arg_1) +{ + CHECK_PROC(glWindowPos2fARB); + do_opengl_call(glWindowPos2fARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glWindowPos2fvARB) (const GLfloat * arg_0) +{ + CHECK_PROC(glWindowPos2fvARB); + do_opengl_call(glWindowPos2fvARB_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos2iARB) (GLint arg_0, GLint arg_1) +{ + CHECK_PROC(glWindowPos2iARB); + do_opengl_call(glWindowPos2iARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glWindowPos2ivARB) (const GLint * arg_0) +{ + CHECK_PROC(glWindowPos2ivARB); + do_opengl_call(glWindowPos2ivARB_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos2sARB) (GLshort arg_0, GLshort arg_1) +{ + CHECK_PROC(glWindowPos2sARB); + do_opengl_call(glWindowPos2sARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glWindowPos2svARB) (const GLshort * arg_0) +{ + CHECK_PROC(glWindowPos2svARB); + do_opengl_call(glWindowPos2svARB_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos3dARB) (GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + CHECK_PROC(glWindowPos3dARB); + do_opengl_call(glWindowPos3dARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glWindowPos3dvARB) (const GLdouble * arg_0) +{ + CHECK_PROC(glWindowPos3dvARB); + do_opengl_call(glWindowPos3dvARB_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos3fARB) (GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + CHECK_PROC(glWindowPos3fARB); + do_opengl_call(glWindowPos3fARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glWindowPos3fvARB) (const GLfloat * arg_0) +{ + CHECK_PROC(glWindowPos3fvARB); + do_opengl_call(glWindowPos3fvARB_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos3iARB) (GLint arg_0, GLint arg_1, GLint arg_2) +{ + CHECK_PROC(glWindowPos3iARB); + do_opengl_call(glWindowPos3iARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glWindowPos3ivARB) (const GLint * arg_0) +{ + CHECK_PROC(glWindowPos3ivARB); + do_opengl_call(glWindowPos3ivARB_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos3sARB) (GLshort arg_0, GLshort arg_1, GLshort arg_2) +{ + CHECK_PROC(glWindowPos3sARB); + do_opengl_call(glWindowPos3sARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glWindowPos3svARB) (const GLshort * arg_0) +{ + CHECK_PROC(glWindowPos3svARB); + do_opengl_call(glWindowPos3svARB_func, NULL, arg_0); +} + +void EXT_FUNC(glVertexAttrib1dARB) (GLuint arg_0, GLdouble arg_1) +{ + CHECK_PROC(glVertexAttrib1dARB); + do_opengl_call(glVertexAttrib1dARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib1dvARB) (GLuint arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexAttrib1dvARB); + do_opengl_call(glVertexAttrib1dvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib1fARB) (GLuint arg_0, GLfloat arg_1) +{ + CHECK_PROC(glVertexAttrib1fARB); + do_opengl_call(glVertexAttrib1fARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib1fvARB) (GLuint arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexAttrib1fvARB); + do_opengl_call(glVertexAttrib1fvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib1sARB) (GLuint arg_0, GLshort arg_1) +{ + CHECK_PROC(glVertexAttrib1sARB); + do_opengl_call(glVertexAttrib1sARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib1svARB) (GLuint arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexAttrib1svARB); + do_opengl_call(glVertexAttrib1svARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib2dARB) (GLuint arg_0, GLdouble arg_1, GLdouble arg_2) +{ + CHECK_PROC(glVertexAttrib2dARB); + do_opengl_call(glVertexAttrib2dARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttrib2dvARB) (GLuint arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexAttrib2dvARB); + do_opengl_call(glVertexAttrib2dvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib2fARB) (GLuint arg_0, GLfloat arg_1, GLfloat arg_2) +{ + CHECK_PROC(glVertexAttrib2fARB); + do_opengl_call(glVertexAttrib2fARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttrib2fvARB) (GLuint arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexAttrib2fvARB); + do_opengl_call(glVertexAttrib2fvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib2sARB) (GLuint arg_0, GLshort arg_1, GLshort arg_2) +{ + CHECK_PROC(glVertexAttrib2sARB); + do_opengl_call(glVertexAttrib2sARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttrib2svARB) (GLuint arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexAttrib2svARB); + do_opengl_call(glVertexAttrib2svARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib3dARB) (GLuint arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + CHECK_PROC(glVertexAttrib3dARB); + do_opengl_call(glVertexAttrib3dARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexAttrib3dvARB) (GLuint arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexAttrib3dvARB); + do_opengl_call(glVertexAttrib3dvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib3fARB) (GLuint arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + CHECK_PROC(glVertexAttrib3fARB); + do_opengl_call(glVertexAttrib3fARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexAttrib3fvARB) (GLuint arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexAttrib3fvARB); + do_opengl_call(glVertexAttrib3fvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib3sARB) (GLuint arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + CHECK_PROC(glVertexAttrib3sARB); + do_opengl_call(glVertexAttrib3sARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexAttrib3svARB) (GLuint arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexAttrib3svARB); + do_opengl_call(glVertexAttrib3svARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4NbvARB) (GLuint arg_0, const GLbyte * arg_1) +{ + CHECK_PROC(glVertexAttrib4NbvARB); + do_opengl_call(glVertexAttrib4NbvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4NivARB) (GLuint arg_0, const GLint * arg_1) +{ + CHECK_PROC(glVertexAttrib4NivARB); + do_opengl_call(glVertexAttrib4NivARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4NsvARB) (GLuint arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexAttrib4NsvARB); + do_opengl_call(glVertexAttrib4NsvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4NubARB) (GLuint arg_0, GLubyte arg_1, GLubyte arg_2, GLubyte arg_3, GLubyte arg_4) +{ + CHECK_PROC(glVertexAttrib4NubARB); + do_opengl_call(glVertexAttrib4NubARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexAttrib4NubvARB) (GLuint arg_0, const GLubyte * arg_1) +{ + CHECK_PROC(glVertexAttrib4NubvARB); + do_opengl_call(glVertexAttrib4NubvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4NuivARB) (GLuint arg_0, const GLuint * arg_1) +{ + CHECK_PROC(glVertexAttrib4NuivARB); + do_opengl_call(glVertexAttrib4NuivARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4NusvARB) (GLuint arg_0, const GLushort * arg_1) +{ + CHECK_PROC(glVertexAttrib4NusvARB); + do_opengl_call(glVertexAttrib4NusvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4bvARB) (GLuint arg_0, const GLbyte * arg_1) +{ + CHECK_PROC(glVertexAttrib4bvARB); + do_opengl_call(glVertexAttrib4bvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4dARB) (GLuint arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3, GLdouble arg_4) +{ + CHECK_PROC(glVertexAttrib4dARB); + do_opengl_call(glVertexAttrib4dARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexAttrib4dvARB) (GLuint arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexAttrib4dvARB); + do_opengl_call(glVertexAttrib4dvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4fARB) (GLuint arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3, GLfloat arg_4) +{ + CHECK_PROC(glVertexAttrib4fARB); + do_opengl_call(glVertexAttrib4fARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexAttrib4fvARB) (GLuint arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexAttrib4fvARB); + do_opengl_call(glVertexAttrib4fvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4ivARB) (GLuint arg_0, const GLint * arg_1) +{ + CHECK_PROC(glVertexAttrib4ivARB); + do_opengl_call(glVertexAttrib4ivARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4sARB) (GLuint arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3, GLshort arg_4) +{ + CHECK_PROC(glVertexAttrib4sARB); + do_opengl_call(glVertexAttrib4sARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexAttrib4svARB) (GLuint arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexAttrib4svARB); + do_opengl_call(glVertexAttrib4svARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4ubvARB) (GLuint arg_0, const GLubyte * arg_1) +{ + CHECK_PROC(glVertexAttrib4ubvARB); + do_opengl_call(glVertexAttrib4ubvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4uivARB) (GLuint arg_0, const GLuint * arg_1) +{ + CHECK_PROC(glVertexAttrib4uivARB); + do_opengl_call(glVertexAttrib4uivARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4usvARB) (GLuint arg_0, const GLushort * arg_1) +{ + CHECK_PROC(glVertexAttrib4usvARB); + do_opengl_call(glVertexAttrib4usvARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glEnableVertexAttribArrayARB) (GLuint arg_0) +{ + CHECK_PROC(glEnableVertexAttribArrayARB); + do_opengl_call(glEnableVertexAttribArrayARB_func, NULL, arg_0); +} + +void EXT_FUNC(glDisableVertexAttribArrayARB) (GLuint arg_0) +{ + CHECK_PROC(glDisableVertexAttribArrayARB); + do_opengl_call(glDisableVertexAttribArrayARB_func, NULL, arg_0); +} + +void EXT_FUNC(glBindProgramARB) (GLenum arg_0, GLuint arg_1) +{ + CHECK_PROC(glBindProgramARB); + do_opengl_call(glBindProgramARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glProgramEnvParameter4dARB) (GLenum arg_0, GLuint arg_1, GLdouble arg_2, GLdouble arg_3, GLdouble arg_4, GLdouble arg_5) +{ + CHECK_PROC(glProgramEnvParameter4dARB); + do_opengl_call(glProgramEnvParameter4dARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glProgramEnvParameter4dvARB) (GLenum arg_0, GLuint arg_1, const GLdouble * arg_2) +{ + CHECK_PROC(glProgramEnvParameter4dvARB); + do_opengl_call(glProgramEnvParameter4dvARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glProgramEnvParameter4fARB) (GLenum arg_0, GLuint arg_1, GLfloat arg_2, GLfloat arg_3, GLfloat arg_4, GLfloat arg_5) +{ + CHECK_PROC(glProgramEnvParameter4fARB); + do_opengl_call(glProgramEnvParameter4fARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glProgramEnvParameter4fvARB) (GLenum arg_0, GLuint arg_1, const GLfloat * arg_2) +{ + CHECK_PROC(glProgramEnvParameter4fvARB); + do_opengl_call(glProgramEnvParameter4fvARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glProgramLocalParameter4dARB) (GLenum arg_0, GLuint arg_1, GLdouble arg_2, GLdouble arg_3, GLdouble arg_4, GLdouble arg_5) +{ + CHECK_PROC(glProgramLocalParameter4dARB); + do_opengl_call(glProgramLocalParameter4dARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glProgramLocalParameter4dvARB) (GLenum arg_0, GLuint arg_1, const GLdouble * arg_2) +{ + CHECK_PROC(glProgramLocalParameter4dvARB); + do_opengl_call(glProgramLocalParameter4dvARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glProgramLocalParameter4fARB) (GLenum arg_0, GLuint arg_1, GLfloat arg_2, GLfloat arg_3, GLfloat arg_4, GLfloat arg_5) +{ + CHECK_PROC(glProgramLocalParameter4fARB); + do_opengl_call(glProgramLocalParameter4fARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glProgramLocalParameter4fvARB) (GLenum arg_0, GLuint arg_1, const GLfloat * arg_2) +{ + CHECK_PROC(glProgramLocalParameter4fvARB); + do_opengl_call(glProgramLocalParameter4fvARB_func, NULL, arg_0, arg_1, arg_2); +} + +GLboolean EXT_FUNC(glIsProgramARB) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsProgramARB); + do_opengl_call(glIsProgramARB_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glBindBufferARB) (GLenum arg_0, GLuint arg_1) +{ + CHECK_PROC(glBindBufferARB); + do_opengl_call(glBindBufferARB_func, NULL, arg_0, arg_1); +} + +GLboolean EXT_FUNC(glIsBufferARB) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsBufferARB); + do_opengl_call(glIsBufferARB_func, &ret, arg_0); + return ret; +} + +GLboolean EXT_FUNC(glUnmapBufferARB) (GLenum arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glUnmapBufferARB); + do_opengl_call(glUnmapBufferARB_func, &ret, arg_0); + return ret; +} + +GLboolean EXT_FUNC(glIsQueryARB) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsQueryARB); + do_opengl_call(glIsQueryARB_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glBeginQueryARB) (GLenum arg_0, GLuint arg_1) +{ + CHECK_PROC(glBeginQueryARB); + do_opengl_call(glBeginQueryARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glEndQueryARB) (GLenum arg_0) +{ + CHECK_PROC(glEndQueryARB); + do_opengl_call(glEndQueryARB_func, NULL, arg_0); +} + +void EXT_FUNC(glDeleteObjectARB) (GLhandleARB arg_0) +{ + CHECK_PROC(glDeleteObjectARB); + do_opengl_call(glDeleteObjectARB_func, NULL, arg_0); +} + +GLhandleARB EXT_FUNC(glGetHandleARB) (GLenum arg_0) +{ + GLhandleARB ret; + CHECK_PROC_WITH_RET(glGetHandleARB); + do_opengl_call(glGetHandleARB_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glDetachObjectARB) (GLhandleARB arg_0, GLhandleARB arg_1) +{ + CHECK_PROC(glDetachObjectARB); + do_opengl_call(glDetachObjectARB_func, NULL, arg_0, arg_1); +} + +GLhandleARB EXT_FUNC(glCreateShaderObjectARB) (GLenum arg_0) +{ + GLhandleARB ret; + CHECK_PROC_WITH_RET(glCreateShaderObjectARB); + do_opengl_call(glCreateShaderObjectARB_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glCompileShaderARB) (GLhandleARB arg_0) +{ + CHECK_PROC(glCompileShaderARB); + do_opengl_call(glCompileShaderARB_func, NULL, arg_0); +} + +GLhandleARB EXT_FUNC(glCreateProgramObjectARB) () +{ + GLhandleARB ret; + CHECK_PROC_WITH_RET(glCreateProgramObjectARB); + do_opengl_call(glCreateProgramObjectARB_func, &ret); + return ret; +} + +void EXT_FUNC(glAttachObjectARB) (GLhandleARB arg_0, GLhandleARB arg_1) +{ + CHECK_PROC(glAttachObjectARB); + do_opengl_call(glAttachObjectARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glLinkProgramARB) (GLhandleARB arg_0) +{ + CHECK_PROC(glLinkProgramARB); + do_opengl_call(glLinkProgramARB_func, NULL, arg_0); +} + +void EXT_FUNC(glUseProgramObjectARB) (GLhandleARB arg_0) +{ + CHECK_PROC(glUseProgramObjectARB); + do_opengl_call(glUseProgramObjectARB_func, NULL, arg_0); +} + +void EXT_FUNC(glValidateProgramARB) (GLhandleARB arg_0) +{ + CHECK_PROC(glValidateProgramARB); + do_opengl_call(glValidateProgramARB_func, NULL, arg_0); +} + +void EXT_FUNC(glUniform1fARB) (GLint arg_0, GLfloat arg_1) +{ + CHECK_PROC(glUniform1fARB); + do_opengl_call(glUniform1fARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glUniform2fARB) (GLint arg_0, GLfloat arg_1, GLfloat arg_2) +{ + CHECK_PROC(glUniform2fARB); + do_opengl_call(glUniform2fARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glUniform3fARB) (GLint arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + CHECK_PROC(glUniform3fARB); + do_opengl_call(glUniform3fARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glUniform4fARB) (GLint arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3, GLfloat arg_4) +{ + CHECK_PROC(glUniform4fARB); + do_opengl_call(glUniform4fARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glUniform1iARB) (GLint arg_0, GLint arg_1) +{ + CHECK_PROC(glUniform1iARB); + do_opengl_call(glUniform1iARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glUniform2iARB) (GLint arg_0, GLint arg_1, GLint arg_2) +{ + CHECK_PROC(glUniform2iARB); + do_opengl_call(glUniform2iARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glUniform3iARB) (GLint arg_0, GLint arg_1, GLint arg_2, GLint arg_3) +{ + CHECK_PROC(glUniform3iARB); + do_opengl_call(glUniform3iARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glUniform4iARB) (GLint arg_0, GLint arg_1, GLint arg_2, GLint arg_3, GLint arg_4) +{ + CHECK_PROC(glUniform4iARB); + do_opengl_call(glUniform4iARB_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glUniform1fvARB) (GLint arg_0, GLsizei arg_1, const GLfloat * arg_2) +{ + CHECK_PROC(glUniform1fvARB); + do_opengl_call(glUniform1fvARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glUniform2fvARB) (GLint arg_0, GLsizei arg_1, const GLfloat * arg_2) +{ + CHECK_PROC(glUniform2fvARB); + do_opengl_call(glUniform2fvARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glUniform3fvARB) (GLint arg_0, GLsizei arg_1, const GLfloat * arg_2) +{ + CHECK_PROC(glUniform3fvARB); + do_opengl_call(glUniform3fvARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glUniform4fvARB) (GLint arg_0, GLsizei arg_1, const GLfloat * arg_2) +{ + CHECK_PROC(glUniform4fvARB); + do_opengl_call(glUniform4fvARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glUniform1ivARB) (GLint arg_0, GLsizei arg_1, const GLint * arg_2) +{ + CHECK_PROC(glUniform1ivARB); + do_opengl_call(glUniform1ivARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glUniform2ivARB) (GLint arg_0, GLsizei arg_1, const GLint * arg_2) +{ + CHECK_PROC(glUniform2ivARB); + do_opengl_call(glUniform2ivARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glUniform3ivARB) (GLint arg_0, GLsizei arg_1, const GLint * arg_2) +{ + CHECK_PROC(glUniform3ivARB); + do_opengl_call(glUniform3ivARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glUniform4ivARB) (GLint arg_0, GLsizei arg_1, const GLint * arg_2) +{ + CHECK_PROC(glUniform4ivARB); + do_opengl_call(glUniform4ivARB_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glUniformMatrix2fvARB) (GLint arg_0, GLsizei arg_1, GLboolean arg_2, const GLfloat * arg_3) +{ + CHECK_PROC(glUniformMatrix2fvARB); + do_opengl_call(glUniformMatrix2fvARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glUniformMatrix3fvARB) (GLint arg_0, GLsizei arg_1, GLboolean arg_2, const GLfloat * arg_3) +{ + CHECK_PROC(glUniformMatrix3fvARB); + do_opengl_call(glUniformMatrix3fvARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glUniformMatrix4fvARB) (GLint arg_0, GLsizei arg_1, GLboolean arg_2, const GLfloat * arg_3) +{ + CHECK_PROC(glUniformMatrix4fvARB); + do_opengl_call(glUniformMatrix4fvARB_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glClampColorARB) (GLenum arg_0, GLenum arg_1) +{ + CHECK_PROC(glClampColorARB); + do_opengl_call(glClampColorARB_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glBlendColorEXT) (GLclampf arg_0, GLclampf arg_1, GLclampf arg_2, GLclampf arg_3) +{ + CHECK_PROC(glBlendColorEXT); + do_opengl_call(glBlendColorEXT_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glPolygonOffsetEXT) (GLfloat arg_0, GLfloat arg_1) +{ + CHECK_PROC(glPolygonOffsetEXT); + do_opengl_call(glPolygonOffsetEXT_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glCopyTexImage1DEXT) (GLenum arg_0, GLint arg_1, GLenum arg_2, GLint arg_3, GLint arg_4, GLsizei arg_5, GLint arg_6) +{ + CHECK_PROC(glCopyTexImage1DEXT); + do_opengl_call(glCopyTexImage1DEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6); +} + +void EXT_FUNC(glCopyTexImage2DEXT) (GLenum arg_0, GLint arg_1, GLenum arg_2, GLint arg_3, GLint arg_4, GLsizei arg_5, GLsizei arg_6, GLint arg_7) +{ + CHECK_PROC(glCopyTexImage2DEXT); + do_opengl_call(glCopyTexImage2DEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7); +} + +void EXT_FUNC(glCopyTexSubImage1DEXT) (GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3, GLint arg_4, GLsizei arg_5) +{ + CHECK_PROC(glCopyTexSubImage1DEXT); + do_opengl_call(glCopyTexSubImage1DEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glCopyTexSubImage2DEXT) (GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3, GLint arg_4, GLint arg_5, GLsizei arg_6, GLsizei arg_7) +{ + CHECK_PROC(glCopyTexSubImage2DEXT); + do_opengl_call(glCopyTexSubImage2DEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7); +} + +void EXT_FUNC(glCopyTexSubImage3DEXT) (GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3, GLint arg_4, GLint arg_5, GLint arg_6, GLsizei arg_7, GLsizei arg_8) +{ + CHECK_PROC(glCopyTexSubImage3DEXT); + do_opengl_call(glCopyTexSubImage3DEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8); +} + +void EXT_FUNC(glHistogramEXT) (GLenum arg_0, GLsizei arg_1, GLenum arg_2, GLboolean arg_3) +{ + CHECK_PROC(glHistogramEXT); + do_opengl_call(glHistogramEXT_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glMinmaxEXT) (GLenum arg_0, GLenum arg_1, GLboolean arg_2) +{ + CHECK_PROC(glMinmaxEXT); + do_opengl_call(glMinmaxEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glResetHistogramEXT) (GLenum arg_0) +{ + CHECK_PROC(glResetHistogramEXT); + do_opengl_call(glResetHistogramEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glResetMinmaxEXT) (GLenum arg_0) +{ + CHECK_PROC(glResetMinmaxEXT); + do_opengl_call(glResetMinmaxEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glConvolutionParameterfEXT) (GLenum arg_0, GLenum arg_1, GLfloat arg_2) +{ + CHECK_PROC(glConvolutionParameterfEXT); + do_opengl_call(glConvolutionParameterfEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glConvolutionParameteriEXT) (GLenum arg_0, GLenum arg_1, GLint arg_2) +{ + CHECK_PROC(glConvolutionParameteriEXT); + do_opengl_call(glConvolutionParameteriEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glCopyConvolutionFilter1DEXT) (GLenum arg_0, GLenum arg_1, GLint arg_2, GLint arg_3, GLsizei arg_4) +{ + CHECK_PROC(glCopyConvolutionFilter1DEXT); + do_opengl_call(glCopyConvolutionFilter1DEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glCopyConvolutionFilter2DEXT) (GLenum arg_0, GLenum arg_1, GLint arg_2, GLint arg_3, GLsizei arg_4, GLsizei arg_5) +{ + CHECK_PROC(glCopyConvolutionFilter2DEXT); + do_opengl_call(glCopyConvolutionFilter2DEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glCopyColorTableSGI) (GLenum arg_0, GLenum arg_1, GLint arg_2, GLint arg_3, GLsizei arg_4) +{ + CHECK_PROC(glCopyColorTableSGI); + do_opengl_call(glCopyColorTableSGI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glPixelTexGenSGIX) (GLenum arg_0) +{ + CHECK_PROC(glPixelTexGenSGIX); + do_opengl_call(glPixelTexGenSGIX_func, NULL, arg_0); +} + +void EXT_FUNC(glPixelTexGenParameteriSGIS) (GLenum arg_0, GLint arg_1) +{ + CHECK_PROC(glPixelTexGenParameteriSGIS); + do_opengl_call(glPixelTexGenParameteriSGIS_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glPixelTexGenParameterfSGIS) (GLenum arg_0, GLfloat arg_1) +{ + CHECK_PROC(glPixelTexGenParameterfSGIS); + do_opengl_call(glPixelTexGenParameterfSGIS_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glBindTextureEXT) (GLenum arg_0, GLuint arg_1) +{ + CHECK_PROC(glBindTextureEXT); + do_opengl_call(glBindTextureEXT_func, NULL, arg_0, arg_1); +} + +GLboolean EXT_FUNC(glIsTextureEXT) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsTextureEXT); + do_opengl_call(glIsTextureEXT_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glSampleMaskSGIS) (GLclampf arg_0, GLboolean arg_1) +{ + CHECK_PROC(glSampleMaskSGIS); + do_opengl_call(glSampleMaskSGIS_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glSamplePatternSGIS) (GLenum arg_0) +{ + CHECK_PROC(glSamplePatternSGIS); + do_opengl_call(glSamplePatternSGIS_func, NULL, arg_0); +} + +void EXT_FUNC(glArrayElementEXT) (GLint arg_0) +{ + CHECK_PROC(glArrayElementEXT); + do_opengl_call(glArrayElementEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glBlendEquationEXT) (GLenum arg_0) +{ + CHECK_PROC(glBlendEquationEXT); + do_opengl_call(glBlendEquationEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glSpriteParameterfSGIX) (GLenum arg_0, GLfloat arg_1) +{ + CHECK_PROC(glSpriteParameterfSGIX); + do_opengl_call(glSpriteParameterfSGIX_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glSpriteParameteriSGIX) (GLenum arg_0, GLint arg_1) +{ + CHECK_PROC(glSpriteParameteriSGIX); + do_opengl_call(glSpriteParameteriSGIX_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glPointParameterfEXT) (GLenum arg_0, GLfloat arg_1) +{ + CHECK_PROC(glPointParameterfEXT); + do_opengl_call(glPointParameterfEXT_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glPointParameterfSGIS) (GLenum arg_0, GLfloat arg_1) +{ + CHECK_PROC(glPointParameterfSGIS); + do_opengl_call(glPointParameterfSGIS_func, NULL, arg_0, arg_1); +} + +GLint EXT_FUNC(glGetInstrumentsSGIX) () +{ + GLint ret; + CHECK_PROC_WITH_RET(glGetInstrumentsSGIX); + do_opengl_call(glGetInstrumentsSGIX_func, &ret); + return ret; +} + +void EXT_FUNC(glReadInstrumentsSGIX) (GLint arg_0) +{ + CHECK_PROC(glReadInstrumentsSGIX); + do_opengl_call(glReadInstrumentsSGIX_func, NULL, arg_0); +} + +void EXT_FUNC(glStartInstrumentsSGIX) () +{ + CHECK_PROC(glStartInstrumentsSGIX); + do_opengl_call(glStartInstrumentsSGIX_func, NULL); +} + +void EXT_FUNC(glStopInstrumentsSGIX) (GLint arg_0) +{ + CHECK_PROC(glStopInstrumentsSGIX); + do_opengl_call(glStopInstrumentsSGIX_func, NULL, arg_0); +} + +void EXT_FUNC(glFrameZoomSGIX) (GLint arg_0) +{ + CHECK_PROC(glFrameZoomSGIX); + do_opengl_call(glFrameZoomSGIX_func, NULL, arg_0); +} + +void EXT_FUNC(glTagSampleBufferSGIX) () +{ + CHECK_PROC(glTagSampleBufferSGIX); + do_opengl_call(glTagSampleBufferSGIX_func, NULL); +} + +void EXT_FUNC(glDeformSGIX) (GLbitfield arg_0) +{ + CHECK_PROC(glDeformSGIX); + do_opengl_call(glDeformSGIX_func, NULL, arg_0); +} + +void EXT_FUNC(glLoadIdentityDeformationMapSGIX) (GLbitfield arg_0) +{ + CHECK_PROC(glLoadIdentityDeformationMapSGIX); + do_opengl_call(glLoadIdentityDeformationMapSGIX_func, NULL, arg_0); +} + +void EXT_FUNC(glFlushRasterSGIX) () +{ + CHECK_PROC(glFlushRasterSGIX); + do_opengl_call(glFlushRasterSGIX_func, NULL); +} + +void EXT_FUNC(glCopyColorSubTableEXT) (GLenum arg_0, GLsizei arg_1, GLint arg_2, GLint arg_3, GLsizei arg_4) +{ + CHECK_PROC(glCopyColorSubTableEXT); + do_opengl_call(glCopyColorSubTableEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glListParameterfSGIX) (GLuint arg_0, GLenum arg_1, GLfloat arg_2) +{ + CHECK_PROC(glListParameterfSGIX); + do_opengl_call(glListParameterfSGIX_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glListParameteriSGIX) (GLuint arg_0, GLenum arg_1, GLint arg_2) +{ + CHECK_PROC(glListParameteriSGIX); + do_opengl_call(glListParameteriSGIX_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glIndexMaterialEXT) (GLenum arg_0, GLenum arg_1) +{ + CHECK_PROC(glIndexMaterialEXT); + do_opengl_call(glIndexMaterialEXT_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glIndexFuncEXT) (GLenum arg_0, GLclampf arg_1) +{ + CHECK_PROC(glIndexFuncEXT); + do_opengl_call(glIndexFuncEXT_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glLockArraysEXT) (GLint arg_0, GLsizei arg_1) +{ + CHECK_PROC(glLockArraysEXT); + do_opengl_call(glLockArraysEXT_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glUnlockArraysEXT) () +{ + CHECK_PROC(glUnlockArraysEXT); + do_opengl_call(glUnlockArraysEXT_func, NULL); +} + +void EXT_FUNC(glFragmentColorMaterialSGIX) (GLenum arg_0, GLenum arg_1) +{ + CHECK_PROC(glFragmentColorMaterialSGIX); + do_opengl_call(glFragmentColorMaterialSGIX_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glFragmentLightfSGIX) (GLenum arg_0, GLenum arg_1, GLfloat arg_2) +{ + CHECK_PROC(glFragmentLightfSGIX); + do_opengl_call(glFragmentLightfSGIX_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glFragmentLightiSGIX) (GLenum arg_0, GLenum arg_1, GLint arg_2) +{ + CHECK_PROC(glFragmentLightiSGIX); + do_opengl_call(glFragmentLightiSGIX_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glFragmentLightModelfSGIX) (GLenum arg_0, GLfloat arg_1) +{ + CHECK_PROC(glFragmentLightModelfSGIX); + do_opengl_call(glFragmentLightModelfSGIX_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glFragmentLightModeliSGIX) (GLenum arg_0, GLint arg_1) +{ + CHECK_PROC(glFragmentLightModeliSGIX); + do_opengl_call(glFragmentLightModeliSGIX_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glFragmentMaterialfSGIX) (GLenum arg_0, GLenum arg_1, GLfloat arg_2) +{ + CHECK_PROC(glFragmentMaterialfSGIX); + do_opengl_call(glFragmentMaterialfSGIX_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glFragmentMaterialiSGIX) (GLenum arg_0, GLenum arg_1, GLint arg_2) +{ + CHECK_PROC(glFragmentMaterialiSGIX); + do_opengl_call(glFragmentMaterialiSGIX_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glLightEnviSGIX) (GLenum arg_0, GLint arg_1) +{ + CHECK_PROC(glLightEnviSGIX); + do_opengl_call(glLightEnviSGIX_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glApplyTextureEXT) (GLenum arg_0) +{ + CHECK_PROC(glApplyTextureEXT); + do_opengl_call(glApplyTextureEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glTextureLightEXT) (GLenum arg_0) +{ + CHECK_PROC(glTextureLightEXT); + do_opengl_call(glTextureLightEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glTextureMaterialEXT) (GLenum arg_0, GLenum arg_1) +{ + CHECK_PROC(glTextureMaterialEXT); + do_opengl_call(glTextureMaterialEXT_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glAsyncMarkerSGIX) (GLuint arg_0) +{ + CHECK_PROC(glAsyncMarkerSGIX); + do_opengl_call(glAsyncMarkerSGIX_func, NULL, arg_0); +} + +GLuint EXT_FUNC(glGenAsyncMarkersSGIX) (GLsizei arg_0) +{ + GLuint ret; + CHECK_PROC_WITH_RET(glGenAsyncMarkersSGIX); + do_opengl_call(glGenAsyncMarkersSGIX_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glDeleteAsyncMarkersSGIX) (GLuint arg_0, GLsizei arg_1) +{ + CHECK_PROC(glDeleteAsyncMarkersSGIX); + do_opengl_call(glDeleteAsyncMarkersSGIX_func, NULL, arg_0, arg_1); +} + +GLboolean EXT_FUNC(glIsAsyncMarkerSGIX) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsAsyncMarkerSGIX); + do_opengl_call(glIsAsyncMarkerSGIX_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glPixelTransformParameteriEXT) (GLenum arg_0, GLenum arg_1, GLint arg_2) +{ + CHECK_PROC(glPixelTransformParameteriEXT); + do_opengl_call(glPixelTransformParameteriEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glPixelTransformParameterfEXT) (GLenum arg_0, GLenum arg_1, GLfloat arg_2) +{ + CHECK_PROC(glPixelTransformParameterfEXT); + do_opengl_call(glPixelTransformParameterfEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glSecondaryColor3bEXT) (GLbyte arg_0, GLbyte arg_1, GLbyte arg_2) +{ + CHECK_PROC(glSecondaryColor3bEXT); + do_opengl_call(glSecondaryColor3bEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glSecondaryColor3bvEXT) (const GLbyte * arg_0) +{ + CHECK_PROC(glSecondaryColor3bvEXT); + do_opengl_call(glSecondaryColor3bvEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glSecondaryColor3dEXT) (GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + CHECK_PROC(glSecondaryColor3dEXT); + do_opengl_call(glSecondaryColor3dEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glSecondaryColor3dvEXT) (const GLdouble * arg_0) +{ + CHECK_PROC(glSecondaryColor3dvEXT); + do_opengl_call(glSecondaryColor3dvEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glSecondaryColor3fEXT) (GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + CHECK_PROC(glSecondaryColor3fEXT); + do_opengl_call(glSecondaryColor3fEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glSecondaryColor3fvEXT) (const GLfloat * arg_0) +{ + CHECK_PROC(glSecondaryColor3fvEXT); + do_opengl_call(glSecondaryColor3fvEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glSecondaryColor3iEXT) (GLint arg_0, GLint arg_1, GLint arg_2) +{ + CHECK_PROC(glSecondaryColor3iEXT); + do_opengl_call(glSecondaryColor3iEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glSecondaryColor3ivEXT) (const GLint * arg_0) +{ + CHECK_PROC(glSecondaryColor3ivEXT); + do_opengl_call(glSecondaryColor3ivEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glSecondaryColor3sEXT) (GLshort arg_0, GLshort arg_1, GLshort arg_2) +{ + CHECK_PROC(glSecondaryColor3sEXT); + do_opengl_call(glSecondaryColor3sEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glSecondaryColor3svEXT) (const GLshort * arg_0) +{ + CHECK_PROC(glSecondaryColor3svEXT); + do_opengl_call(glSecondaryColor3svEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glSecondaryColor3ubEXT) (GLubyte arg_0, GLubyte arg_1, GLubyte arg_2) +{ + CHECK_PROC(glSecondaryColor3ubEXT); + do_opengl_call(glSecondaryColor3ubEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glSecondaryColor3ubvEXT) (const GLubyte * arg_0) +{ + CHECK_PROC(glSecondaryColor3ubvEXT); + do_opengl_call(glSecondaryColor3ubvEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glSecondaryColor3uiEXT) (GLuint arg_0, GLuint arg_1, GLuint arg_2) +{ + CHECK_PROC(glSecondaryColor3uiEXT); + do_opengl_call(glSecondaryColor3uiEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glSecondaryColor3uivEXT) (const GLuint * arg_0) +{ + CHECK_PROC(glSecondaryColor3uivEXT); + do_opengl_call(glSecondaryColor3uivEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glSecondaryColor3usEXT) (GLushort arg_0, GLushort arg_1, GLushort arg_2) +{ + CHECK_PROC(glSecondaryColor3usEXT); + do_opengl_call(glSecondaryColor3usEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glSecondaryColor3usvEXT) (const GLushort * arg_0) +{ + CHECK_PROC(glSecondaryColor3usvEXT); + do_opengl_call(glSecondaryColor3usvEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glTextureNormalEXT) (GLenum arg_0) +{ + CHECK_PROC(glTextureNormalEXT); + do_opengl_call(glTextureNormalEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glFogCoordfEXT) (GLfloat arg_0) +{ + CHECK_PROC(glFogCoordfEXT); + do_opengl_call(glFogCoordfEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glFogCoorddEXT) (GLdouble arg_0) +{ + CHECK_PROC(glFogCoorddEXT); + do_opengl_call(glFogCoorddEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glTangent3bEXT) (GLbyte arg_0, GLbyte arg_1, GLbyte arg_2) +{ + CHECK_PROC(glTangent3bEXT); + do_opengl_call(glTangent3bEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glTangent3bvEXT) (const GLbyte * arg_0) +{ + CHECK_PROC(glTangent3bvEXT); + do_opengl_call(glTangent3bvEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glTangent3dEXT) (GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + CHECK_PROC(glTangent3dEXT); + do_opengl_call(glTangent3dEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glTangent3dvEXT) (const GLdouble * arg_0) +{ + CHECK_PROC(glTangent3dvEXT); + do_opengl_call(glTangent3dvEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glTangent3fEXT) (GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + CHECK_PROC(glTangent3fEXT); + do_opengl_call(glTangent3fEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glTangent3fvEXT) (const GLfloat * arg_0) +{ + CHECK_PROC(glTangent3fvEXT); + do_opengl_call(glTangent3fvEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glTangent3iEXT) (GLint arg_0, GLint arg_1, GLint arg_2) +{ + CHECK_PROC(glTangent3iEXT); + do_opengl_call(glTangent3iEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glTangent3ivEXT) (const GLint * arg_0) +{ + CHECK_PROC(glTangent3ivEXT); + do_opengl_call(glTangent3ivEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glTangent3sEXT) (GLshort arg_0, GLshort arg_1, GLshort arg_2) +{ + CHECK_PROC(glTangent3sEXT); + do_opengl_call(glTangent3sEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glTangent3svEXT) (const GLshort * arg_0) +{ + CHECK_PROC(glTangent3svEXT); + do_opengl_call(glTangent3svEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glBinormal3bEXT) (GLbyte arg_0, GLbyte arg_1, GLbyte arg_2) +{ + CHECK_PROC(glBinormal3bEXT); + do_opengl_call(glBinormal3bEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glBinormal3bvEXT) (const GLbyte * arg_0) +{ + CHECK_PROC(glBinormal3bvEXT); + do_opengl_call(glBinormal3bvEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glBinormal3dEXT) (GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + CHECK_PROC(glBinormal3dEXT); + do_opengl_call(glBinormal3dEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glBinormal3dvEXT) (const GLdouble * arg_0) +{ + CHECK_PROC(glBinormal3dvEXT); + do_opengl_call(glBinormal3dvEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glBinormal3fEXT) (GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + CHECK_PROC(glBinormal3fEXT); + do_opengl_call(glBinormal3fEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glBinormal3fvEXT) (const GLfloat * arg_0) +{ + CHECK_PROC(glBinormal3fvEXT); + do_opengl_call(glBinormal3fvEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glBinormal3iEXT) (GLint arg_0, GLint arg_1, GLint arg_2) +{ + CHECK_PROC(glBinormal3iEXT); + do_opengl_call(glBinormal3iEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glBinormal3ivEXT) (const GLint * arg_0) +{ + CHECK_PROC(glBinormal3ivEXT); + do_opengl_call(glBinormal3ivEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glBinormal3sEXT) (GLshort arg_0, GLshort arg_1, GLshort arg_2) +{ + CHECK_PROC(glBinormal3sEXT); + do_opengl_call(glBinormal3sEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glBinormal3svEXT) (const GLshort * arg_0) +{ + CHECK_PROC(glBinormal3svEXT); + do_opengl_call(glBinormal3svEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glBlendFuncSeparateEXT) (GLenum arg_0, GLenum arg_1, GLenum arg_2, GLenum arg_3) +{ + CHECK_PROC(glBlendFuncSeparateEXT); + do_opengl_call(glBlendFuncSeparateEXT_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexWeightfEXT) (GLfloat arg_0) +{ + CHECK_PROC(glVertexWeightfEXT); + do_opengl_call(glVertexWeightfEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glFlushVertexArrayRangeNV) () +{ + CHECK_PROC(glFlushVertexArrayRangeNV); + do_opengl_call(glFlushVertexArrayRangeNV_func, NULL); +} + +void EXT_FUNC(glCombinerParameterfNV) (GLenum arg_0, GLfloat arg_1) +{ + CHECK_PROC(glCombinerParameterfNV); + do_opengl_call(glCombinerParameterfNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glCombinerParameteriNV) (GLenum arg_0, GLint arg_1) +{ + CHECK_PROC(glCombinerParameteriNV); + do_opengl_call(glCombinerParameteriNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glCombinerInputNV) (GLenum arg_0, GLenum arg_1, GLenum arg_2, GLenum arg_3, GLenum arg_4, GLenum arg_5) +{ + CHECK_PROC(glCombinerInputNV); + do_opengl_call(glCombinerInputNV_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glCombinerOutputNV) (GLenum arg_0, GLenum arg_1, GLenum arg_2, GLenum arg_3, GLenum arg_4, GLenum arg_5, GLenum arg_6, GLboolean arg_7, GLboolean arg_8, GLboolean arg_9) +{ + CHECK_PROC(glCombinerOutputNV); + do_opengl_call(glCombinerOutputNV_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9); +} + +void EXT_FUNC(glFinalCombinerInputNV) (GLenum arg_0, GLenum arg_1, GLenum arg_2, GLenum arg_3) +{ + CHECK_PROC(glFinalCombinerInputNV); + do_opengl_call(glFinalCombinerInputNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glResizeBuffersMESA) () +{ + CHECK_PROC(glResizeBuffersMESA); + do_opengl_call(glResizeBuffersMESA_func, NULL); +} + +void EXT_FUNC(glWindowPos2dMESA) (GLdouble arg_0, GLdouble arg_1) +{ + CHECK_PROC(glWindowPos2dMESA); + do_opengl_call(glWindowPos2dMESA_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glWindowPos2dvMESA) (const GLdouble * arg_0) +{ + CHECK_PROC(glWindowPos2dvMESA); + do_opengl_call(glWindowPos2dvMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos2fMESA) (GLfloat arg_0, GLfloat arg_1) +{ + CHECK_PROC(glWindowPos2fMESA); + do_opengl_call(glWindowPos2fMESA_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glWindowPos2fvMESA) (const GLfloat * arg_0) +{ + CHECK_PROC(glWindowPos2fvMESA); + do_opengl_call(glWindowPos2fvMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos2iMESA) (GLint arg_0, GLint arg_1) +{ + CHECK_PROC(glWindowPos2iMESA); + do_opengl_call(glWindowPos2iMESA_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glWindowPos2ivMESA) (const GLint * arg_0) +{ + CHECK_PROC(glWindowPos2ivMESA); + do_opengl_call(glWindowPos2ivMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos2sMESA) (GLshort arg_0, GLshort arg_1) +{ + CHECK_PROC(glWindowPos2sMESA); + do_opengl_call(glWindowPos2sMESA_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glWindowPos2svMESA) (const GLshort * arg_0) +{ + CHECK_PROC(glWindowPos2svMESA); + do_opengl_call(glWindowPos2svMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos3dMESA) (GLdouble arg_0, GLdouble arg_1, GLdouble arg_2) +{ + CHECK_PROC(glWindowPos3dMESA); + do_opengl_call(glWindowPos3dMESA_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glWindowPos3dvMESA) (const GLdouble * arg_0) +{ + CHECK_PROC(glWindowPos3dvMESA); + do_opengl_call(glWindowPos3dvMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos3fMESA) (GLfloat arg_0, GLfloat arg_1, GLfloat arg_2) +{ + CHECK_PROC(glWindowPos3fMESA); + do_opengl_call(glWindowPos3fMESA_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glWindowPos3fvMESA) (const GLfloat * arg_0) +{ + CHECK_PROC(glWindowPos3fvMESA); + do_opengl_call(glWindowPos3fvMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos3iMESA) (GLint arg_0, GLint arg_1, GLint arg_2) +{ + CHECK_PROC(glWindowPos3iMESA); + do_opengl_call(glWindowPos3iMESA_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glWindowPos3ivMESA) (const GLint * arg_0) +{ + CHECK_PROC(glWindowPos3ivMESA); + do_opengl_call(glWindowPos3ivMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos3sMESA) (GLshort arg_0, GLshort arg_1, GLshort arg_2) +{ + CHECK_PROC(glWindowPos3sMESA); + do_opengl_call(glWindowPos3sMESA_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glWindowPos3svMESA) (const GLshort * arg_0) +{ + CHECK_PROC(glWindowPos3svMESA); + do_opengl_call(glWindowPos3svMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos4dMESA) (GLdouble arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + CHECK_PROC(glWindowPos4dMESA); + do_opengl_call(glWindowPos4dMESA_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glWindowPos4dvMESA) (const GLdouble * arg_0) +{ + CHECK_PROC(glWindowPos4dvMESA); + do_opengl_call(glWindowPos4dvMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos4fMESA) (GLfloat arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + CHECK_PROC(glWindowPos4fMESA); + do_opengl_call(glWindowPos4fMESA_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glWindowPos4fvMESA) (const GLfloat * arg_0) +{ + CHECK_PROC(glWindowPos4fvMESA); + do_opengl_call(glWindowPos4fvMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos4iMESA) (GLint arg_0, GLint arg_1, GLint arg_2, GLint arg_3) +{ + CHECK_PROC(glWindowPos4iMESA); + do_opengl_call(glWindowPos4iMESA_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glWindowPos4ivMESA) (const GLint * arg_0) +{ + CHECK_PROC(glWindowPos4ivMESA); + do_opengl_call(glWindowPos4ivMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glWindowPos4sMESA) (GLshort arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + CHECK_PROC(glWindowPos4sMESA); + do_opengl_call(glWindowPos4sMESA_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glWindowPos4svMESA) (const GLshort * arg_0) +{ + CHECK_PROC(glWindowPos4svMESA); + do_opengl_call(glWindowPos4svMESA_func, NULL, arg_0); +} + +void EXT_FUNC(glSampleMaskEXT) (GLclampf arg_0, GLboolean arg_1) +{ + CHECK_PROC(glSampleMaskEXT); + do_opengl_call(glSampleMaskEXT_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glSamplePatternEXT) (GLenum arg_0) +{ + CHECK_PROC(glSamplePatternEXT); + do_opengl_call(glSamplePatternEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glTextureColorMaskSGIS) (GLboolean arg_0, GLboolean arg_1, GLboolean arg_2, GLboolean arg_3) +{ + CHECK_PROC(glTextureColorMaskSGIS); + do_opengl_call(glTextureColorMaskSGIS_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +GLboolean EXT_FUNC(glIsFenceNV) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsFenceNV); + do_opengl_call(glIsFenceNV_func, &ret, arg_0); + return ret; +} + +GLboolean EXT_FUNC(glTestFenceNV) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glTestFenceNV); + do_opengl_call(glTestFenceNV_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glFinishFenceNV) (GLuint arg_0) +{ + CHECK_PROC(glFinishFenceNV); + do_opengl_call(glFinishFenceNV_func, NULL, arg_0); +} + +void EXT_FUNC(glSetFenceNV) (GLuint arg_0, GLenum arg_1) +{ + CHECK_PROC(glSetFenceNV); + do_opengl_call(glSetFenceNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glEvalMapsNV) (GLenum arg_0, GLenum arg_1) +{ + CHECK_PROC(glEvalMapsNV); + do_opengl_call(glEvalMapsNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glBindProgramNV) (GLenum arg_0, GLuint arg_1) +{ + CHECK_PROC(glBindProgramNV); + do_opengl_call(glBindProgramNV_func, NULL, arg_0, arg_1); +} + +GLboolean EXT_FUNC(glIsProgramNV) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsProgramNV); + do_opengl_call(glIsProgramNV_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glProgramParameter4dNV) (GLenum arg_0, GLuint arg_1, GLdouble arg_2, GLdouble arg_3, GLdouble arg_4, GLdouble arg_5) +{ + CHECK_PROC(glProgramParameter4dNV); + do_opengl_call(glProgramParameter4dNV_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glProgramParameter4dvNV) (GLenum arg_0, GLuint arg_1, const GLdouble * arg_2) +{ + CHECK_PROC(glProgramParameter4dvNV); + do_opengl_call(glProgramParameter4dvNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glProgramParameter4fNV) (GLenum arg_0, GLuint arg_1, GLfloat arg_2, GLfloat arg_3, GLfloat arg_4, GLfloat arg_5) +{ + CHECK_PROC(glProgramParameter4fNV); + do_opengl_call(glProgramParameter4fNV_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glProgramParameter4fvNV) (GLenum arg_0, GLuint arg_1, const GLfloat * arg_2) +{ + CHECK_PROC(glProgramParameter4fvNV); + do_opengl_call(glProgramParameter4fvNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glProgramParameters4dvNV) (GLenum arg_0, GLuint arg_1, GLuint arg_2, const GLdouble * arg_3) +{ + CHECK_PROC(glProgramParameters4dvNV); + do_opengl_call(glProgramParameters4dvNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glProgramParameters4fvNV) (GLenum arg_0, GLuint arg_1, GLuint arg_2, const GLfloat * arg_3) +{ + CHECK_PROC(glProgramParameters4fvNV); + do_opengl_call(glProgramParameters4fvNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glTrackMatrixNV) (GLenum arg_0, GLuint arg_1, GLenum arg_2, GLenum arg_3) +{ + CHECK_PROC(glTrackMatrixNV); + do_opengl_call(glTrackMatrixNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexAttrib1dNV) (GLuint arg_0, GLdouble arg_1) +{ + CHECK_PROC(glVertexAttrib1dNV); + do_opengl_call(glVertexAttrib1dNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib1dvNV) (GLuint arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexAttrib1dvNV); + do_opengl_call(glVertexAttrib1dvNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib1fNV) (GLuint arg_0, GLfloat arg_1) +{ + CHECK_PROC(glVertexAttrib1fNV); + do_opengl_call(glVertexAttrib1fNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib1fvNV) (GLuint arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexAttrib1fvNV); + do_opengl_call(glVertexAttrib1fvNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib1sNV) (GLuint arg_0, GLshort arg_1) +{ + CHECK_PROC(glVertexAttrib1sNV); + do_opengl_call(glVertexAttrib1sNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib1svNV) (GLuint arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexAttrib1svNV); + do_opengl_call(glVertexAttrib1svNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib2dNV) (GLuint arg_0, GLdouble arg_1, GLdouble arg_2) +{ + CHECK_PROC(glVertexAttrib2dNV); + do_opengl_call(glVertexAttrib2dNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttrib2dvNV) (GLuint arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexAttrib2dvNV); + do_opengl_call(glVertexAttrib2dvNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib2fNV) (GLuint arg_0, GLfloat arg_1, GLfloat arg_2) +{ + CHECK_PROC(glVertexAttrib2fNV); + do_opengl_call(glVertexAttrib2fNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttrib2fvNV) (GLuint arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexAttrib2fvNV); + do_opengl_call(glVertexAttrib2fvNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib2sNV) (GLuint arg_0, GLshort arg_1, GLshort arg_2) +{ + CHECK_PROC(glVertexAttrib2sNV); + do_opengl_call(glVertexAttrib2sNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttrib2svNV) (GLuint arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexAttrib2svNV); + do_opengl_call(glVertexAttrib2svNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib3dNV) (GLuint arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + CHECK_PROC(glVertexAttrib3dNV); + do_opengl_call(glVertexAttrib3dNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexAttrib3dvNV) (GLuint arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexAttrib3dvNV); + do_opengl_call(glVertexAttrib3dvNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib3fNV) (GLuint arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + CHECK_PROC(glVertexAttrib3fNV); + do_opengl_call(glVertexAttrib3fNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexAttrib3fvNV) (GLuint arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexAttrib3fvNV); + do_opengl_call(glVertexAttrib3fvNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib3sNV) (GLuint arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + CHECK_PROC(glVertexAttrib3sNV); + do_opengl_call(glVertexAttrib3sNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexAttrib3svNV) (GLuint arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexAttrib3svNV); + do_opengl_call(glVertexAttrib3svNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4dNV) (GLuint arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3, GLdouble arg_4) +{ + CHECK_PROC(glVertexAttrib4dNV); + do_opengl_call(glVertexAttrib4dNV_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexAttrib4dvNV) (GLuint arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexAttrib4dvNV); + do_opengl_call(glVertexAttrib4dvNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4fNV) (GLuint arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3, GLfloat arg_4) +{ + CHECK_PROC(glVertexAttrib4fNV); + do_opengl_call(glVertexAttrib4fNV_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexAttrib4fvNV) (GLuint arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexAttrib4fvNV); + do_opengl_call(glVertexAttrib4fvNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4sNV) (GLuint arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3, GLshort arg_4) +{ + CHECK_PROC(glVertexAttrib4sNV); + do_opengl_call(glVertexAttrib4sNV_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexAttrib4svNV) (GLuint arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexAttrib4svNV); + do_opengl_call(glVertexAttrib4svNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib4ubNV) (GLuint arg_0, GLubyte arg_1, GLubyte arg_2, GLubyte arg_3, GLubyte arg_4) +{ + CHECK_PROC(glVertexAttrib4ubNV); + do_opengl_call(glVertexAttrib4ubNV_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexAttrib4ubvNV) (GLuint arg_0, const GLubyte * arg_1) +{ + CHECK_PROC(glVertexAttrib4ubvNV); + do_opengl_call(glVertexAttrib4ubvNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttribs1dvNV) (GLuint arg_0, GLsizei arg_1, const GLdouble * arg_2) +{ + CHECK_PROC(glVertexAttribs1dvNV); + do_opengl_call(glVertexAttribs1dvNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs1fvNV) (GLuint arg_0, GLsizei arg_1, const GLfloat * arg_2) +{ + CHECK_PROC(glVertexAttribs1fvNV); + do_opengl_call(glVertexAttribs1fvNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs1svNV) (GLuint arg_0, GLsizei arg_1, const GLshort * arg_2) +{ + CHECK_PROC(glVertexAttribs1svNV); + do_opengl_call(glVertexAttribs1svNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs2dvNV) (GLuint arg_0, GLsizei arg_1, const GLdouble * arg_2) +{ + CHECK_PROC(glVertexAttribs2dvNV); + do_opengl_call(glVertexAttribs2dvNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs2fvNV) (GLuint arg_0, GLsizei arg_1, const GLfloat * arg_2) +{ + CHECK_PROC(glVertexAttribs2fvNV); + do_opengl_call(glVertexAttribs2fvNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs2svNV) (GLuint arg_0, GLsizei arg_1, const GLshort * arg_2) +{ + CHECK_PROC(glVertexAttribs2svNV); + do_opengl_call(glVertexAttribs2svNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs3dvNV) (GLuint arg_0, GLsizei arg_1, const GLdouble * arg_2) +{ + CHECK_PROC(glVertexAttribs3dvNV); + do_opengl_call(glVertexAttribs3dvNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs3fvNV) (GLuint arg_0, GLsizei arg_1, const GLfloat * arg_2) +{ + CHECK_PROC(glVertexAttribs3fvNV); + do_opengl_call(glVertexAttribs3fvNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs3svNV) (GLuint arg_0, GLsizei arg_1, const GLshort * arg_2) +{ + CHECK_PROC(glVertexAttribs3svNV); + do_opengl_call(glVertexAttribs3svNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs4dvNV) (GLuint arg_0, GLsizei arg_1, const GLdouble * arg_2) +{ + CHECK_PROC(glVertexAttribs4dvNV); + do_opengl_call(glVertexAttribs4dvNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs4fvNV) (GLuint arg_0, GLsizei arg_1, const GLfloat * arg_2) +{ + CHECK_PROC(glVertexAttribs4fvNV); + do_opengl_call(glVertexAttribs4fvNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs4svNV) (GLuint arg_0, GLsizei arg_1, const GLshort * arg_2) +{ + CHECK_PROC(glVertexAttribs4svNV); + do_opengl_call(glVertexAttribs4svNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttribs4ubvNV) (GLuint arg_0, GLsizei arg_1, const GLubyte * arg_2) +{ + CHECK_PROC(glVertexAttribs4ubvNV); + do_opengl_call(glVertexAttribs4ubvNV_func, NULL, arg_0, arg_1, arg_2); +} + +GLuint EXT_FUNC(glGenFragmentShadersATI) (GLuint arg_0) +{ + GLuint ret; + CHECK_PROC_WITH_RET(glGenFragmentShadersATI); + do_opengl_call(glGenFragmentShadersATI_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glBindFragmentShaderATI) (GLuint arg_0) +{ + CHECK_PROC(glBindFragmentShaderATI); + do_opengl_call(glBindFragmentShaderATI_func, NULL, arg_0); +} + +void EXT_FUNC(glDeleteFragmentShaderATI) (GLuint arg_0) +{ + CHECK_PROC(glDeleteFragmentShaderATI); + do_opengl_call(glDeleteFragmentShaderATI_func, NULL, arg_0); +} + +void EXT_FUNC(glBeginFragmentShaderATI) () +{ + CHECK_PROC(glBeginFragmentShaderATI); + do_opengl_call(glBeginFragmentShaderATI_func, NULL); +} + +void EXT_FUNC(glEndFragmentShaderATI) () +{ + CHECK_PROC(glEndFragmentShaderATI); + do_opengl_call(glEndFragmentShaderATI_func, NULL); +} + +void EXT_FUNC(glPassTexCoordATI) (GLuint arg_0, GLuint arg_1, GLenum arg_2) +{ + CHECK_PROC(glPassTexCoordATI); + do_opengl_call(glPassTexCoordATI_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glSampleMapATI) (GLuint arg_0, GLuint arg_1, GLenum arg_2) +{ + CHECK_PROC(glSampleMapATI); + do_opengl_call(glSampleMapATI_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glColorFragmentOp1ATI) (GLenum arg_0, GLuint arg_1, GLuint arg_2, GLuint arg_3, GLuint arg_4, GLuint arg_5, GLuint arg_6) +{ + CHECK_PROC(glColorFragmentOp1ATI); + do_opengl_call(glColorFragmentOp1ATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6); +} + +void EXT_FUNC(glColorFragmentOp2ATI) (GLenum arg_0, GLuint arg_1, GLuint arg_2, GLuint arg_3, GLuint arg_4, GLuint arg_5, GLuint arg_6, GLuint arg_7, GLuint arg_8, GLuint arg_9) +{ + CHECK_PROC(glColorFragmentOp2ATI); + do_opengl_call(glColorFragmentOp2ATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9); +} + +void EXT_FUNC(glColorFragmentOp3ATI) (GLenum arg_0, GLuint arg_1, GLuint arg_2, GLuint arg_3, GLuint arg_4, GLuint arg_5, GLuint arg_6, GLuint arg_7, GLuint arg_8, GLuint arg_9, GLuint arg_10, GLuint arg_11, GLuint arg_12) +{ + CHECK_PROC(glColorFragmentOp3ATI); + do_opengl_call(glColorFragmentOp3ATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10, arg_11, arg_12); +} + +void EXT_FUNC(glAlphaFragmentOp1ATI) (GLenum arg_0, GLuint arg_1, GLuint arg_2, GLuint arg_3, GLuint arg_4, GLuint arg_5) +{ + CHECK_PROC(glAlphaFragmentOp1ATI); + do_opengl_call(glAlphaFragmentOp1ATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glAlphaFragmentOp2ATI) (GLenum arg_0, GLuint arg_1, GLuint arg_2, GLuint arg_3, GLuint arg_4, GLuint arg_5, GLuint arg_6, GLuint arg_7, GLuint arg_8) +{ + CHECK_PROC(glAlphaFragmentOp2ATI); + do_opengl_call(glAlphaFragmentOp2ATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8); +} + +void EXT_FUNC(glAlphaFragmentOp3ATI) (GLenum arg_0, GLuint arg_1, GLuint arg_2, GLuint arg_3, GLuint arg_4, GLuint arg_5, GLuint arg_6, GLuint arg_7, GLuint arg_8, GLuint arg_9, GLuint arg_10, GLuint arg_11) +{ + CHECK_PROC(glAlphaFragmentOp3ATI); + do_opengl_call(glAlphaFragmentOp3ATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10, arg_11); +} + +void EXT_FUNC(glPNTrianglesiATI) (GLenum arg_0, GLint arg_1) +{ + CHECK_PROC(glPNTrianglesiATI); + do_opengl_call(glPNTrianglesiATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glPNTrianglesfATI) (GLenum arg_0, GLfloat arg_1) +{ + CHECK_PROC(glPNTrianglesfATI); + do_opengl_call(glPNTrianglesfATI_func, NULL, arg_0, arg_1); +} + +GLboolean EXT_FUNC(glIsObjectBufferATI) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsObjectBufferATI); + do_opengl_call(glIsObjectBufferATI_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glFreeObjectBufferATI) (GLuint arg_0) +{ + CHECK_PROC(glFreeObjectBufferATI); + do_opengl_call(glFreeObjectBufferATI_func, NULL, arg_0); +} + +void EXT_FUNC(glArrayObjectATI) (GLenum arg_0, GLint arg_1, GLenum arg_2, GLsizei arg_3, GLuint arg_4, GLuint arg_5) +{ + CHECK_PROC(glArrayObjectATI); + do_opengl_call(glArrayObjectATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glVariantArrayObjectATI) (GLuint arg_0, GLenum arg_1, GLsizei arg_2, GLuint arg_3, GLuint arg_4) +{ + CHECK_PROC(glVariantArrayObjectATI); + do_opengl_call(glVariantArrayObjectATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glBeginVertexShaderEXT) () +{ + CHECK_PROC(glBeginVertexShaderEXT); + do_opengl_call(glBeginVertexShaderEXT_func, NULL); +} + +void EXT_FUNC(glEndVertexShaderEXT) () +{ + CHECK_PROC(glEndVertexShaderEXT); + do_opengl_call(glEndVertexShaderEXT_func, NULL); +} + +void EXT_FUNC(glBindVertexShaderEXT) (GLuint arg_0) +{ + CHECK_PROC(glBindVertexShaderEXT); + do_opengl_call(glBindVertexShaderEXT_func, NULL, arg_0); +} + +GLuint EXT_FUNC(glGenVertexShadersEXT) (GLuint arg_0) +{ + GLuint ret; + CHECK_PROC_WITH_RET(glGenVertexShadersEXT); + do_opengl_call(glGenVertexShadersEXT_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glDeleteVertexShaderEXT) (GLuint arg_0) +{ + CHECK_PROC(glDeleteVertexShaderEXT); + do_opengl_call(glDeleteVertexShaderEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glShaderOp1EXT) (GLenum arg_0, GLuint arg_1, GLuint arg_2) +{ + CHECK_PROC(glShaderOp1EXT); + do_opengl_call(glShaderOp1EXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glShaderOp2EXT) (GLenum arg_0, GLuint arg_1, GLuint arg_2, GLuint arg_3) +{ + CHECK_PROC(glShaderOp2EXT); + do_opengl_call(glShaderOp2EXT_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glShaderOp3EXT) (GLenum arg_0, GLuint arg_1, GLuint arg_2, GLuint arg_3, GLuint arg_4) +{ + CHECK_PROC(glShaderOp3EXT); + do_opengl_call(glShaderOp3EXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glSwizzleEXT) (GLuint arg_0, GLuint arg_1, GLenum arg_2, GLenum arg_3, GLenum arg_4, GLenum arg_5) +{ + CHECK_PROC(glSwizzleEXT); + do_opengl_call(glSwizzleEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glWriteMaskEXT) (GLuint arg_0, GLuint arg_1, GLenum arg_2, GLenum arg_3, GLenum arg_4, GLenum arg_5) +{ + CHECK_PROC(glWriteMaskEXT); + do_opengl_call(glWriteMaskEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glInsertComponentEXT) (GLuint arg_0, GLuint arg_1, GLuint arg_2) +{ + CHECK_PROC(glInsertComponentEXT); + do_opengl_call(glInsertComponentEXT_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glExtractComponentEXT) (GLuint arg_0, GLuint arg_1, GLuint arg_2) +{ + CHECK_PROC(glExtractComponentEXT); + do_opengl_call(glExtractComponentEXT_func, NULL, arg_0, arg_1, arg_2); +} + +GLuint EXT_FUNC(glGenSymbolsEXT) (GLenum arg_0, GLenum arg_1, GLenum arg_2, GLuint arg_3) +{ + GLuint ret; + CHECK_PROC_WITH_RET(glGenSymbolsEXT); + do_opengl_call(glGenSymbolsEXT_func, &ret, arg_0, arg_1, arg_2, arg_3); + return ret; +} + +void EXT_FUNC(glEnableVariantClientStateEXT) (GLuint arg_0) +{ + CHECK_PROC(glEnableVariantClientStateEXT); + do_opengl_call(glEnableVariantClientStateEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glDisableVariantClientStateEXT) (GLuint arg_0) +{ + CHECK_PROC(glDisableVariantClientStateEXT); + do_opengl_call(glDisableVariantClientStateEXT_func, NULL, arg_0); +} + +GLuint EXT_FUNC(glBindLightParameterEXT) (GLenum arg_0, GLenum arg_1) +{ + GLuint ret; + CHECK_PROC_WITH_RET(glBindLightParameterEXT); + do_opengl_call(glBindLightParameterEXT_func, &ret, arg_0, arg_1); + return ret; +} + +GLuint EXT_FUNC(glBindMaterialParameterEXT) (GLenum arg_0, GLenum arg_1) +{ + GLuint ret; + CHECK_PROC_WITH_RET(glBindMaterialParameterEXT); + do_opengl_call(glBindMaterialParameterEXT_func, &ret, arg_0, arg_1); + return ret; +} + +GLuint EXT_FUNC(glBindTexGenParameterEXT) (GLenum arg_0, GLenum arg_1, GLenum arg_2) +{ + GLuint ret; + CHECK_PROC_WITH_RET(glBindTexGenParameterEXT); + do_opengl_call(glBindTexGenParameterEXT_func, &ret, arg_0, arg_1, arg_2); + return ret; +} + +GLuint EXT_FUNC(glBindTextureUnitParameterEXT) (GLenum arg_0, GLenum arg_1) +{ + GLuint ret; + CHECK_PROC_WITH_RET(glBindTextureUnitParameterEXT); + do_opengl_call(glBindTextureUnitParameterEXT_func, &ret, arg_0, arg_1); + return ret; +} + +GLuint EXT_FUNC(glBindParameterEXT) (GLenum arg_0) +{ + GLuint ret; + CHECK_PROC_WITH_RET(glBindParameterEXT); + do_opengl_call(glBindParameterEXT_func, &ret, arg_0); + return ret; +} + +GLboolean EXT_FUNC(glIsVariantEnabledEXT) (GLuint arg_0, GLenum arg_1) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsVariantEnabledEXT); + do_opengl_call(glIsVariantEnabledEXT_func, &ret, arg_0, arg_1); + return ret; +} + +void EXT_FUNC(glVertexStream1sATI) (GLenum arg_0, GLshort arg_1) +{ + CHECK_PROC(glVertexStream1sATI); + do_opengl_call(glVertexStream1sATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream1svATI) (GLenum arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexStream1svATI); + do_opengl_call(glVertexStream1svATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream1iATI) (GLenum arg_0, GLint arg_1) +{ + CHECK_PROC(glVertexStream1iATI); + do_opengl_call(glVertexStream1iATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream1ivATI) (GLenum arg_0, const GLint * arg_1) +{ + CHECK_PROC(glVertexStream1ivATI); + do_opengl_call(glVertexStream1ivATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream1fATI) (GLenum arg_0, GLfloat arg_1) +{ + CHECK_PROC(glVertexStream1fATI); + do_opengl_call(glVertexStream1fATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream1fvATI) (GLenum arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexStream1fvATI); + do_opengl_call(glVertexStream1fvATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream1dATI) (GLenum arg_0, GLdouble arg_1) +{ + CHECK_PROC(glVertexStream1dATI); + do_opengl_call(glVertexStream1dATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream1dvATI) (GLenum arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexStream1dvATI); + do_opengl_call(glVertexStream1dvATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream2sATI) (GLenum arg_0, GLshort arg_1, GLshort arg_2) +{ + CHECK_PROC(glVertexStream2sATI); + do_opengl_call(glVertexStream2sATI_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexStream2svATI) (GLenum arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexStream2svATI); + do_opengl_call(glVertexStream2svATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream2iATI) (GLenum arg_0, GLint arg_1, GLint arg_2) +{ + CHECK_PROC(glVertexStream2iATI); + do_opengl_call(glVertexStream2iATI_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexStream2ivATI) (GLenum arg_0, const GLint * arg_1) +{ + CHECK_PROC(glVertexStream2ivATI); + do_opengl_call(glVertexStream2ivATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream2fATI) (GLenum arg_0, GLfloat arg_1, GLfloat arg_2) +{ + CHECK_PROC(glVertexStream2fATI); + do_opengl_call(glVertexStream2fATI_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexStream2fvATI) (GLenum arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexStream2fvATI); + do_opengl_call(glVertexStream2fvATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream2dATI) (GLenum arg_0, GLdouble arg_1, GLdouble arg_2) +{ + CHECK_PROC(glVertexStream2dATI); + do_opengl_call(glVertexStream2dATI_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexStream2dvATI) (GLenum arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexStream2dvATI); + do_opengl_call(glVertexStream2dvATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream3sATI) (GLenum arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + CHECK_PROC(glVertexStream3sATI); + do_opengl_call(glVertexStream3sATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexStream3svATI) (GLenum arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexStream3svATI); + do_opengl_call(glVertexStream3svATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream3iATI) (GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3) +{ + CHECK_PROC(glVertexStream3iATI); + do_opengl_call(glVertexStream3iATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexStream3ivATI) (GLenum arg_0, const GLint * arg_1) +{ + CHECK_PROC(glVertexStream3ivATI); + do_opengl_call(glVertexStream3ivATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream3fATI) (GLenum arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + CHECK_PROC(glVertexStream3fATI); + do_opengl_call(glVertexStream3fATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexStream3fvATI) (GLenum arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexStream3fvATI); + do_opengl_call(glVertexStream3fvATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream3dATI) (GLenum arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + CHECK_PROC(glVertexStream3dATI); + do_opengl_call(glVertexStream3dATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexStream3dvATI) (GLenum arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexStream3dvATI); + do_opengl_call(glVertexStream3dvATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream4sATI) (GLenum arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3, GLshort arg_4) +{ + CHECK_PROC(glVertexStream4sATI); + do_opengl_call(glVertexStream4sATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexStream4svATI) (GLenum arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glVertexStream4svATI); + do_opengl_call(glVertexStream4svATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream4iATI) (GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3, GLint arg_4) +{ + CHECK_PROC(glVertexStream4iATI); + do_opengl_call(glVertexStream4iATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexStream4ivATI) (GLenum arg_0, const GLint * arg_1) +{ + CHECK_PROC(glVertexStream4ivATI); + do_opengl_call(glVertexStream4ivATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream4fATI) (GLenum arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3, GLfloat arg_4) +{ + CHECK_PROC(glVertexStream4fATI); + do_opengl_call(glVertexStream4fATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexStream4fvATI) (GLenum arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glVertexStream4fvATI); + do_opengl_call(glVertexStream4fvATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexStream4dATI) (GLenum arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3, GLdouble arg_4) +{ + CHECK_PROC(glVertexStream4dATI); + do_opengl_call(glVertexStream4dATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glVertexStream4dvATI) (GLenum arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glVertexStream4dvATI); + do_opengl_call(glVertexStream4dvATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glNormalStream3bATI) (GLenum arg_0, GLbyte arg_1, GLbyte arg_2, GLbyte arg_3) +{ + CHECK_PROC(glNormalStream3bATI); + do_opengl_call(glNormalStream3bATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glNormalStream3bvATI) (GLenum arg_0, const GLbyte * arg_1) +{ + CHECK_PROC(glNormalStream3bvATI); + do_opengl_call(glNormalStream3bvATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glNormalStream3sATI) (GLenum arg_0, GLshort arg_1, GLshort arg_2, GLshort arg_3) +{ + CHECK_PROC(glNormalStream3sATI); + do_opengl_call(glNormalStream3sATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glNormalStream3svATI) (GLenum arg_0, const GLshort * arg_1) +{ + CHECK_PROC(glNormalStream3svATI); + do_opengl_call(glNormalStream3svATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glNormalStream3iATI) (GLenum arg_0, GLint arg_1, GLint arg_2, GLint arg_3) +{ + CHECK_PROC(glNormalStream3iATI); + do_opengl_call(glNormalStream3iATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glNormalStream3ivATI) (GLenum arg_0, const GLint * arg_1) +{ + CHECK_PROC(glNormalStream3ivATI); + do_opengl_call(glNormalStream3ivATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glNormalStream3fATI) (GLenum arg_0, GLfloat arg_1, GLfloat arg_2, GLfloat arg_3) +{ + CHECK_PROC(glNormalStream3fATI); + do_opengl_call(glNormalStream3fATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glNormalStream3fvATI) (GLenum arg_0, const GLfloat * arg_1) +{ + CHECK_PROC(glNormalStream3fvATI); + do_opengl_call(glNormalStream3fvATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glNormalStream3dATI) (GLenum arg_0, GLdouble arg_1, GLdouble arg_2, GLdouble arg_3) +{ + CHECK_PROC(glNormalStream3dATI); + do_opengl_call(glNormalStream3dATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glNormalStream3dvATI) (GLenum arg_0, const GLdouble * arg_1) +{ + CHECK_PROC(glNormalStream3dvATI); + do_opengl_call(glNormalStream3dvATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glClientActiveVertexStreamATI) (GLenum arg_0) +{ + CHECK_PROC(glClientActiveVertexStreamATI); + do_opengl_call(glClientActiveVertexStreamATI_func, NULL, arg_0); +} + +void EXT_FUNC(glVertexBlendEnviATI) (GLenum arg_0, GLint arg_1) +{ + CHECK_PROC(glVertexBlendEnviATI); + do_opengl_call(glVertexBlendEnviATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexBlendEnvfATI) (GLenum arg_0, GLfloat arg_1) +{ + CHECK_PROC(glVertexBlendEnvfATI); + do_opengl_call(glVertexBlendEnvfATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glDrawElementArrayATI) (GLenum arg_0, GLsizei arg_1) +{ + CHECK_PROC(glDrawElementArrayATI); + do_opengl_call(glDrawElementArrayATI_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glDrawRangeElementArrayATI) (GLenum arg_0, GLuint arg_1, GLuint arg_2, GLsizei arg_3) +{ + CHECK_PROC(glDrawRangeElementArrayATI); + do_opengl_call(glDrawRangeElementArrayATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +GLboolean EXT_FUNC(glIsOcclusionQueryNV) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsOcclusionQueryNV); + do_opengl_call(glIsOcclusionQueryNV_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glBeginOcclusionQueryNV) (GLuint arg_0) +{ + CHECK_PROC(glBeginOcclusionQueryNV); + do_opengl_call(glBeginOcclusionQueryNV_func, NULL, arg_0); +} + +void EXT_FUNC(glEndOcclusionQueryNV) () +{ + CHECK_PROC(glEndOcclusionQueryNV); + do_opengl_call(glEndOcclusionQueryNV_func, NULL); +} + +void EXT_FUNC(glPointParameteriNV) (GLenum arg_0, GLint arg_1) +{ + CHECK_PROC(glPointParameteriNV); + do_opengl_call(glPointParameteriNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glActiveStencilFaceEXT) (GLenum arg_0) +{ + CHECK_PROC(glActiveStencilFaceEXT); + do_opengl_call(glActiveStencilFaceEXT_func, NULL, arg_0); +} + +void EXT_FUNC(glVertex2hNV) (GLhalfNV arg_0, GLhalfNV arg_1) +{ + CHECK_PROC(glVertex2hNV); + do_opengl_call(glVertex2hNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertex3hNV) (GLhalfNV arg_0, GLhalfNV arg_1, GLhalfNV arg_2) +{ + CHECK_PROC(glVertex3hNV); + do_opengl_call(glVertex3hNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertex4hNV) (GLhalfNV arg_0, GLhalfNV arg_1, GLhalfNV arg_2, GLhalfNV arg_3) +{ + CHECK_PROC(glVertex4hNV); + do_opengl_call(glVertex4hNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glNormal3hNV) (GLhalfNV arg_0, GLhalfNV arg_1, GLhalfNV arg_2) +{ + CHECK_PROC(glNormal3hNV); + do_opengl_call(glNormal3hNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glColor3hNV) (GLhalfNV arg_0, GLhalfNV arg_1, GLhalfNV arg_2) +{ + CHECK_PROC(glColor3hNV); + do_opengl_call(glColor3hNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glColor4hNV) (GLhalfNV arg_0, GLhalfNV arg_1, GLhalfNV arg_2, GLhalfNV arg_3) +{ + CHECK_PROC(glColor4hNV); + do_opengl_call(glColor4hNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glTexCoord1hNV) (GLhalfNV arg_0) +{ + CHECK_PROC(glTexCoord1hNV); + do_opengl_call(glTexCoord1hNV_func, NULL, arg_0); +} + +void EXT_FUNC(glTexCoord2hNV) (GLhalfNV arg_0, GLhalfNV arg_1) +{ + CHECK_PROC(glTexCoord2hNV); + do_opengl_call(glTexCoord2hNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glTexCoord3hNV) (GLhalfNV arg_0, GLhalfNV arg_1, GLhalfNV arg_2) +{ + CHECK_PROC(glTexCoord3hNV); + do_opengl_call(glTexCoord3hNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glTexCoord4hNV) (GLhalfNV arg_0, GLhalfNV arg_1, GLhalfNV arg_2, GLhalfNV arg_3) +{ + CHECK_PROC(glTexCoord4hNV); + do_opengl_call(glTexCoord4hNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glMultiTexCoord1hNV) (GLenum arg_0, GLhalfNV arg_1) +{ + CHECK_PROC(glMultiTexCoord1hNV); + do_opengl_call(glMultiTexCoord1hNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glMultiTexCoord2hNV) (GLenum arg_0, GLhalfNV arg_1, GLhalfNV arg_2) +{ + CHECK_PROC(glMultiTexCoord2hNV); + do_opengl_call(glMultiTexCoord2hNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glMultiTexCoord3hNV) (GLenum arg_0, GLhalfNV arg_1, GLhalfNV arg_2, GLhalfNV arg_3) +{ + CHECK_PROC(glMultiTexCoord3hNV); + do_opengl_call(glMultiTexCoord3hNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glMultiTexCoord4hNV) (GLenum arg_0, GLhalfNV arg_1, GLhalfNV arg_2, GLhalfNV arg_3, GLhalfNV arg_4) +{ + CHECK_PROC(glMultiTexCoord4hNV); + do_opengl_call(glMultiTexCoord4hNV_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glFogCoordhNV) (GLhalfNV arg_0) +{ + CHECK_PROC(glFogCoordhNV); + do_opengl_call(glFogCoordhNV_func, NULL, arg_0); +} + +void EXT_FUNC(glSecondaryColor3hNV) (GLhalfNV arg_0, GLhalfNV arg_1, GLhalfNV arg_2) +{ + CHECK_PROC(glSecondaryColor3hNV); + do_opengl_call(glSecondaryColor3hNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexWeighthNV) (GLhalfNV arg_0) +{ + CHECK_PROC(glVertexWeighthNV); + do_opengl_call(glVertexWeighthNV_func, NULL, arg_0); +} + +void EXT_FUNC(glVertexAttrib1hNV) (GLuint arg_0, GLhalfNV arg_1) +{ + CHECK_PROC(glVertexAttrib1hNV); + do_opengl_call(glVertexAttrib1hNV_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glVertexAttrib2hNV) (GLuint arg_0, GLhalfNV arg_1, GLhalfNV arg_2) +{ + CHECK_PROC(glVertexAttrib2hNV); + do_opengl_call(glVertexAttrib2hNV_func, NULL, arg_0, arg_1, arg_2); +} + +void EXT_FUNC(glVertexAttrib3hNV) (GLuint arg_0, GLhalfNV arg_1, GLhalfNV arg_2, GLhalfNV arg_3) +{ + CHECK_PROC(glVertexAttrib3hNV); + do_opengl_call(glVertexAttrib3hNV_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexAttrib4hNV) (GLuint arg_0, GLhalfNV arg_1, GLhalfNV arg_2, GLhalfNV arg_3, GLhalfNV arg_4) +{ + CHECK_PROC(glVertexAttrib4hNV); + do_opengl_call(glVertexAttrib4hNV_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glFlushPixelDataRangeNV) (GLenum arg_0) +{ + CHECK_PROC(glFlushPixelDataRangeNV); + do_opengl_call(glFlushPixelDataRangeNV_func, NULL, arg_0); +} + +void EXT_FUNC(glPrimitiveRestartNV) () +{ + CHECK_PROC(glPrimitiveRestartNV); + do_opengl_call(glPrimitiveRestartNV_func, NULL); +} + +void EXT_FUNC(glPrimitiveRestartIndexNV) (GLuint arg_0) +{ + CHECK_PROC(glPrimitiveRestartIndexNV); + do_opengl_call(glPrimitiveRestartIndexNV_func, NULL, arg_0); +} + +void EXT_FUNC(glUnmapObjectBufferATI) (GLuint arg_0) +{ + CHECK_PROC(glUnmapObjectBufferATI); + do_opengl_call(glUnmapObjectBufferATI_func, NULL, arg_0); +} + +void EXT_FUNC(glStencilOpSeparateATI) (GLenum arg_0, GLenum arg_1, GLenum arg_2, GLenum arg_3) +{ + CHECK_PROC(glStencilOpSeparateATI); + do_opengl_call(glStencilOpSeparateATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glStencilFuncSeparateATI) (GLenum arg_0, GLenum arg_1, GLint arg_2, GLuint arg_3) +{ + CHECK_PROC(glStencilFuncSeparateATI); + do_opengl_call(glStencilFuncSeparateATI_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glVertexAttribArrayObjectATI) (GLuint arg_0, GLint arg_1, GLenum arg_2, GLboolean arg_3, GLsizei arg_4, GLuint arg_5, GLuint arg_6) +{ + CHECK_PROC(glVertexAttribArrayObjectATI); + do_opengl_call(glVertexAttribArrayObjectATI_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6); +} + +void EXT_FUNC(glDepthBoundsEXT) (GLclampd arg_0, GLclampd arg_1) +{ + CHECK_PROC(glDepthBoundsEXT); + do_opengl_call(glDepthBoundsEXT_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glBlendEquationSeparateEXT) (GLenum arg_0, GLenum arg_1) +{ + CHECK_PROC(glBlendEquationSeparateEXT); + do_opengl_call(glBlendEquationSeparateEXT_func, NULL, arg_0, arg_1); +} + +GLboolean EXT_FUNC(glIsRenderbufferEXT) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsRenderbufferEXT); + do_opengl_call(glIsRenderbufferEXT_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glBindRenderbufferEXT) (GLenum arg_0, GLuint arg_1) +{ + CHECK_PROC(glBindRenderbufferEXT); + do_opengl_call(glBindRenderbufferEXT_func, NULL, arg_0, arg_1); +} + +void EXT_FUNC(glRenderbufferStorageEXT) (GLenum arg_0, GLenum arg_1, GLsizei arg_2, GLsizei arg_3) +{ + CHECK_PROC(glRenderbufferStorageEXT); + do_opengl_call(glRenderbufferStorageEXT_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +GLboolean EXT_FUNC(glIsFramebufferEXT) (GLuint arg_0) +{ + GLboolean ret; + CHECK_PROC_WITH_RET(glIsFramebufferEXT); + do_opengl_call(glIsFramebufferEXT_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glBindFramebufferEXT) (GLenum arg_0, GLuint arg_1) +{ + CHECK_PROC(glBindFramebufferEXT); + do_opengl_call(glBindFramebufferEXT_func, NULL, arg_0, arg_1); +} + +GLenum EXT_FUNC(glCheckFramebufferStatusEXT) (GLenum arg_0) +{ + GLenum ret; + CHECK_PROC_WITH_RET(glCheckFramebufferStatusEXT); + do_opengl_call(glCheckFramebufferStatusEXT_func, &ret, arg_0); + return ret; +} + +void EXT_FUNC(glFramebufferTexture1DEXT) (GLenum arg_0, GLenum arg_1, GLenum arg_2, GLuint arg_3, GLint arg_4) +{ + CHECK_PROC(glFramebufferTexture1DEXT); + do_opengl_call(glFramebufferTexture1DEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glFramebufferTexture2DEXT) (GLenum arg_0, GLenum arg_1, GLenum arg_2, GLuint arg_3, GLint arg_4) +{ + CHECK_PROC(glFramebufferTexture2DEXT); + do_opengl_call(glFramebufferTexture2DEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4); +} + +void EXT_FUNC(glFramebufferTexture3DEXT) (GLenum arg_0, GLenum arg_1, GLenum arg_2, GLuint arg_3, GLint arg_4, GLint arg_5) +{ + CHECK_PROC(glFramebufferTexture3DEXT); + do_opengl_call(glFramebufferTexture3DEXT_func, NULL, arg_0, arg_1, arg_2, arg_3, arg_4, arg_5); +} + +void EXT_FUNC(glFramebufferRenderbufferEXT) (GLenum arg_0, GLenum arg_1, GLenum arg_2, GLuint arg_3) +{ + CHECK_PROC(glFramebufferRenderbufferEXT); + do_opengl_call(glFramebufferRenderbufferEXT_func, NULL, arg_0, arg_1, arg_2, arg_3); +} + +void EXT_FUNC(glGenerateMipmapEXT) (GLenum arg_0) +{ + CHECK_PROC(glGenerateMipmapEXT); + do_opengl_call(glGenerateMipmapEXT_func, NULL, arg_0); +} + diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/target-i386/gl_func.h qemu/target-i386/gl_func.h --- qemu.ori/target-i386/gl_func.h 1970-01-01 01:00:00.000000000 +0100 +++ qemu/target-i386/gl_func.h 2006-11-14 21:46:24.000000000 +0100 @@ -0,0 +1,3094 @@ +/* This is a generated file. DO NOT EDIT ! */ + +#define COMPOSE(x,y) x##y +#define MAGIC_MACRO(x) COMPOSE(x,_func) +enum { +#include "gl_func_perso.h" + glClearIndex_func, + glClearColor_func, + glClear_func, + glIndexMask_func, + glColorMask_func, + glAlphaFunc_func, + glBlendFunc_func, + glLogicOp_func, + glCullFace_func, + glFrontFace_func, + glPointSize_func, + glLineWidth_func, + glLineStipple_func, + glPolygonMode_func, + glPolygonOffset_func, + glEdgeFlag_func, + glScissor_func, + glDrawBuffer_func, + glReadBuffer_func, + glEnable_func, + glDisable_func, + glIsEnabled_func, + glEnableClientState_func, + glDisableClientState_func, + glPushAttrib_func, + glPopAttrib_func, + glPushClientAttrib_func, + glPopClientAttrib_func, + glRenderMode_func, + glGetError_func, + glFinish_func, + glFlush_func, + glHint_func, + glClearDepth_func, + glDepthFunc_func, + glDepthMask_func, + glDepthRange_func, + glClearAccum_func, + glAccum_func, + glMatrixMode_func, + glOrtho_func, + glFrustum_func, + glViewport_func, + glPushMatrix_func, + glPopMatrix_func, + glLoadIdentity_func, + glLoadMatrixd_func, + glLoadMatrixf_func, + glMultMatrixd_func, + glMultMatrixf_func, + glRotated_func, + glRotatef_func, + glScaled_func, + glScalef_func, + glTranslated_func, + glTranslatef_func, + glIsList_func, + glDeleteLists_func, + glGenLists_func, + glNewList_func, + glEndList_func, + glCallList_func, + glListBase_func, + glBegin_func, + glEnd_func, + glVertex2d_func, + glVertex2f_func, + glVertex2i_func, + glVertex2s_func, + glVertex3d_func, + glVertex3f_func, + glVertex3i_func, + glVertex3s_func, + glVertex4d_func, + glVertex4f_func, + glVertex4i_func, + glVertex4s_func, + glVertex2dv_func, + glVertex2fv_func, + glVertex2iv_func, + glVertex2sv_func, + glVertex3dv_func, + glVertex3fv_func, + glVertex3iv_func, + glVertex3sv_func, + glVertex4dv_func, + glVertex4fv_func, + glVertex4iv_func, + glVertex4sv_func, + glNormal3b_func, + glNormal3d_func, + glNormal3f_func, + glNormal3i_func, + glNormal3s_func, + glNormal3bv_func, + glNormal3dv_func, + glNormal3fv_func, + glNormal3iv_func, + glNormal3sv_func, + glIndexd_func, + glIndexf_func, + glIndexi_func, + glIndexs_func, + glIndexub_func, + glColor3b_func, + glColor3d_func, + glColor3f_func, + glColor3i_func, + glColor3s_func, + glColor3ub_func, + glColor3ui_func, + glColor3us_func, + glColor4b_func, + glColor4d_func, + glColor4f_func, + glColor4i_func, + glColor4s_func, + glColor4ub_func, + glColor4ui_func, + glColor4us_func, + glColor3bv_func, + glColor3dv_func, + glColor3fv_func, + glColor3iv_func, + glColor3sv_func, + glColor3ubv_func, + glColor3uiv_func, + glColor3usv_func, + glColor4bv_func, + glColor4dv_func, + glColor4fv_func, + glColor4iv_func, + glColor4sv_func, + glColor4ubv_func, + glColor4uiv_func, + glColor4usv_func, + glTexCoord1d_func, + glTexCoord1f_func, + glTexCoord1i_func, + glTexCoord1s_func, + glTexCoord2d_func, + glTexCoord2f_func, + glTexCoord2i_func, + glTexCoord2s_func, + glTexCoord3d_func, + glTexCoord3f_func, + glTexCoord3i_func, + glTexCoord3s_func, + glTexCoord4d_func, + glTexCoord4f_func, + glTexCoord4i_func, + glTexCoord4s_func, + glTexCoord1dv_func, + glTexCoord1fv_func, + glTexCoord1iv_func, + glTexCoord1sv_func, + glTexCoord2dv_func, + glTexCoord2fv_func, + glTexCoord2iv_func, + glTexCoord2sv_func, + glTexCoord3dv_func, + glTexCoord3fv_func, + glTexCoord3iv_func, + glTexCoord3sv_func, + glTexCoord4dv_func, + glTexCoord4fv_func, + glTexCoord4iv_func, + glTexCoord4sv_func, + glRasterPos2d_func, + glRasterPos2f_func, + glRasterPos2i_func, + glRasterPos2s_func, + glRasterPos3d_func, + glRasterPos3f_func, + glRasterPos3i_func, + glRasterPos3s_func, + glRasterPos4d_func, + glRasterPos4f_func, + glRasterPos4i_func, + glRasterPos4s_func, + glRasterPos2dv_func, + glRasterPos2fv_func, + glRasterPos2iv_func, + glRasterPos2sv_func, + glRasterPos3dv_func, + glRasterPos3fv_func, + glRasterPos3iv_func, + glRasterPos3sv_func, + glRasterPos4dv_func, + glRasterPos4fv_func, + glRasterPos4iv_func, + glRasterPos4sv_func, + glRectd_func, + glRectf_func, + glRecti_func, + glRects_func, + glArrayElement_func, + glShadeModel_func, + glLightf_func, + glLighti_func, + glLightModelf_func, + glLightModeli_func, + glMaterialf_func, + glMateriali_func, + glColorMaterial_func, + glPixelZoom_func, + glPixelStoref_func, + glPixelStorei_func, + glPixelTransferf_func, + glPixelTransferi_func, + glCopyPixels_func, + glStencilFunc_func, + glStencilMask_func, + glStencilOp_func, + glClearStencil_func, + glTexGend_func, + glTexGenf_func, + glTexGeni_func, + glTexEnvf_func, + glTexEnvi_func, + glTexParameterf_func, + glTexParameteri_func, + glBindTexture_func, + glIsTexture_func, + glCopyTexImage1D_func, + glCopyTexImage2D_func, + glCopyTexSubImage1D_func, + glCopyTexSubImage2D_func, + glEvalCoord1d_func, + glEvalCoord1f_func, + glEvalCoord1dv_func, + glEvalCoord1fv_func, + glEvalCoord2d_func, + glEvalCoord2f_func, + glEvalCoord2dv_func, + glEvalCoord2fv_func, + glMapGrid1d_func, + glMapGrid1f_func, + glMapGrid2d_func, + glMapGrid2f_func, + glEvalPoint1_func, + glEvalPoint2_func, + glEvalMesh1_func, + glEvalMesh2_func, + glFogf_func, + glFogi_func, + glPassThrough_func, + glInitNames_func, + glLoadName_func, + glPushName_func, + glPopName_func, + glCopyTexSubImage3D_func, + glCopyColorSubTable_func, + glCopyColorTable_func, + glBlendEquation_func, + glBlendColor_func, + glHistogram_func, + glResetHistogram_func, + glMinmax_func, + glResetMinmax_func, + glConvolutionParameterf_func, + glConvolutionParameteri_func, + glCopyConvolutionFilter1D_func, + glCopyConvolutionFilter2D_func, + glActiveTexture_func, + glClientActiveTexture_func, + glMultiTexCoord1d_func, + glMultiTexCoord1dv_func, + glMultiTexCoord1f_func, + glMultiTexCoord1fv_func, + glMultiTexCoord1i_func, + glMultiTexCoord1iv_func, + glMultiTexCoord1s_func, + glMultiTexCoord1sv_func, + glMultiTexCoord2d_func, + glMultiTexCoord2dv_func, + glMultiTexCoord2f_func, + glMultiTexCoord2fv_func, + glMultiTexCoord2i_func, + glMultiTexCoord2iv_func, + glMultiTexCoord2s_func, + glMultiTexCoord2sv_func, + glMultiTexCoord3d_func, + glMultiTexCoord3dv_func, + glMultiTexCoord3f_func, + glMultiTexCoord3fv_func, + glMultiTexCoord3i_func, + glMultiTexCoord3iv_func, + glMultiTexCoord3s_func, + glMultiTexCoord3sv_func, + glMultiTexCoord4d_func, + glMultiTexCoord4dv_func, + glMultiTexCoord4f_func, + glMultiTexCoord4fv_func, + glMultiTexCoord4i_func, + glMultiTexCoord4iv_func, + glMultiTexCoord4s_func, + glMultiTexCoord4sv_func, + glLoadTransposeMatrixd_func, + glLoadTransposeMatrixf_func, + glMultTransposeMatrixd_func, + glMultTransposeMatrixf_func, + glSampleCoverage_func, + glActiveTextureARB_func, + glClientActiveTextureARB_func, + glMultiTexCoord1dARB_func, + glMultiTexCoord1dvARB_func, + glMultiTexCoord1fARB_func, + glMultiTexCoord1fvARB_func, + glMultiTexCoord1iARB_func, + glMultiTexCoord1ivARB_func, + glMultiTexCoord1sARB_func, + glMultiTexCoord1svARB_func, + glMultiTexCoord2dARB_func, + glMultiTexCoord2dvARB_func, + glMultiTexCoord2fARB_func, + glMultiTexCoord2fvARB_func, + glMultiTexCoord2iARB_func, + glMultiTexCoord2ivARB_func, + glMultiTexCoord2sARB_func, + glMultiTexCoord2svARB_func, + glMultiTexCoord3dARB_func, + glMultiTexCoord3dvARB_func, + glMultiTexCoord3fARB_func, + glMultiTexCoord3fvARB_func, + glMultiTexCoord3iARB_func, + glMultiTexCoord3ivARB_func, + glMultiTexCoord3sARB_func, + glMultiTexCoord3svARB_func, + glMultiTexCoord4dARB_func, + glMultiTexCoord4dvARB_func, + glMultiTexCoord4fARB_func, + glMultiTexCoord4fvARB_func, + glMultiTexCoord4iARB_func, + glMultiTexCoord4ivARB_func, + glMultiTexCoord4sARB_func, + glMultiTexCoord4svARB_func, + glLoadTransposeMatrixfARB_func, + glLoadTransposeMatrixdARB_func, + glMultTransposeMatrixfARB_func, + glMultTransposeMatrixdARB_func, + glSampleCoverageARB_func, + glPointParameterfARB_func, + glVertexBlendARB_func, + glCurrentPaletteMatrixARB_func, + glWindowPos2dARB_func, + glWindowPos2dvARB_func, + glWindowPos2fARB_func, + glWindowPos2fvARB_func, + glWindowPos2iARB_func, + glWindowPos2ivARB_func, + glWindowPos2sARB_func, + glWindowPos2svARB_func, + glWindowPos3dARB_func, + glWindowPos3dvARB_func, + glWindowPos3fARB_func, + glWindowPos3fvARB_func, + glWindowPos3iARB_func, + glWindowPos3ivARB_func, + glWindowPos3sARB_func, + glWindowPos3svARB_func, + glVertexAttrib1dARB_func, + glVertexAttrib1dvARB_func, + glVertexAttrib1fARB_func, + glVertexAttrib1fvARB_func, + glVertexAttrib1sARB_func, + glVertexAttrib1svARB_func, + glVertexAttrib2dARB_func, + glVertexAttrib2dvARB_func, + glVertexAttrib2fARB_func, + glVertexAttrib2fvARB_func, + glVertexAttrib2sARB_func, + glVertexAttrib2svARB_func, + glVertexAttrib3dARB_func, + glVertexAttrib3dvARB_func, + glVertexAttrib3fARB_func, + glVertexAttrib3fvARB_func, + glVertexAttrib3sARB_func, + glVertexAttrib3svARB_func, + glVertexAttrib4NbvARB_func, + glVertexAttrib4NivARB_func, + glVertexAttrib4NsvARB_func, + glVertexAttrib4NubARB_func, + glVertexAttrib4NubvARB_func, + glVertexAttrib4NuivARB_func, + glVertexAttrib4NusvARB_func, + glVertexAttrib4bvARB_func, + glVertexAttrib4dARB_func, + glVertexAttrib4dvARB_func, + glVertexAttrib4fARB_func, + glVertexAttrib4fvARB_func, + glVertexAttrib4ivARB_func, + glVertexAttrib4sARB_func, + glVertexAttrib4svARB_func, + glVertexAttrib4ubvARB_func, + glVertexAttrib4uivARB_func, + glVertexAttrib4usvARB_func, + glEnableVertexAttribArrayARB_func, + glDisableVertexAttribArrayARB_func, + glBindProgramARB_func, + glProgramEnvParameter4dARB_func, + glProgramEnvParameter4dvARB_func, + glProgramEnvParameter4fARB_func, + glProgramEnvParameter4fvARB_func, + glProgramLocalParameter4dARB_func, + glProgramLocalParameter4dvARB_func, + glProgramLocalParameter4fARB_func, + glProgramLocalParameter4fvARB_func, + glIsProgramARB_func, + glBindBufferARB_func, + glIsBufferARB_func, + glUnmapBufferARB_func, + glIsQueryARB_func, + glBeginQueryARB_func, + glEndQueryARB_func, + glDeleteObjectARB_func, + glGetHandleARB_func, + glDetachObjectARB_func, + glCreateShaderObjectARB_func, + glCompileShaderARB_func, + glCreateProgramObjectARB_func, + glAttachObjectARB_func, + glLinkProgramARB_func, + glUseProgramObjectARB_func, + glValidateProgramARB_func, + glUniform1fARB_func, + glUniform2fARB_func, + glUniform3fARB_func, + glUniform4fARB_func, + glUniform1iARB_func, + glUniform2iARB_func, + glUniform3iARB_func, + glUniform4iARB_func, + glUniform1fvARB_func, + glUniform2fvARB_func, + glUniform3fvARB_func, + glUniform4fvARB_func, + glUniform1ivARB_func, + glUniform2ivARB_func, + glUniform3ivARB_func, + glUniform4ivARB_func, + glUniformMatrix2fvARB_func, + glUniformMatrix3fvARB_func, + glUniformMatrix4fvARB_func, + glClampColorARB_func, + glBlendColorEXT_func, + glPolygonOffsetEXT_func, + glCopyTexImage1DEXT_func, + glCopyTexImage2DEXT_func, + glCopyTexSubImage1DEXT_func, + glCopyTexSubImage2DEXT_func, + glCopyTexSubImage3DEXT_func, + glHistogramEXT_func, + glMinmaxEXT_func, + glResetHistogramEXT_func, + glResetMinmaxEXT_func, + glConvolutionParameterfEXT_func, + glConvolutionParameteriEXT_func, + glCopyConvolutionFilter1DEXT_func, + glCopyConvolutionFilter2DEXT_func, + glCopyColorTableSGI_func, + glPixelTexGenSGIX_func, + glPixelTexGenParameteriSGIS_func, + glPixelTexGenParameterfSGIS_func, + glBindTextureEXT_func, + glIsTextureEXT_func, + glSampleMaskSGIS_func, + glSamplePatternSGIS_func, + glArrayElementEXT_func, + glBlendEquationEXT_func, + glSpriteParameterfSGIX_func, + glSpriteParameteriSGIX_func, + glPointParameterfEXT_func, + glPointParameterfSGIS_func, + glGetInstrumentsSGIX_func, + glReadInstrumentsSGIX_func, + glStartInstrumentsSGIX_func, + glStopInstrumentsSGIX_func, + glFrameZoomSGIX_func, + glTagSampleBufferSGIX_func, + glDeformSGIX_func, + glLoadIdentityDeformationMapSGIX_func, + glFlushRasterSGIX_func, + glCopyColorSubTableEXT_func, + glListParameterfSGIX_func, + glListParameteriSGIX_func, + glIndexMaterialEXT_func, + glIndexFuncEXT_func, + glLockArraysEXT_func, + glUnlockArraysEXT_func, + glFragmentColorMaterialSGIX_func, + glFragmentLightfSGIX_func, + glFragmentLightiSGIX_func, + glFragmentLightModelfSGIX_func, + glFragmentLightModeliSGIX_func, + glFragmentMaterialfSGIX_func, + glFragmentMaterialiSGIX_func, + glLightEnviSGIX_func, + glApplyTextureEXT_func, + glTextureLightEXT_func, + glTextureMaterialEXT_func, + glAsyncMarkerSGIX_func, + glGenAsyncMarkersSGIX_func, + glDeleteAsyncMarkersSGIX_func, + glIsAsyncMarkerSGIX_func, + glPixelTransformParameteriEXT_func, + glPixelTransformParameterfEXT_func, + glSecondaryColor3bEXT_func, + glSecondaryColor3bvEXT_func, + glSecondaryColor3dEXT_func, + glSecondaryColor3dvEXT_func, + glSecondaryColor3fEXT_func, + glSecondaryColor3fvEXT_func, + glSecondaryColor3iEXT_func, + glSecondaryColor3ivEXT_func, + glSecondaryColor3sEXT_func, + glSecondaryColor3svEXT_func, + glSecondaryColor3ubEXT_func, + glSecondaryColor3ubvEXT_func, + glSecondaryColor3uiEXT_func, + glSecondaryColor3uivEXT_func, + glSecondaryColor3usEXT_func, + glSecondaryColor3usvEXT_func, + glTextureNormalEXT_func, + glFogCoordfEXT_func, + glFogCoorddEXT_func, + glTangent3bEXT_func, + glTangent3bvEXT_func, + glTangent3dEXT_func, + glTangent3dvEXT_func, + glTangent3fEXT_func, + glTangent3fvEXT_func, + glTangent3iEXT_func, + glTangent3ivEXT_func, + glTangent3sEXT_func, + glTangent3svEXT_func, + glBinormal3bEXT_func, + glBinormal3bvEXT_func, + glBinormal3dEXT_func, + glBinormal3dvEXT_func, + glBinormal3fEXT_func, + glBinormal3fvEXT_func, + glBinormal3iEXT_func, + glBinormal3ivEXT_func, + glBinormal3sEXT_func, + glBinormal3svEXT_func, + glBlendFuncSeparateEXT_func, + glVertexWeightfEXT_func, + glFlushVertexArrayRangeNV_func, + glCombinerParameterfNV_func, + glCombinerParameteriNV_func, + glCombinerInputNV_func, + glCombinerOutputNV_func, + glFinalCombinerInputNV_func, + glResizeBuffersMESA_func, + glWindowPos2dMESA_func, + glWindowPos2dvMESA_func, + glWindowPos2fMESA_func, + glWindowPos2fvMESA_func, + glWindowPos2iMESA_func, + glWindowPos2ivMESA_func, + glWindowPos2sMESA_func, + glWindowPos2svMESA_func, + glWindowPos3dMESA_func, + glWindowPos3dvMESA_func, + glWindowPos3fMESA_func, + glWindowPos3fvMESA_func, + glWindowPos3iMESA_func, + glWindowPos3ivMESA_func, + glWindowPos3sMESA_func, + glWindowPos3svMESA_func, + glWindowPos4dMESA_func, + glWindowPos4dvMESA_func, + glWindowPos4fMESA_func, + glWindowPos4fvMESA_func, + glWindowPos4iMESA_func, + glWindowPos4ivMESA_func, + glWindowPos4sMESA_func, + glWindowPos4svMESA_func, + glSampleMaskEXT_func, + glSamplePatternEXT_func, + glTextureColorMaskSGIS_func, + glIsFenceNV_func, + glTestFenceNV_func, + glFinishFenceNV_func, + glSetFenceNV_func, + glEvalMapsNV_func, + glBindProgramNV_func, + glIsProgramNV_func, + glProgramParameter4dNV_func, + glProgramParameter4dvNV_func, + glProgramParameter4fNV_func, + glProgramParameter4fvNV_func, + glProgramParameters4dvNV_func, + glProgramParameters4fvNV_func, + glTrackMatrixNV_func, + glVertexAttrib1dNV_func, + glVertexAttrib1dvNV_func, + glVertexAttrib1fNV_func, + glVertexAttrib1fvNV_func, + glVertexAttrib1sNV_func, + glVertexAttrib1svNV_func, + glVertexAttrib2dNV_func, + glVertexAttrib2dvNV_func, + glVertexAttrib2fNV_func, + glVertexAttrib2fvNV_func, + glVertexAttrib2sNV_func, + glVertexAttrib2svNV_func, + glVertexAttrib3dNV_func, + glVertexAttrib3dvNV_func, + glVertexAttrib3fNV_func, + glVertexAttrib3fvNV_func, + glVertexAttrib3sNV_func, + glVertexAttrib3svNV_func, + glVertexAttrib4dNV_func, + glVertexAttrib4dvNV_func, + glVertexAttrib4fNV_func, + glVertexAttrib4fvNV_func, + glVertexAttrib4sNV_func, + glVertexAttrib4svNV_func, + glVertexAttrib4ubNV_func, + glVertexAttrib4ubvNV_func, + glVertexAttribs1dvNV_func, + glVertexAttribs1fvNV_func, + glVertexAttribs1svNV_func, + glVertexAttribs2dvNV_func, + glVertexAttribs2fvNV_func, + glVertexAttribs2svNV_func, + glVertexAttribs3dvNV_func, + glVertexAttribs3fvNV_func, + glVertexAttribs3svNV_func, + glVertexAttribs4dvNV_func, + glVertexAttribs4fvNV_func, + glVertexAttribs4svNV_func, + glVertexAttribs4ubvNV_func, + glGenFragmentShadersATI_func, + glBindFragmentShaderATI_func, + glDeleteFragmentShaderATI_func, + glBeginFragmentShaderATI_func, + glEndFragmentShaderATI_func, + glPassTexCoordATI_func, + glSampleMapATI_func, + glColorFragmentOp1ATI_func, + glColorFragmentOp2ATI_func, + glColorFragmentOp3ATI_func, + glAlphaFragmentOp1ATI_func, + glAlphaFragmentOp2ATI_func, + glAlphaFragmentOp3ATI_func, + glPNTrianglesiATI_func, + glPNTrianglesfATI_func, + glIsObjectBufferATI_func, + glFreeObjectBufferATI_func, + glArrayObjectATI_func, + glVariantArrayObjectATI_func, + glBeginVertexShaderEXT_func, + glEndVertexShaderEXT_func, + glBindVertexShaderEXT_func, + glGenVertexShadersEXT_func, + glDeleteVertexShaderEXT_func, + glShaderOp1EXT_func, + glShaderOp2EXT_func, + glShaderOp3EXT_func, + glSwizzleEXT_func, + glWriteMaskEXT_func, + glInsertComponentEXT_func, + glExtractComponentEXT_func, + glGenSymbolsEXT_func, + glEnableVariantClientStateEXT_func, + glDisableVariantClientStateEXT_func, + glBindLightParameterEXT_func, + glBindMaterialParameterEXT_func, + glBindTexGenParameterEXT_func, + glBindTextureUnitParameterEXT_func, + glBindParameterEXT_func, + glIsVariantEnabledEXT_func, + glVertexStream1sATI_func, + glVertexStream1svATI_func, + glVertexStream1iATI_func, + glVertexStream1ivATI_func, + glVertexStream1fATI_func, + glVertexStream1fvATI_func, + glVertexStream1dATI_func, + glVertexStream1dvATI_func, + glVertexStream2sATI_func, + glVertexStream2svATI_func, + glVertexStream2iATI_func, + glVertexStream2ivATI_func, + glVertexStream2fATI_func, + glVertexStream2fvATI_func, + glVertexStream2dATI_func, + glVertexStream2dvATI_func, + glVertexStream3sATI_func, + glVertexStream3svATI_func, + glVertexStream3iATI_func, + glVertexStream3ivATI_func, + glVertexStream3fATI_func, + glVertexStream3fvATI_func, + glVertexStream3dATI_func, + glVertexStream3dvATI_func, + glVertexStream4sATI_func, + glVertexStream4svATI_func, + glVertexStream4iATI_func, + glVertexStream4ivATI_func, + glVertexStream4fATI_func, + glVertexStream4fvATI_func, + glVertexStream4dATI_func, + glVertexStream4dvATI_func, + glNormalStream3bATI_func, + glNormalStream3bvATI_func, + glNormalStream3sATI_func, + glNormalStream3svATI_func, + glNormalStream3iATI_func, + glNormalStream3ivATI_func, + glNormalStream3fATI_func, + glNormalStream3fvATI_func, + glNormalStream3dATI_func, + glNormalStream3dvATI_func, + glClientActiveVertexStreamATI_func, + glVertexBlendEnviATI_func, + glVertexBlendEnvfATI_func, + glDrawElementArrayATI_func, + glDrawRangeElementArrayATI_func, + glIsOcclusionQueryNV_func, + glBeginOcclusionQueryNV_func, + glEndOcclusionQueryNV_func, + glPointParameteriNV_func, + glActiveStencilFaceEXT_func, + glVertex2hNV_func, + glVertex3hNV_func, + glVertex4hNV_func, + glNormal3hNV_func, + glColor3hNV_func, + glColor4hNV_func, + glTexCoord1hNV_func, + glTexCoord2hNV_func, + glTexCoord3hNV_func, + glTexCoord4hNV_func, + glMultiTexCoord1hNV_func, + glMultiTexCoord2hNV_func, + glMultiTexCoord3hNV_func, + glMultiTexCoord4hNV_func, + glFogCoordhNV_func, + glSecondaryColor3hNV_func, + glVertexWeighthNV_func, + glVertexAttrib1hNV_func, + glVertexAttrib2hNV_func, + glVertexAttrib3hNV_func, + glVertexAttrib4hNV_func, + glFlushPixelDataRangeNV_func, + glPrimitiveRestartNV_func, + glPrimitiveRestartIndexNV_func, + glUnmapObjectBufferATI_func, + glStencilOpSeparateATI_func, + glStencilFuncSeparateATI_func, + glVertexAttribArrayObjectATI_func, + glDepthBoundsEXT_func, + glBlendEquationSeparateEXT_func, + glIsRenderbufferEXT_func, + glBindRenderbufferEXT_func, + glRenderbufferStorageEXT_func, + glIsFramebufferEXT_func, + glBindFramebufferEXT_func, + glCheckFramebufferStatusEXT_func, + glFramebufferTexture1DEXT_func, + glFramebufferTexture2DEXT_func, + glFramebufferTexture3DEXT_func, + glFramebufferRenderbufferEXT_func, + glGenerateMipmapEXT_func, + GL_N_CALLS +}; +static const int glClearIndex_signature[] = { TYPE_NONE, 0, 1, TYPE_FLOAT}; +static const int glClearColor_signature[] = { TYPE_NONE, 0, 4, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glClear_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glIndexMask_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glColorMask_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR}; +static const int glAlphaFunc_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glBlendFunc_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glLogicOp_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glCullFace_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glFrontFace_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glPointSize_signature[] = { TYPE_NONE, 0, 1, TYPE_FLOAT}; +static const int glLineWidth_signature[] = { TYPE_NONE, 0, 1, TYPE_FLOAT}; +static const int glLineStipple_signature[] = { TYPE_NONE, 0, 2, TYPE_INT, TYPE_UNSIGNED_SHORT}; +static const int glPolygonMode_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glPolygonOffset_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_FLOAT}; +static const int glEdgeFlag_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_CHAR}; +static const int glScissor_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glDrawBuffer_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glReadBuffer_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glEnable_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glDisable_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glIsEnabled_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glEnableClientState_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glDisableClientState_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glPushAttrib_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glPopAttrib_signature[] = { TYPE_NONE, 0, 0}; +static const int glPushClientAttrib_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glPopClientAttrib_signature[] = { TYPE_NONE, 0, 0}; +static const int glRenderMode_signature[] = { TYPE_INT, 0, 1, TYPE_UNSIGNED_INT}; +static const int glGetError_signature[] = { TYPE_UNSIGNED_INT, 0, 0}; +static const int glFinish_signature[] = { TYPE_NONE, 0, 0}; +static const int glFlush_signature[] = { TYPE_NONE, 0, 0}; +static const int glHint_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glClearDepth_signature[] = { TYPE_NONE, 0, 1, TYPE_DOUBLE}; +static const int glDepthFunc_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glDepthMask_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_CHAR}; +static const int glDepthRange_signature[] = { TYPE_NONE, 0, 2, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glClearAccum_signature[] = { TYPE_NONE, 0, 4, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glAccum_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glMatrixMode_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glOrtho_signature[] = { TYPE_NONE, 0, 6, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glFrustum_signature[] = { TYPE_NONE, 0, 6, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glViewport_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glPushMatrix_signature[] = { TYPE_NONE, 0, 0}; +static const int glPopMatrix_signature[] = { TYPE_NONE, 0, 0}; +static const int glLoadIdentity_signature[] = { TYPE_NONE, 0, 0}; +static const int glLoadMatrixd_signature[] = { TYPE_NONE, 0, 1, TYPE_16DOUBLE}; +static const int glLoadMatrixf_signature[] = { TYPE_NONE, 0, 1, TYPE_16FLOAT}; +static const int glMultMatrixd_signature[] = { TYPE_NONE, 0, 1, TYPE_16DOUBLE}; +static const int glMultMatrixf_signature[] = { TYPE_NONE, 0, 1, TYPE_16FLOAT}; +static const int glRotated_signature[] = { TYPE_NONE, 0, 4, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glRotatef_signature[] = { TYPE_NONE, 0, 4, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glScaled_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glScalef_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glTranslated_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glTranslatef_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glIsList_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glDeleteLists_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glGenLists_signature[] = { TYPE_UNSIGNED_INT, 0, 1, TYPE_INT}; +static const int glNewList_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glEndList_signature[] = { TYPE_NONE, 0, 0}; +static const int glCallList_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glListBase_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glBegin_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glEnd_signature[] = { TYPE_NONE, 0, 0}; +static const int glVertex2d_signature[] = { TYPE_NONE, 0, 2, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertex2f_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertex2i_signature[] = { TYPE_NONE, 0, 2, TYPE_INT, TYPE_INT}; +static const int glVertex2s_signature[] = { TYPE_NONE, 0, 2, TYPE_SHORT, TYPE_SHORT}; +static const int glVertex3d_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertex3f_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertex3i_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glVertex3s_signature[] = { TYPE_NONE, 0, 3, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glVertex4d_signature[] = { TYPE_NONE, 0, 4, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertex4f_signature[] = { TYPE_NONE, 0, 4, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertex4i_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glVertex4s_signature[] = { TYPE_NONE, 0, 4, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glVertex2dv_signature[] = { TYPE_NONE, 0, 1, TYPE_2DOUBLE}; +static const int glVertex2fv_signature[] = { TYPE_NONE, 0, 1, TYPE_2FLOAT}; +static const int glVertex2iv_signature[] = { TYPE_NONE, 0, 1, TYPE_2INT}; +static const int glVertex2sv_signature[] = { TYPE_NONE, 0, 1, TYPE_2SHORT}; +static const int glVertex3dv_signature[] = { TYPE_NONE, 0, 1, TYPE_3DOUBLE}; +static const int glVertex3fv_signature[] = { TYPE_NONE, 0, 1, TYPE_3FLOAT}; +static const int glVertex3iv_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glVertex3sv_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glVertex4dv_signature[] = { TYPE_NONE, 0, 1, TYPE_4DOUBLE}; +static const int glVertex4fv_signature[] = { TYPE_NONE, 0, 1, TYPE_4FLOAT}; +static const int glVertex4iv_signature[] = { TYPE_NONE, 0, 1, TYPE_4INT}; +static const int glVertex4sv_signature[] = { TYPE_NONE, 0, 1, TYPE_4SHORT}; +static const int glNormal3b_signature[] = { TYPE_NONE, 0, 3, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR}; +static const int glNormal3d_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glNormal3f_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glNormal3i_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glNormal3s_signature[] = { TYPE_NONE, 0, 3, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glNormal3bv_signature[] = { TYPE_NONE, 0, 1, TYPE_3CHAR}; +static const int glNormal3dv_signature[] = { TYPE_NONE, 0, 1, TYPE_3DOUBLE}; +static const int glNormal3fv_signature[] = { TYPE_NONE, 0, 1, TYPE_3FLOAT}; +static const int glNormal3iv_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glNormal3sv_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glIndexd_signature[] = { TYPE_NONE, 0, 1, TYPE_DOUBLE}; +static const int glIndexf_signature[] = { TYPE_NONE, 0, 1, TYPE_FLOAT}; +static const int glIndexi_signature[] = { TYPE_NONE, 0, 1, TYPE_INT}; +static const int glIndexs_signature[] = { TYPE_NONE, 0, 1, TYPE_SHORT}; +static const int glIndexub_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_CHAR}; +static const int glColor3b_signature[] = { TYPE_NONE, 0, 3, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR}; +static const int glColor3d_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glColor3f_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glColor3i_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glColor3s_signature[] = { TYPE_NONE, 0, 3, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glColor3ub_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR}; +static const int glColor3ui_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glColor3us_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glColor4b_signature[] = { TYPE_NONE, 0, 4, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR}; +static const int glColor4d_signature[] = { TYPE_NONE, 0, 4, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glColor4f_signature[] = { TYPE_NONE, 0, 4, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glColor4i_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glColor4s_signature[] = { TYPE_NONE, 0, 4, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glColor4ub_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR}; +static const int glColor4ui_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glColor4us_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glColor3bv_signature[] = { TYPE_NONE, 0, 1, TYPE_3CHAR}; +static const int glColor3dv_signature[] = { TYPE_NONE, 0, 1, TYPE_3DOUBLE}; +static const int glColor3fv_signature[] = { TYPE_NONE, 0, 1, TYPE_3FLOAT}; +static const int glColor3iv_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glColor3sv_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glColor3ubv_signature[] = { TYPE_NONE, 0, 1, TYPE_3CHAR}; +static const int glColor3uiv_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glColor3usv_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glColor4bv_signature[] = { TYPE_NONE, 0, 1, TYPE_4CHAR}; +static const int glColor4dv_signature[] = { TYPE_NONE, 0, 1, TYPE_4DOUBLE}; +static const int glColor4fv_signature[] = { TYPE_NONE, 0, 1, TYPE_4FLOAT}; +static const int glColor4iv_signature[] = { TYPE_NONE, 0, 1, TYPE_4INT}; +static const int glColor4sv_signature[] = { TYPE_NONE, 0, 1, TYPE_4SHORT}; +static const int glColor4ubv_signature[] = { TYPE_NONE, 0, 1, TYPE_4CHAR}; +static const int glColor4uiv_signature[] = { TYPE_NONE, 0, 1, TYPE_4INT}; +static const int glColor4usv_signature[] = { TYPE_NONE, 0, 1, TYPE_4SHORT}; +static const int glTexCoord1d_signature[] = { TYPE_NONE, 0, 1, TYPE_DOUBLE}; +static const int glTexCoord1f_signature[] = { TYPE_NONE, 0, 1, TYPE_FLOAT}; +static const int glTexCoord1i_signature[] = { TYPE_NONE, 0, 1, TYPE_INT}; +static const int glTexCoord1s_signature[] = { TYPE_NONE, 0, 1, TYPE_SHORT}; +static const int glTexCoord2d_signature[] = { TYPE_NONE, 0, 2, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glTexCoord2f_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_FLOAT}; +static const int glTexCoord2i_signature[] = { TYPE_NONE, 0, 2, TYPE_INT, TYPE_INT}; +static const int glTexCoord2s_signature[] = { TYPE_NONE, 0, 2, TYPE_SHORT, TYPE_SHORT}; +static const int glTexCoord3d_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glTexCoord3f_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glTexCoord3i_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glTexCoord3s_signature[] = { TYPE_NONE, 0, 3, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glTexCoord4d_signature[] = { TYPE_NONE, 0, 4, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glTexCoord4f_signature[] = { TYPE_NONE, 0, 4, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glTexCoord4i_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glTexCoord4s_signature[] = { TYPE_NONE, 0, 4, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glTexCoord1dv_signature[] = { TYPE_NONE, 0, 1, TYPE_1DOUBLE}; +static const int glTexCoord1fv_signature[] = { TYPE_NONE, 0, 1, TYPE_1FLOAT}; +static const int glTexCoord1iv_signature[] = { TYPE_NONE, 0, 1, TYPE_1INT}; +static const int glTexCoord1sv_signature[] = { TYPE_NONE, 0, 1, TYPE_1SHORT}; +static const int glTexCoord2dv_signature[] = { TYPE_NONE, 0, 1, TYPE_2DOUBLE}; +static const int glTexCoord2fv_signature[] = { TYPE_NONE, 0, 1, TYPE_2FLOAT}; +static const int glTexCoord2iv_signature[] = { TYPE_NONE, 0, 1, TYPE_2INT}; +static const int glTexCoord2sv_signature[] = { TYPE_NONE, 0, 1, TYPE_2SHORT}; +static const int glTexCoord3dv_signature[] = { TYPE_NONE, 0, 1, TYPE_3DOUBLE}; +static const int glTexCoord3fv_signature[] = { TYPE_NONE, 0, 1, TYPE_3FLOAT}; +static const int glTexCoord3iv_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glTexCoord3sv_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glTexCoord4dv_signature[] = { TYPE_NONE, 0, 1, TYPE_4DOUBLE}; +static const int glTexCoord4fv_signature[] = { TYPE_NONE, 0, 1, TYPE_4FLOAT}; +static const int glTexCoord4iv_signature[] = { TYPE_NONE, 0, 1, TYPE_4INT}; +static const int glTexCoord4sv_signature[] = { TYPE_NONE, 0, 1, TYPE_4SHORT}; +static const int glRasterPos2d_signature[] = { TYPE_NONE, 0, 2, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glRasterPos2f_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_FLOAT}; +static const int glRasterPos2i_signature[] = { TYPE_NONE, 0, 2, TYPE_INT, TYPE_INT}; +static const int glRasterPos2s_signature[] = { TYPE_NONE, 0, 2, TYPE_SHORT, TYPE_SHORT}; +static const int glRasterPos3d_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glRasterPos3f_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glRasterPos3i_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glRasterPos3s_signature[] = { TYPE_NONE, 0, 3, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glRasterPos4d_signature[] = { TYPE_NONE, 0, 4, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glRasterPos4f_signature[] = { TYPE_NONE, 0, 4, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glRasterPos4i_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glRasterPos4s_signature[] = { TYPE_NONE, 0, 4, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glRasterPos2dv_signature[] = { TYPE_NONE, 0, 1, TYPE_2DOUBLE}; +static const int glRasterPos2fv_signature[] = { TYPE_NONE, 0, 1, TYPE_2FLOAT}; +static const int glRasterPos2iv_signature[] = { TYPE_NONE, 0, 1, TYPE_2INT}; +static const int glRasterPos2sv_signature[] = { TYPE_NONE, 0, 1, TYPE_2SHORT}; +static const int glRasterPos3dv_signature[] = { TYPE_NONE, 0, 1, TYPE_3DOUBLE}; +static const int glRasterPos3fv_signature[] = { TYPE_NONE, 0, 1, TYPE_3FLOAT}; +static const int glRasterPos3iv_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glRasterPos3sv_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glRasterPos4dv_signature[] = { TYPE_NONE, 0, 1, TYPE_4DOUBLE}; +static const int glRasterPos4fv_signature[] = { TYPE_NONE, 0, 1, TYPE_4FLOAT}; +static const int glRasterPos4iv_signature[] = { TYPE_NONE, 0, 1, TYPE_4INT}; +static const int glRasterPos4sv_signature[] = { TYPE_NONE, 0, 1, TYPE_4SHORT}; +static const int glRectd_signature[] = { TYPE_NONE, 0, 4, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glRectf_signature[] = { TYPE_NONE, 0, 4, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glRecti_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glRects_signature[] = { TYPE_NONE, 0, 4, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glArrayElement_signature[] = { TYPE_NONE, 0, 1, TYPE_INT}; +static const int glShadeModel_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glLightf_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glLighti_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glLightModelf_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glLightModeli_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glMaterialf_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glMateriali_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glColorMaterial_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glPixelZoom_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_FLOAT}; +static const int glPixelStoref_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glPixelStorei_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glPixelTransferf_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glPixelTransferi_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glCopyPixels_signature[] = { TYPE_NONE, 0, 5, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_UNSIGNED_INT}; +static const int glStencilFunc_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT}; +static const int glStencilMask_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glStencilOp_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glClearStencil_signature[] = { TYPE_NONE, 0, 1, TYPE_INT}; +static const int glTexGend_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_DOUBLE}; +static const int glTexGenf_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glTexGeni_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glTexEnvf_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glTexEnvi_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glTexParameterf_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glTexParameteri_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glBindTexture_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glIsTexture_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glCopyTexImage1D_signature[] = { TYPE_NONE, 0, 7, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyTexImage2D_signature[] = { TYPE_NONE, 0, 8, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyTexSubImage1D_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyTexSubImage2D_signature[] = { TYPE_NONE, 0, 8, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glEvalCoord1d_signature[] = { TYPE_NONE, 0, 1, TYPE_DOUBLE}; +static const int glEvalCoord1f_signature[] = { TYPE_NONE, 0, 1, TYPE_FLOAT}; +static const int glEvalCoord1dv_signature[] = { TYPE_NONE, 0, 1, TYPE_1DOUBLE}; +static const int glEvalCoord1fv_signature[] = { TYPE_NONE, 0, 1, TYPE_1FLOAT}; +static const int glEvalCoord2d_signature[] = { TYPE_NONE, 0, 2, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glEvalCoord2f_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_FLOAT}; +static const int glEvalCoord2dv_signature[] = { TYPE_NONE, 0, 1, TYPE_2DOUBLE}; +static const int glEvalCoord2fv_signature[] = { TYPE_NONE, 0, 1, TYPE_2FLOAT}; +static const int glMapGrid1d_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glMapGrid1f_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glMapGrid2d_signature[] = { TYPE_NONE, 0, 6, TYPE_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_INT, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glMapGrid2f_signature[] = { TYPE_NONE, 0, 6, TYPE_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_INT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glEvalPoint1_signature[] = { TYPE_NONE, 0, 1, TYPE_INT}; +static const int glEvalPoint2_signature[] = { TYPE_NONE, 0, 2, TYPE_INT, TYPE_INT}; +static const int glEvalMesh1_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT}; +static const int glEvalMesh2_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glFogf_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glFogi_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glPassThrough_signature[] = { TYPE_NONE, 0, 1, TYPE_FLOAT}; +static const int glInitNames_signature[] = { TYPE_NONE, 0, 0}; +static const int glLoadName_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glPushName_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glPopName_signature[] = { TYPE_NONE, 0, 0}; +static const int glCopyTexSubImage3D_signature[] = { TYPE_NONE, 0, 9, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyColorSubTable_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyColorTable_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glBlendEquation_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glBlendColor_signature[] = { TYPE_NONE, 0, 4, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glHistogram_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_CHAR}; +static const int glResetHistogram_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glMinmax_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_CHAR}; +static const int glResetMinmax_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glConvolutionParameterf_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glConvolutionParameteri_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glCopyConvolutionFilter1D_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyConvolutionFilter2D_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glActiveTexture_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glClientActiveTexture_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glMultiTexCoord1d_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_DOUBLE}; +static const int glMultiTexCoord1dv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1DOUBLE}; +static const int glMultiTexCoord1f_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glMultiTexCoord1fv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1FLOAT}; +static const int glMultiTexCoord1i_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glMultiTexCoord1iv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1INT}; +static const int glMultiTexCoord1s_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_SHORT}; +static const int glMultiTexCoord1sv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1SHORT}; +static const int glMultiTexCoord2d_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glMultiTexCoord2dv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2DOUBLE}; +static const int glMultiTexCoord2f_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glMultiTexCoord2fv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2FLOAT}; +static const int glMultiTexCoord2i_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT}; +static const int glMultiTexCoord2iv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2INT}; +static const int glMultiTexCoord2s_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT}; +static const int glMultiTexCoord2sv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2SHORT}; +static const int glMultiTexCoord3d_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glMultiTexCoord3dv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3DOUBLE}; +static const int glMultiTexCoord3f_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glMultiTexCoord3fv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3FLOAT}; +static const int glMultiTexCoord3i_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glMultiTexCoord3iv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3INT}; +static const int glMultiTexCoord3s_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glMultiTexCoord3sv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3SHORT}; +static const int glMultiTexCoord4d_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glMultiTexCoord4dv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4DOUBLE}; +static const int glMultiTexCoord4f_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glMultiTexCoord4fv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4FLOAT}; +static const int glMultiTexCoord4i_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glMultiTexCoord4iv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4INT}; +static const int glMultiTexCoord4s_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glMultiTexCoord4sv_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4SHORT}; +static const int glLoadTransposeMatrixd_signature[] = { TYPE_NONE, 0, 1, TYPE_16DOUBLE}; +static const int glLoadTransposeMatrixf_signature[] = { TYPE_NONE, 0, 1, TYPE_16FLOAT}; +static const int glMultTransposeMatrixd_signature[] = { TYPE_NONE, 0, 1, TYPE_16DOUBLE}; +static const int glMultTransposeMatrixf_signature[] = { TYPE_NONE, 0, 1, TYPE_16FLOAT}; +static const int glSampleCoverage_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_UNSIGNED_CHAR}; +static const int glActiveTextureARB_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glClientActiveTextureARB_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glMultiTexCoord1dARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_DOUBLE}; +static const int glMultiTexCoord1dvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1DOUBLE}; +static const int glMultiTexCoord1fARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glMultiTexCoord1fvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1FLOAT}; +static const int glMultiTexCoord1iARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glMultiTexCoord1ivARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1INT}; +static const int glMultiTexCoord1sARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_SHORT}; +static const int glMultiTexCoord1svARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1SHORT}; +static const int glMultiTexCoord2dARB_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glMultiTexCoord2dvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2DOUBLE}; +static const int glMultiTexCoord2fARB_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glMultiTexCoord2fvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2FLOAT}; +static const int glMultiTexCoord2iARB_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT}; +static const int glMultiTexCoord2ivARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2INT}; +static const int glMultiTexCoord2sARB_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT}; +static const int glMultiTexCoord2svARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2SHORT}; +static const int glMultiTexCoord3dARB_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glMultiTexCoord3dvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3DOUBLE}; +static const int glMultiTexCoord3fARB_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glMultiTexCoord3fvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3FLOAT}; +static const int glMultiTexCoord3iARB_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glMultiTexCoord3ivARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3INT}; +static const int glMultiTexCoord3sARB_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glMultiTexCoord3svARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3SHORT}; +static const int glMultiTexCoord4dARB_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glMultiTexCoord4dvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4DOUBLE}; +static const int glMultiTexCoord4fARB_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glMultiTexCoord4fvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4FLOAT}; +static const int glMultiTexCoord4iARB_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glMultiTexCoord4ivARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4INT}; +static const int glMultiTexCoord4sARB_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glMultiTexCoord4svARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4SHORT}; +static const int glLoadTransposeMatrixfARB_signature[] = { TYPE_NONE, 0, 1, TYPE_16FLOAT}; +static const int glLoadTransposeMatrixdARB_signature[] = { TYPE_NONE, 0, 1, TYPE_16DOUBLE}; +static const int glMultTransposeMatrixfARB_signature[] = { TYPE_NONE, 0, 1, TYPE_16FLOAT}; +static const int glMultTransposeMatrixdARB_signature[] = { TYPE_NONE, 0, 1, TYPE_16DOUBLE}; +static const int glSampleCoverageARB_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_UNSIGNED_CHAR}; +static const int glPointParameterfARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glVertexBlendARB_signature[] = { TYPE_NONE, 0, 1, TYPE_INT}; +static const int glCurrentPaletteMatrixARB_signature[] = { TYPE_NONE, 0, 1, TYPE_INT}; +static const int glWindowPos2dARB_signature[] = { TYPE_NONE, 0, 2, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glWindowPos2dvARB_signature[] = { TYPE_NONE, 0, 1, TYPE_2DOUBLE}; +static const int glWindowPos2fARB_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_FLOAT}; +static const int glWindowPos2fvARB_signature[] = { TYPE_NONE, 0, 1, TYPE_2FLOAT}; +static const int glWindowPos2iARB_signature[] = { TYPE_NONE, 0, 2, TYPE_INT, TYPE_INT}; +static const int glWindowPos2ivARB_signature[] = { TYPE_NONE, 0, 1, TYPE_2INT}; +static const int glWindowPos2sARB_signature[] = { TYPE_NONE, 0, 2, TYPE_SHORT, TYPE_SHORT}; +static const int glWindowPos2svARB_signature[] = { TYPE_NONE, 0, 1, TYPE_2SHORT}; +static const int glWindowPos3dARB_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glWindowPos3dvARB_signature[] = { TYPE_NONE, 0, 1, TYPE_3DOUBLE}; +static const int glWindowPos3fARB_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glWindowPos3fvARB_signature[] = { TYPE_NONE, 0, 1, TYPE_3FLOAT}; +static const int glWindowPos3iARB_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glWindowPos3ivARB_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glWindowPos3sARB_signature[] = { TYPE_NONE, 0, 3, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glWindowPos3svARB_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glVertexAttrib1dARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_DOUBLE}; +static const int glVertexAttrib1dvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1DOUBLE}; +static const int glVertexAttrib1fARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glVertexAttrib1fvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1FLOAT}; +static const int glVertexAttrib1sARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_SHORT}; +static const int glVertexAttrib1svARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1SHORT}; +static const int glVertexAttrib2dARB_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertexAttrib2dvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2DOUBLE}; +static const int glVertexAttrib2fARB_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertexAttrib2fvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2FLOAT}; +static const int glVertexAttrib2sARB_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT}; +static const int glVertexAttrib2svARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2SHORT}; +static const int glVertexAttrib3dARB_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertexAttrib3dvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3DOUBLE}; +static const int glVertexAttrib3fARB_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertexAttrib3fvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3FLOAT}; +static const int glVertexAttrib3sARB_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glVertexAttrib3svARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3SHORT}; +static const int glVertexAttrib4NbvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4CHAR}; +static const int glVertexAttrib4NivARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4INT}; +static const int glVertexAttrib4NsvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4SHORT}; +static const int glVertexAttrib4NubARB_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR}; +static const int glVertexAttrib4NubvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4CHAR}; +static const int glVertexAttrib4NuivARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4INT}; +static const int glVertexAttrib4NusvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4SHORT}; +static const int glVertexAttrib4bvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4CHAR}; +static const int glVertexAttrib4dARB_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertexAttrib4dvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4DOUBLE}; +static const int glVertexAttrib4fARB_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertexAttrib4fvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4FLOAT}; +static const int glVertexAttrib4ivARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4INT}; +static const int glVertexAttrib4sARB_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glVertexAttrib4svARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4SHORT}; +static const int glVertexAttrib4ubvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4CHAR}; +static const int glVertexAttrib4uivARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4INT}; +static const int glVertexAttrib4usvARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4SHORT}; +static const int glEnableVertexAttribArrayARB_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glDisableVertexAttribArrayARB_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glBindProgramARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glProgramEnvParameter4dARB_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glProgramEnvParameter4dvARB_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_4DOUBLE}; +static const int glProgramEnvParameter4fARB_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glProgramEnvParameter4fvARB_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_4FLOAT}; +static const int glProgramLocalParameter4dARB_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glProgramLocalParameter4dvARB_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_4DOUBLE}; +static const int glProgramLocalParameter4fARB_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glProgramLocalParameter4fvARB_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_4FLOAT}; +static const int glIsProgramARB_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glBindBufferARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glIsBufferARB_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glUnmapBufferARB_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glIsQueryARB_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glBeginQueryARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glEndQueryARB_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glDeleteObjectARB_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glGetHandleARB_signature[] = { TYPE_UNSIGNED_INT, 0, 1, TYPE_UNSIGNED_INT}; +static const int glDetachObjectARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glCreateShaderObjectARB_signature[] = { TYPE_UNSIGNED_INT, 0, 1, TYPE_UNSIGNED_INT}; +static const int glCompileShaderARB_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glCreateProgramObjectARB_signature[] = { TYPE_UNSIGNED_INT, 0, 0}; +static const int glAttachObjectARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glLinkProgramARB_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glUseProgramObjectARB_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glValidateProgramARB_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glUniform1fARB_signature[] = { TYPE_NONE, 0, 2, TYPE_INT, TYPE_FLOAT}; +static const int glUniform2fARB_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glUniform3fARB_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glUniform4fARB_signature[] = { TYPE_NONE, 0, 5, TYPE_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glUniform1iARB_signature[] = { TYPE_NONE, 0, 2, TYPE_INT, TYPE_INT}; +static const int glUniform2iARB_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glUniform3iARB_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glUniform4iARB_signature[] = { TYPE_NONE, 0, 5, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glUniform1fvARB_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_1FLOAT}; +static const int glUniform2fvARB_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_2FLOAT}; +static const int glUniform3fvARB_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_3FLOAT}; +static const int glUniform4fvARB_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_4FLOAT}; +static const int glUniform1ivARB_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_1INT}; +static const int glUniform2ivARB_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_2INT}; +static const int glUniform3ivARB_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_3INT}; +static const int glUniform4ivARB_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_4INT}; +static const int glUniformMatrix2fvARB_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_UNSIGNED_CHAR, TYPE_2FLOAT}; +static const int glUniformMatrix3fvARB_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_UNSIGNED_CHAR, TYPE_3FLOAT}; +static const int glUniformMatrix4fvARB_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_UNSIGNED_CHAR, TYPE_4FLOAT}; +static const int glClampColorARB_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glBlendColorEXT_signature[] = { TYPE_NONE, 0, 4, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glPolygonOffsetEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_FLOAT}; +static const int glCopyTexImage1DEXT_signature[] = { TYPE_NONE, 0, 7, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyTexImage2DEXT_signature[] = { TYPE_NONE, 0, 8, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyTexSubImage1DEXT_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyTexSubImage2DEXT_signature[] = { TYPE_NONE, 0, 8, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyTexSubImage3DEXT_signature[] = { TYPE_NONE, 0, 9, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glHistogramEXT_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_CHAR}; +static const int glMinmaxEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_CHAR}; +static const int glResetHistogramEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glResetMinmaxEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glConvolutionParameterfEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glConvolutionParameteriEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glCopyConvolutionFilter1DEXT_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyConvolutionFilter2DEXT_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glCopyColorTableSGI_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glPixelTexGenSGIX_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glPixelTexGenParameteriSGIS_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glPixelTexGenParameterfSGIS_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glBindTextureEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glIsTextureEXT_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glSampleMaskSGIS_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_UNSIGNED_CHAR}; +static const int glSamplePatternSGIS_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glArrayElementEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_INT}; +static const int glBlendEquationEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glSpriteParameterfSGIX_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glSpriteParameteriSGIX_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glPointParameterfEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glPointParameterfSGIS_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glGetInstrumentsSGIX_signature[] = { TYPE_INT, 0, 0}; +static const int glReadInstrumentsSGIX_signature[] = { TYPE_NONE, 0, 1, TYPE_INT}; +static const int glStartInstrumentsSGIX_signature[] = { TYPE_NONE, 0, 0}; +static const int glStopInstrumentsSGIX_signature[] = { TYPE_NONE, 0, 1, TYPE_INT}; +static const int glFrameZoomSGIX_signature[] = { TYPE_NONE, 0, 1, TYPE_INT}; +static const int glTagSampleBufferSGIX_signature[] = { TYPE_NONE, 0, 0}; +static const int glDeformSGIX_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glLoadIdentityDeformationMapSGIX_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glFlushRasterSGIX_signature[] = { TYPE_NONE, 0, 0}; +static const int glCopyColorSubTableEXT_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glListParameterfSGIX_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glListParameteriSGIX_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glIndexMaterialEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glIndexFuncEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glLockArraysEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_INT, TYPE_INT}; +static const int glUnlockArraysEXT_signature[] = { TYPE_NONE, 0, 0}; +static const int glFragmentColorMaterialSGIX_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glFragmentLightfSGIX_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glFragmentLightiSGIX_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glFragmentLightModelfSGIX_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glFragmentLightModeliSGIX_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glFragmentMaterialfSGIX_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glFragmentMaterialiSGIX_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glLightEnviSGIX_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glApplyTextureEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glTextureLightEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glTextureMaterialEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glAsyncMarkerSGIX_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glGenAsyncMarkersSGIX_signature[] = { TYPE_UNSIGNED_INT, 0, 1, TYPE_INT}; +static const int glDeleteAsyncMarkersSGIX_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glIsAsyncMarkerSGIX_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glPixelTransformParameteriEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glPixelTransformParameterfEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glSecondaryColor3bEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR}; +static const int glSecondaryColor3bvEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3CHAR}; +static const int glSecondaryColor3dEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glSecondaryColor3dvEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3DOUBLE}; +static const int glSecondaryColor3fEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glSecondaryColor3fvEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3FLOAT}; +static const int glSecondaryColor3iEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glSecondaryColor3ivEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glSecondaryColor3sEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glSecondaryColor3svEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glSecondaryColor3ubEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR}; +static const int glSecondaryColor3ubvEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3CHAR}; +static const int glSecondaryColor3uiEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glSecondaryColor3uivEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glSecondaryColor3usEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glSecondaryColor3usvEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glTextureNormalEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glFogCoordfEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_FLOAT}; +static const int glFogCoorddEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_DOUBLE}; +static const int glTangent3bEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR}; +static const int glTangent3bvEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3CHAR}; +static const int glTangent3dEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glTangent3dvEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3DOUBLE}; +static const int glTangent3fEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glTangent3fvEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3FLOAT}; +static const int glTangent3iEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glTangent3ivEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glTangent3sEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glTangent3svEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glBinormal3bEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR}; +static const int glBinormal3bvEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3CHAR}; +static const int glBinormal3dEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glBinormal3dvEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3DOUBLE}; +static const int glBinormal3fEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glBinormal3fvEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3FLOAT}; +static const int glBinormal3iEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glBinormal3ivEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glBinormal3sEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glBinormal3svEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glBlendFuncSeparateEXT_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glVertexWeightfEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_FLOAT}; +static const int glFlushVertexArrayRangeNV_signature[] = { TYPE_NONE, 0, 0}; +static const int glCombinerParameterfNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glCombinerParameteriNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glCombinerInputNV_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glCombinerOutputNV_signature[] = { TYPE_NONE, 0, 10, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR}; +static const int glFinalCombinerInputNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glResizeBuffersMESA_signature[] = { TYPE_NONE, 0, 0}; +static const int glWindowPos2dMESA_signature[] = { TYPE_NONE, 0, 2, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glWindowPos2dvMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_2DOUBLE}; +static const int glWindowPos2fMESA_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_FLOAT}; +static const int glWindowPos2fvMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_2FLOAT}; +static const int glWindowPos2iMESA_signature[] = { TYPE_NONE, 0, 2, TYPE_INT, TYPE_INT}; +static const int glWindowPos2ivMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_2INT}; +static const int glWindowPos2sMESA_signature[] = { TYPE_NONE, 0, 2, TYPE_SHORT, TYPE_SHORT}; +static const int glWindowPos2svMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_2SHORT}; +static const int glWindowPos3dMESA_signature[] = { TYPE_NONE, 0, 3, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glWindowPos3dvMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_3DOUBLE}; +static const int glWindowPos3fMESA_signature[] = { TYPE_NONE, 0, 3, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glWindowPos3fvMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_3FLOAT}; +static const int glWindowPos3iMESA_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glWindowPos3ivMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_3INT}; +static const int glWindowPos3sMESA_signature[] = { TYPE_NONE, 0, 3, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glWindowPos3svMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_3SHORT}; +static const int glWindowPos4dMESA_signature[] = { TYPE_NONE, 0, 4, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glWindowPos4dvMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_4DOUBLE}; +static const int glWindowPos4fMESA_signature[] = { TYPE_NONE, 0, 4, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glWindowPos4fvMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_4FLOAT}; +static const int glWindowPos4iMESA_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glWindowPos4ivMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_4INT}; +static const int glWindowPos4sMESA_signature[] = { TYPE_NONE, 0, 4, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glWindowPos4svMESA_signature[] = { TYPE_NONE, 0, 1, TYPE_4SHORT}; +static const int glSampleMaskEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_FLOAT, TYPE_UNSIGNED_CHAR}; +static const int glSamplePatternEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glTextureColorMaskSGIS_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR}; +static const int glIsFenceNV_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glTestFenceNV_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glFinishFenceNV_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glSetFenceNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glEvalMapsNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glBindProgramNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glIsProgramNV_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glProgramParameter4dNV_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glProgramParameter4dvNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_4DOUBLE}; +static const int glProgramParameter4fNV_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glProgramParameter4fvNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_4FLOAT}; +static const int glProgramParameters4dvNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_4DOUBLE}; +static const int glProgramParameters4fvNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_4FLOAT}; +static const int glTrackMatrixNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glVertexAttrib1dNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_DOUBLE}; +static const int glVertexAttrib1dvNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1DOUBLE}; +static const int glVertexAttrib1fNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glVertexAttrib1fvNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1FLOAT}; +static const int glVertexAttrib1sNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_SHORT}; +static const int glVertexAttrib1svNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1SHORT}; +static const int glVertexAttrib2dNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertexAttrib2dvNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2DOUBLE}; +static const int glVertexAttrib2fNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertexAttrib2fvNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2FLOAT}; +static const int glVertexAttrib2sNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT}; +static const int glVertexAttrib2svNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2SHORT}; +static const int glVertexAttrib3dNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertexAttrib3dvNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3DOUBLE}; +static const int glVertexAttrib3fNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertexAttrib3fvNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3FLOAT}; +static const int glVertexAttrib3sNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glVertexAttrib3svNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3SHORT}; +static const int glVertexAttrib4dNV_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertexAttrib4dvNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4DOUBLE}; +static const int glVertexAttrib4fNV_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertexAttrib4fvNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4FLOAT}; +static const int glVertexAttrib4sNV_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glVertexAttrib4svNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4SHORT}; +static const int glVertexAttrib4ubNV_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR, TYPE_UNSIGNED_CHAR}; +static const int glVertexAttrib4ubvNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4CHAR}; +static const int glVertexAttribs1dvNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_1DOUBLE}; +static const int glVertexAttribs1fvNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_1FLOAT}; +static const int glVertexAttribs1svNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_1SHORT}; +static const int glVertexAttribs2dvNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_2DOUBLE}; +static const int glVertexAttribs2fvNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_2FLOAT}; +static const int glVertexAttribs2svNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_2SHORT}; +static const int glVertexAttribs3dvNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_3DOUBLE}; +static const int glVertexAttribs3fvNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_3FLOAT}; +static const int glVertexAttribs3svNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_3SHORT}; +static const int glVertexAttribs4dvNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_4DOUBLE}; +static const int glVertexAttribs4fvNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_4FLOAT}; +static const int glVertexAttribs4svNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_4SHORT}; +static const int glVertexAttribs4ubvNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_4CHAR}; +static const int glGenFragmentShadersATI_signature[] = { TYPE_UNSIGNED_INT, 0, 1, TYPE_UNSIGNED_INT}; +static const int glBindFragmentShaderATI_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glDeleteFragmentShaderATI_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glBeginFragmentShaderATI_signature[] = { TYPE_NONE, 0, 0}; +static const int glEndFragmentShaderATI_signature[] = { TYPE_NONE, 0, 0}; +static const int glPassTexCoordATI_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glSampleMapATI_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glColorFragmentOp1ATI_signature[] = { TYPE_NONE, 0, 7, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glColorFragmentOp2ATI_signature[] = { TYPE_NONE, 0, 10, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glColorFragmentOp3ATI_signature[] = { TYPE_NONE, 0, 13, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glAlphaFragmentOp1ATI_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glAlphaFragmentOp2ATI_signature[] = { TYPE_NONE, 0, 9, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glAlphaFragmentOp3ATI_signature[] = { TYPE_NONE, 0, 12, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glPNTrianglesiATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glPNTrianglesfATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glIsObjectBufferATI_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glFreeObjectBufferATI_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glArrayObjectATI_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glVariantArrayObjectATI_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glBeginVertexShaderEXT_signature[] = { TYPE_NONE, 0, 0}; +static const int glEndVertexShaderEXT_signature[] = { TYPE_NONE, 0, 0}; +static const int glBindVertexShaderEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glGenVertexShadersEXT_signature[] = { TYPE_UNSIGNED_INT, 0, 1, TYPE_UNSIGNED_INT}; +static const int glDeleteVertexShaderEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glShaderOp1EXT_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glShaderOp2EXT_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glShaderOp3EXT_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glSwizzleEXT_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glWriteMaskEXT_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glInsertComponentEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glExtractComponentEXT_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glGenSymbolsEXT_signature[] = { TYPE_UNSIGNED_INT, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glEnableVariantClientStateEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glDisableVariantClientStateEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glBindLightParameterEXT_signature[] = { TYPE_UNSIGNED_INT, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glBindMaterialParameterEXT_signature[] = { TYPE_UNSIGNED_INT, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glBindTexGenParameterEXT_signature[] = { TYPE_UNSIGNED_INT, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glBindTextureUnitParameterEXT_signature[] = { TYPE_UNSIGNED_INT, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glBindParameterEXT_signature[] = { TYPE_UNSIGNED_INT, 0, 1, TYPE_UNSIGNED_INT}; +static const int glIsVariantEnabledEXT_signature[] = { TYPE_UNSIGNED_CHAR, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glVertexStream1sATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_SHORT}; +static const int glVertexStream1svATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1SHORT}; +static const int glVertexStream1iATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glVertexStream1ivATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1INT}; +static const int glVertexStream1fATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glVertexStream1fvATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1FLOAT}; +static const int glVertexStream1dATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_DOUBLE}; +static const int glVertexStream1dvATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_1DOUBLE}; +static const int glVertexStream2sATI_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT}; +static const int glVertexStream2svATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2SHORT}; +static const int glVertexStream2iATI_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT}; +static const int glVertexStream2ivATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2INT}; +static const int glVertexStream2fATI_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertexStream2fvATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2FLOAT}; +static const int glVertexStream2dATI_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertexStream2dvATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_2DOUBLE}; +static const int glVertexStream3sATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glVertexStream3svATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3SHORT}; +static const int glVertexStream3iATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glVertexStream3ivATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3INT}; +static const int glVertexStream3fATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertexStream3fvATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3FLOAT}; +static const int glVertexStream3dATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertexStream3dvATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3DOUBLE}; +static const int glVertexStream4sATI_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glVertexStream4svATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4SHORT}; +static const int glVertexStream4iATI_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glVertexStream4ivATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4INT}; +static const int glVertexStream4fATI_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glVertexStream4fvATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4FLOAT}; +static const int glVertexStream4dATI_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glVertexStream4dvATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_4DOUBLE}; +static const int glNormalStream3bATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR}; +static const int glNormalStream3bvATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3CHAR}; +static const int glNormalStream3sATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT}; +static const int glNormalStream3svATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3SHORT}; +static const int glNormalStream3iATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT, TYPE_INT}; +static const int glNormalStream3ivATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3INT}; +static const int glNormalStream3fATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_FLOAT, TYPE_FLOAT, TYPE_FLOAT}; +static const int glNormalStream3fvATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3FLOAT}; +static const int glNormalStream3dATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_DOUBLE, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glNormalStream3dvATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_3DOUBLE}; +static const int glClientActiveVertexStreamATI_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glVertexBlendEnviATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glVertexBlendEnvfATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_FLOAT}; +static const int glDrawElementArrayATI_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glDrawRangeElementArrayATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glIsOcclusionQueryNV_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glBeginOcclusionQueryNV_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glEndOcclusionQueryNV_signature[] = { TYPE_NONE, 0, 0}; +static const int glPointParameteriNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glActiveStencilFaceEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glVertex2hNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glVertex3hNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glVertex4hNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glNormal3hNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glColor3hNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glColor4hNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glTexCoord1hNV_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_SHORT}; +static const int glTexCoord2hNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glTexCoord3hNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glTexCoord4hNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glMultiTexCoord1hNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_SHORT}; +static const int glMultiTexCoord2hNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glMultiTexCoord3hNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glMultiTexCoord4hNV_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glFogCoordhNV_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_SHORT}; +static const int glSecondaryColor3hNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glVertexWeighthNV_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_SHORT}; +static const int glVertexAttrib1hNV_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_SHORT}; +static const int glVertexAttrib2hNV_signature[] = { TYPE_NONE, 0, 3, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glVertexAttrib3hNV_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glVertexAttrib4hNV_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT, TYPE_UNSIGNED_SHORT}; +static const int glFlushPixelDataRangeNV_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glPrimitiveRestartNV_signature[] = { TYPE_NONE, 0, 0}; +static const int glPrimitiveRestartIndexNV_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glUnmapObjectBufferATI_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +static const int glStencilOpSeparateATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glStencilFuncSeparateATI_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT}; +static const int glVertexAttribArrayObjectATI_signature[] = { TYPE_NONE, 0, 7, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_CHAR, TYPE_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glDepthBoundsEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_DOUBLE, TYPE_DOUBLE}; +static const int glBlendEquationSeparateEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glIsRenderbufferEXT_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glBindRenderbufferEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glRenderbufferStorageEXT_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT}; +static const int glIsFramebufferEXT_signature[] = { TYPE_UNSIGNED_CHAR, 0, 1, TYPE_UNSIGNED_INT}; +static const int glBindFramebufferEXT_signature[] = { TYPE_NONE, 0, 2, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glCheckFramebufferStatusEXT_signature[] = { TYPE_UNSIGNED_INT, 0, 1, TYPE_UNSIGNED_INT}; +static const int glFramebufferTexture1DEXT_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glFramebufferTexture2DEXT_signature[] = { TYPE_NONE, 0, 5, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT}; +static const int glFramebufferTexture3DEXT_signature[] = { TYPE_NONE, 0, 6, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_INT, TYPE_INT}; +static const int glFramebufferRenderbufferEXT_signature[] = { TYPE_NONE, 0, 4, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT, TYPE_UNSIGNED_INT}; +static const int glGenerateMipmapEXT_signature[] = { TYPE_NONE, 0, 1, TYPE_UNSIGNED_INT}; +#undef MAGIC_MACRO +#define MAGIC_MACRO(x) COMPOSE(x,_signature) +static const int* tab_opengl_calls[GL_N_CALLS] = +{ +#include "gl_func_perso.h" + glClearIndex_signature, + glClearColor_signature, + glClear_signature, + glIndexMask_signature, + glColorMask_signature, + glAlphaFunc_signature, + glBlendFunc_signature, + glLogicOp_signature, + glCullFace_signature, + glFrontFace_signature, + glPointSize_signature, + glLineWidth_signature, + glLineStipple_signature, + glPolygonMode_signature, + glPolygonOffset_signature, + glEdgeFlag_signature, + glScissor_signature, + glDrawBuffer_signature, + glReadBuffer_signature, + glEnable_signature, + glDisable_signature, + glIsEnabled_signature, + glEnableClientState_signature, + glDisableClientState_signature, + glPushAttrib_signature, + glPopAttrib_signature, + glPushClientAttrib_signature, + glPopClientAttrib_signature, + glRenderMode_signature, + glGetError_signature, + glFinish_signature, + glFlush_signature, + glHint_signature, + glClearDepth_signature, + glDepthFunc_signature, + glDepthMask_signature, + glDepthRange_signature, + glClearAccum_signature, + glAccum_signature, + glMatrixMode_signature, + glOrtho_signature, + glFrustum_signature, + glViewport_signature, + glPushMatrix_signature, + glPopMatrix_signature, + glLoadIdentity_signature, + glLoadMatrixd_signature, + glLoadMatrixf_signature, + glMultMatrixd_signature, + glMultMatrixf_signature, + glRotated_signature, + glRotatef_signature, + glScaled_signature, + glScalef_signature, + glTranslated_signature, + glTranslatef_signature, + glIsList_signature, + glDeleteLists_signature, + glGenLists_signature, + glNewList_signature, + glEndList_signature, + glCallList_signature, + glListBase_signature, + glBegin_signature, + glEnd_signature, + glVertex2d_signature, + glVertex2f_signature, + glVertex2i_signature, + glVertex2s_signature, + glVertex3d_signature, + glVertex3f_signature, + glVertex3i_signature, + glVertex3s_signature, + glVertex4d_signature, + glVertex4f_signature, + glVertex4i_signature, + glVertex4s_signature, + glVertex2dv_signature, + glVertex2fv_signature, + glVertex2iv_signature, + glVertex2sv_signature, + glVertex3dv_signature, + glVertex3fv_signature, + glVertex3iv_signature, + glVertex3sv_signature, + glVertex4dv_signature, + glVertex4fv_signature, + glVertex4iv_signature, + glVertex4sv_signature, + glNormal3b_signature, + glNormal3d_signature, + glNormal3f_signature, + glNormal3i_signature, + glNormal3s_signature, + glNormal3bv_signature, + glNormal3dv_signature, + glNormal3fv_signature, + glNormal3iv_signature, + glNormal3sv_signature, + glIndexd_signature, + glIndexf_signature, + glIndexi_signature, + glIndexs_signature, + glIndexub_signature, + glColor3b_signature, + glColor3d_signature, + glColor3f_signature, + glColor3i_signature, + glColor3s_signature, + glColor3ub_signature, + glColor3ui_signature, + glColor3us_signature, + glColor4b_signature, + glColor4d_signature, + glColor4f_signature, + glColor4i_signature, + glColor4s_signature, + glColor4ub_signature, + glColor4ui_signature, + glColor4us_signature, + glColor3bv_signature, + glColor3dv_signature, + glColor3fv_signature, + glColor3iv_signature, + glColor3sv_signature, + glColor3ubv_signature, + glColor3uiv_signature, + glColor3usv_signature, + glColor4bv_signature, + glColor4dv_signature, + glColor4fv_signature, + glColor4iv_signature, + glColor4sv_signature, + glColor4ubv_signature, + glColor4uiv_signature, + glColor4usv_signature, + glTexCoord1d_signature, + glTexCoord1f_signature, + glTexCoord1i_signature, + glTexCoord1s_signature, + glTexCoord2d_signature, + glTexCoord2f_signature, + glTexCoord2i_signature, + glTexCoord2s_signature, + glTexCoord3d_signature, + glTexCoord3f_signature, + glTexCoord3i_signature, + glTexCoord3s_signature, + glTexCoord4d_signature, + glTexCoord4f_signature, + glTexCoord4i_signature, + glTexCoord4s_signature, + glTexCoord1dv_signature, + glTexCoord1fv_signature, + glTexCoord1iv_signature, + glTexCoord1sv_signature, + glTexCoord2dv_signature, + glTexCoord2fv_signature, + glTexCoord2iv_signature, + glTexCoord2sv_signature, + glTexCoord3dv_signature, + glTexCoord3fv_signature, + glTexCoord3iv_signature, + glTexCoord3sv_signature, + glTexCoord4dv_signature, + glTexCoord4fv_signature, + glTexCoord4iv_signature, + glTexCoord4sv_signature, + glRasterPos2d_signature, + glRasterPos2f_signature, + glRasterPos2i_signature, + glRasterPos2s_signature, + glRasterPos3d_signature, + glRasterPos3f_signature, + glRasterPos3i_signature, + glRasterPos3s_signature, + glRasterPos4d_signature, + glRasterPos4f_signature, + glRasterPos4i_signature, + glRasterPos4s_signature, + glRasterPos2dv_signature, + glRasterPos2fv_signature, + glRasterPos2iv_signature, + glRasterPos2sv_signature, + glRasterPos3dv_signature, + glRasterPos3fv_signature, + glRasterPos3iv_signature, + glRasterPos3sv_signature, + glRasterPos4dv_signature, + glRasterPos4fv_signature, + glRasterPos4iv_signature, + glRasterPos4sv_signature, + glRectd_signature, + glRectf_signature, + glRecti_signature, + glRects_signature, + glArrayElement_signature, + glShadeModel_signature, + glLightf_signature, + glLighti_signature, + glLightModelf_signature, + glLightModeli_signature, + glMaterialf_signature, + glMateriali_signature, + glColorMaterial_signature, + glPixelZoom_signature, + glPixelStoref_signature, + glPixelStorei_signature, + glPixelTransferf_signature, + glPixelTransferi_signature, + glCopyPixels_signature, + glStencilFunc_signature, + glStencilMask_signature, + glStencilOp_signature, + glClearStencil_signature, + glTexGend_signature, + glTexGenf_signature, + glTexGeni_signature, + glTexEnvf_signature, + glTexEnvi_signature, + glTexParameterf_signature, + glTexParameteri_signature, + glBindTexture_signature, + glIsTexture_signature, + glCopyTexImage1D_signature, + glCopyTexImage2D_signature, + glCopyTexSubImage1D_signature, + glCopyTexSubImage2D_signature, + glEvalCoord1d_signature, + glEvalCoord1f_signature, + glEvalCoord1dv_signature, + glEvalCoord1fv_signature, + glEvalCoord2d_signature, + glEvalCoord2f_signature, + glEvalCoord2dv_signature, + glEvalCoord2fv_signature, + glMapGrid1d_signature, + glMapGrid1f_signature, + glMapGrid2d_signature, + glMapGrid2f_signature, + glEvalPoint1_signature, + glEvalPoint2_signature, + glEvalMesh1_signature, + glEvalMesh2_signature, + glFogf_signature, + glFogi_signature, + glPassThrough_signature, + glInitNames_signature, + glLoadName_signature, + glPushName_signature, + glPopName_signature, + glCopyTexSubImage3D_signature, + glCopyColorSubTable_signature, + glCopyColorTable_signature, + glBlendEquation_signature, + glBlendColor_signature, + glHistogram_signature, + glResetHistogram_signature, + glMinmax_signature, + glResetMinmax_signature, + glConvolutionParameterf_signature, + glConvolutionParameteri_signature, + glCopyConvolutionFilter1D_signature, + glCopyConvolutionFilter2D_signature, + glActiveTexture_signature, + glClientActiveTexture_signature, + glMultiTexCoord1d_signature, + glMultiTexCoord1dv_signature, + glMultiTexCoord1f_signature, + glMultiTexCoord1fv_signature, + glMultiTexCoord1i_signature, + glMultiTexCoord1iv_signature, + glMultiTexCoord1s_signature, + glMultiTexCoord1sv_signature, + glMultiTexCoord2d_signature, + glMultiTexCoord2dv_signature, + glMultiTexCoord2f_signature, + glMultiTexCoord2fv_signature, + glMultiTexCoord2i_signature, + glMultiTexCoord2iv_signature, + glMultiTexCoord2s_signature, + glMultiTexCoord2sv_signature, + glMultiTexCoord3d_signature, + glMultiTexCoord3dv_signature, + glMultiTexCoord3f_signature, + glMultiTexCoord3fv_signature, + glMultiTexCoord3i_signature, + glMultiTexCoord3iv_signature, + glMultiTexCoord3s_signature, + glMultiTexCoord3sv_signature, + glMultiTexCoord4d_signature, + glMultiTexCoord4dv_signature, + glMultiTexCoord4f_signature, + glMultiTexCoord4fv_signature, + glMultiTexCoord4i_signature, + glMultiTexCoord4iv_signature, + glMultiTexCoord4s_signature, + glMultiTexCoord4sv_signature, + glLoadTransposeMatrixd_signature, + glLoadTransposeMatrixf_signature, + glMultTransposeMatrixd_signature, + glMultTransposeMatrixf_signature, + glSampleCoverage_signature, + glActiveTextureARB_signature, + glClientActiveTextureARB_signature, + glMultiTexCoord1dARB_signature, + glMultiTexCoord1dvARB_signature, + glMultiTexCoord1fARB_signature, + glMultiTexCoord1fvARB_signature, + glMultiTexCoord1iARB_signature, + glMultiTexCoord1ivARB_signature, + glMultiTexCoord1sARB_signature, + glMultiTexCoord1svARB_signature, + glMultiTexCoord2dARB_signature, + glMultiTexCoord2dvARB_signature, + glMultiTexCoord2fARB_signature, + glMultiTexCoord2fvARB_signature, + glMultiTexCoord2iARB_signature, + glMultiTexCoord2ivARB_signature, + glMultiTexCoord2sARB_signature, + glMultiTexCoord2svARB_signature, + glMultiTexCoord3dARB_signature, + glMultiTexCoord3dvARB_signature, + glMultiTexCoord3fARB_signature, + glMultiTexCoord3fvARB_signature, + glMultiTexCoord3iARB_signature, + glMultiTexCoord3ivARB_signature, + glMultiTexCoord3sARB_signature, + glMultiTexCoord3svARB_signature, + glMultiTexCoord4dARB_signature, + glMultiTexCoord4dvARB_signature, + glMultiTexCoord4fARB_signature, + glMultiTexCoord4fvARB_signature, + glMultiTexCoord4iARB_signature, + glMultiTexCoord4ivARB_signature, + glMultiTexCoord4sARB_signature, + glMultiTexCoord4svARB_signature, + glLoadTransposeMatrixfARB_signature, + glLoadTransposeMatrixdARB_signature, + glMultTransposeMatrixfARB_signature, + glMultTransposeMatrixdARB_signature, + glSampleCoverageARB_signature, + glPointParameterfARB_signature, + glVertexBlendARB_signature, + glCurrentPaletteMatrixARB_signature, + glWindowPos2dARB_signature, + glWindowPos2dvARB_signature, + glWindowPos2fARB_signature, + glWindowPos2fvARB_signature, + glWindowPos2iARB_signature, + glWindowPos2ivARB_signature, + glWindowPos2sARB_signature, + glWindowPos2svARB_signature, + glWindowPos3dARB_signature, + glWindowPos3dvARB_signature, + glWindowPos3fARB_signature, + glWindowPos3fvARB_signature, + glWindowPos3iARB_signature, + glWindowPos3ivARB_signature, + glWindowPos3sARB_signature, + glWindowPos3svARB_signature, + glVertexAttrib1dARB_signature, + glVertexAttrib1dvARB_signature, + glVertexAttrib1fARB_signature, + glVertexAttrib1fvARB_signature, + glVertexAttrib1sARB_signature, + glVertexAttrib1svARB_signature, + glVertexAttrib2dARB_signature, + glVertexAttrib2dvARB_signature, + glVertexAttrib2fARB_signature, + glVertexAttrib2fvARB_signature, + glVertexAttrib2sARB_signature, + glVertexAttrib2svARB_signature, + glVertexAttrib3dARB_signature, + glVertexAttrib3dvARB_signature, + glVertexAttrib3fARB_signature, + glVertexAttrib3fvARB_signature, + glVertexAttrib3sARB_signature, + glVertexAttrib3svARB_signature, + glVertexAttrib4NbvARB_signature, + glVertexAttrib4NivARB_signature, + glVertexAttrib4NsvARB_signature, + glVertexAttrib4NubARB_signature, + glVertexAttrib4NubvARB_signature, + glVertexAttrib4NuivARB_signature, + glVertexAttrib4NusvARB_signature, + glVertexAttrib4bvARB_signature, + glVertexAttrib4dARB_signature, + glVertexAttrib4dvARB_signature, + glVertexAttrib4fARB_signature, + glVertexAttrib4fvARB_signature, + glVertexAttrib4ivARB_signature, + glVertexAttrib4sARB_signature, + glVertexAttrib4svARB_signature, + glVertexAttrib4ubvARB_signature, + glVertexAttrib4uivARB_signature, + glVertexAttrib4usvARB_signature, + glEnableVertexAttribArrayARB_signature, + glDisableVertexAttribArrayARB_signature, + glBindProgramARB_signature, + glProgramEnvParameter4dARB_signature, + glProgramEnvParameter4dvARB_signature, + glProgramEnvParameter4fARB_signature, + glProgramEnvParameter4fvARB_signature, + glProgramLocalParameter4dARB_signature, + glProgramLocalParameter4dvARB_signature, + glProgramLocalParameter4fARB_signature, + glProgramLocalParameter4fvARB_signature, + glIsProgramARB_signature, + glBindBufferARB_signature, + glIsBufferARB_signature, + glUnmapBufferARB_signature, + glIsQueryARB_signature, + glBeginQueryARB_signature, + glEndQueryARB_signature, + glDeleteObjectARB_signature, + glGetHandleARB_signature, + glDetachObjectARB_signature, + glCreateShaderObjectARB_signature, + glCompileShaderARB_signature, + glCreateProgramObjectARB_signature, + glAttachObjectARB_signature, + glLinkProgramARB_signature, + glUseProgramObjectARB_signature, + glValidateProgramARB_signature, + glUniform1fARB_signature, + glUniform2fARB_signature, + glUniform3fARB_signature, + glUniform4fARB_signature, + glUniform1iARB_signature, + glUniform2iARB_signature, + glUniform3iARB_signature, + glUniform4iARB_signature, + glUniform1fvARB_signature, + glUniform2fvARB_signature, + glUniform3fvARB_signature, + glUniform4fvARB_signature, + glUniform1ivARB_signature, + glUniform2ivARB_signature, + glUniform3ivARB_signature, + glUniform4ivARB_signature, + glUniformMatrix2fvARB_signature, + glUniformMatrix3fvARB_signature, + glUniformMatrix4fvARB_signature, + glClampColorARB_signature, + glBlendColorEXT_signature, + glPolygonOffsetEXT_signature, + glCopyTexImage1DEXT_signature, + glCopyTexImage2DEXT_signature, + glCopyTexSubImage1DEXT_signature, + glCopyTexSubImage2DEXT_signature, + glCopyTexSubImage3DEXT_signature, + glHistogramEXT_signature, + glMinmaxEXT_signature, + glResetHistogramEXT_signature, + glResetMinmaxEXT_signature, + glConvolutionParameterfEXT_signature, + glConvolutionParameteriEXT_signature, + glCopyConvolutionFilter1DEXT_signature, + glCopyConvolutionFilter2DEXT_signature, + glCopyColorTableSGI_signature, + glPixelTexGenSGIX_signature, + glPixelTexGenParameteriSGIS_signature, + glPixelTexGenParameterfSGIS_signature, + glBindTextureEXT_signature, + glIsTextureEXT_signature, + glSampleMaskSGIS_signature, + glSamplePatternSGIS_signature, + glArrayElementEXT_signature, + glBlendEquationEXT_signature, + glSpriteParameterfSGIX_signature, + glSpriteParameteriSGIX_signature, + glPointParameterfEXT_signature, + glPointParameterfSGIS_signature, + glGetInstrumentsSGIX_signature, + glReadInstrumentsSGIX_signature, + glStartInstrumentsSGIX_signature, + glStopInstrumentsSGIX_signature, + glFrameZoomSGIX_signature, + glTagSampleBufferSGIX_signature, + glDeformSGIX_signature, + glLoadIdentityDeformationMapSGIX_signature, + glFlushRasterSGIX_signature, + glCopyColorSubTableEXT_signature, + glListParameterfSGIX_signature, + glListParameteriSGIX_signature, + glIndexMaterialEXT_signature, + glIndexFuncEXT_signature, + glLockArraysEXT_signature, + glUnlockArraysEXT_signature, + glFragmentColorMaterialSGIX_signature, + glFragmentLightfSGIX_signature, + glFragmentLightiSGIX_signature, + glFragmentLightModelfSGIX_signature, + glFragmentLightModeliSGIX_signature, + glFragmentMaterialfSGIX_signature, + glFragmentMaterialiSGIX_signature, + glLightEnviSGIX_signature, + glApplyTextureEXT_signature, + glTextureLightEXT_signature, + glTextureMaterialEXT_signature, + glAsyncMarkerSGIX_signature, + glGenAsyncMarkersSGIX_signature, + glDeleteAsyncMarkersSGIX_signature, + glIsAsyncMarkerSGIX_signature, + glPixelTransformParameteriEXT_signature, + glPixelTransformParameterfEXT_signature, + glSecondaryColor3bEXT_signature, + glSecondaryColor3bvEXT_signature, + glSecondaryColor3dEXT_signature, + glSecondaryColor3dvEXT_signature, + glSecondaryColor3fEXT_signature, + glSecondaryColor3fvEXT_signature, + glSecondaryColor3iEXT_signature, + glSecondaryColor3ivEXT_signature, + glSecondaryColor3sEXT_signature, + glSecondaryColor3svEXT_signature, + glSecondaryColor3ubEXT_signature, + glSecondaryColor3ubvEXT_signature, + glSecondaryColor3uiEXT_signature, + glSecondaryColor3uivEXT_signature, + glSecondaryColor3usEXT_signature, + glSecondaryColor3usvEXT_signature, + glTextureNormalEXT_signature, + glFogCoordfEXT_signature, + glFogCoorddEXT_signature, + glTangent3bEXT_signature, + glTangent3bvEXT_signature, + glTangent3dEXT_signature, + glTangent3dvEXT_signature, + glTangent3fEXT_signature, + glTangent3fvEXT_signature, + glTangent3iEXT_signature, + glTangent3ivEXT_signature, + glTangent3sEXT_signature, + glTangent3svEXT_signature, + glBinormal3bEXT_signature, + glBinormal3bvEXT_signature, + glBinormal3dEXT_signature, + glBinormal3dvEXT_signature, + glBinormal3fEXT_signature, + glBinormal3fvEXT_signature, + glBinormal3iEXT_signature, + glBinormal3ivEXT_signature, + glBinormal3sEXT_signature, + glBinormal3svEXT_signature, + glBlendFuncSeparateEXT_signature, + glVertexWeightfEXT_signature, + glFlushVertexArrayRangeNV_signature, + glCombinerParameterfNV_signature, + glCombinerParameteriNV_signature, + glCombinerInputNV_signature, + glCombinerOutputNV_signature, + glFinalCombinerInputNV_signature, + glResizeBuffersMESA_signature, + glWindowPos2dMESA_signature, + glWindowPos2dvMESA_signature, + glWindowPos2fMESA_signature, + glWindowPos2fvMESA_signature, + glWindowPos2iMESA_signature, + glWindowPos2ivMESA_signature, + glWindowPos2sMESA_signature, + glWindowPos2svMESA_signature, + glWindowPos3dMESA_signature, + glWindowPos3dvMESA_signature, + glWindowPos3fMESA_signature, + glWindowPos3fvMESA_signature, + glWindowPos3iMESA_signature, + glWindowPos3ivMESA_signature, + glWindowPos3sMESA_signature, + glWindowPos3svMESA_signature, + glWindowPos4dMESA_signature, + glWindowPos4dvMESA_signature, + glWindowPos4fMESA_signature, + glWindowPos4fvMESA_signature, + glWindowPos4iMESA_signature, + glWindowPos4ivMESA_signature, + glWindowPos4sMESA_signature, + glWindowPos4svMESA_signature, + glSampleMaskEXT_signature, + glSamplePatternEXT_signature, + glTextureColorMaskSGIS_signature, + glIsFenceNV_signature, + glTestFenceNV_signature, + glFinishFenceNV_signature, + glSetFenceNV_signature, + glEvalMapsNV_signature, + glBindProgramNV_signature, + glIsProgramNV_signature, + glProgramParameter4dNV_signature, + glProgramParameter4dvNV_signature, + glProgramParameter4fNV_signature, + glProgramParameter4fvNV_signature, + glProgramParameters4dvNV_signature, + glProgramParameters4fvNV_signature, + glTrackMatrixNV_signature, + glVertexAttrib1dNV_signature, + glVertexAttrib1dvNV_signature, + glVertexAttrib1fNV_signature, + glVertexAttrib1fvNV_signature, + glVertexAttrib1sNV_signature, + glVertexAttrib1svNV_signature, + glVertexAttrib2dNV_signature, + glVertexAttrib2dvNV_signature, + glVertexAttrib2fNV_signature, + glVertexAttrib2fvNV_signature, + glVertexAttrib2sNV_signature, + glVertexAttrib2svNV_signature, + glVertexAttrib3dNV_signature, + glVertexAttrib3dvNV_signature, + glVertexAttrib3fNV_signature, + glVertexAttrib3fvNV_signature, + glVertexAttrib3sNV_signature, + glVertexAttrib3svNV_signature, + glVertexAttrib4dNV_signature, + glVertexAttrib4dvNV_signature, + glVertexAttrib4fNV_signature, + glVertexAttrib4fvNV_signature, + glVertexAttrib4sNV_signature, + glVertexAttrib4svNV_signature, + glVertexAttrib4ubNV_signature, + glVertexAttrib4ubvNV_signature, + glVertexAttribs1dvNV_signature, + glVertexAttribs1fvNV_signature, + glVertexAttribs1svNV_signature, + glVertexAttribs2dvNV_signature, + glVertexAttribs2fvNV_signature, + glVertexAttribs2svNV_signature, + glVertexAttribs3dvNV_signature, + glVertexAttribs3fvNV_signature, + glVertexAttribs3svNV_signature, + glVertexAttribs4dvNV_signature, + glVertexAttribs4fvNV_signature, + glVertexAttribs4svNV_signature, + glVertexAttribs4ubvNV_signature, + glGenFragmentShadersATI_signature, + glBindFragmentShaderATI_signature, + glDeleteFragmentShaderATI_signature, + glBeginFragmentShaderATI_signature, + glEndFragmentShaderATI_signature, + glPassTexCoordATI_signature, + glSampleMapATI_signature, + glColorFragmentOp1ATI_signature, + glColorFragmentOp2ATI_signature, + glColorFragmentOp3ATI_signature, + glAlphaFragmentOp1ATI_signature, + glAlphaFragmentOp2ATI_signature, + glAlphaFragmentOp3ATI_signature, + glPNTrianglesiATI_signature, + glPNTrianglesfATI_signature, + glIsObjectBufferATI_signature, + glFreeObjectBufferATI_signature, + glArrayObjectATI_signature, + glVariantArrayObjectATI_signature, + glBeginVertexShaderEXT_signature, + glEndVertexShaderEXT_signature, + glBindVertexShaderEXT_signature, + glGenVertexShadersEXT_signature, + glDeleteVertexShaderEXT_signature, + glShaderOp1EXT_signature, + glShaderOp2EXT_signature, + glShaderOp3EXT_signature, + glSwizzleEXT_signature, + glWriteMaskEXT_signature, + glInsertComponentEXT_signature, + glExtractComponentEXT_signature, + glGenSymbolsEXT_signature, + glEnableVariantClientStateEXT_signature, + glDisableVariantClientStateEXT_signature, + glBindLightParameterEXT_signature, + glBindMaterialParameterEXT_signature, + glBindTexGenParameterEXT_signature, + glBindTextureUnitParameterEXT_signature, + glBindParameterEXT_signature, + glIsVariantEnabledEXT_signature, + glVertexStream1sATI_signature, + glVertexStream1svATI_signature, + glVertexStream1iATI_signature, + glVertexStream1ivATI_signature, + glVertexStream1fATI_signature, + glVertexStream1fvATI_signature, + glVertexStream1dATI_signature, + glVertexStream1dvATI_signature, + glVertexStream2sATI_signature, + glVertexStream2svATI_signature, + glVertexStream2iATI_signature, + glVertexStream2ivATI_signature, + glVertexStream2fATI_signature, + glVertexStream2fvATI_signature, + glVertexStream2dATI_signature, + glVertexStream2dvATI_signature, + glVertexStream3sATI_signature, + glVertexStream3svATI_signature, + glVertexStream3iATI_signature, + glVertexStream3ivATI_signature, + glVertexStream3fATI_signature, + glVertexStream3fvATI_signature, + glVertexStream3dATI_signature, + glVertexStream3dvATI_signature, + glVertexStream4sATI_signature, + glVertexStream4svATI_signature, + glVertexStream4iATI_signature, + glVertexStream4ivATI_signature, + glVertexStream4fATI_signature, + glVertexStream4fvATI_signature, + glVertexStream4dATI_signature, + glVertexStream4dvATI_signature, + glNormalStream3bATI_signature, + glNormalStream3bvATI_signature, + glNormalStream3sATI_signature, + glNormalStream3svATI_signature, + glNormalStream3iATI_signature, + glNormalStream3ivATI_signature, + glNormalStream3fATI_signature, + glNormalStream3fvATI_signature, + glNormalStream3dATI_signature, + glNormalStream3dvATI_signature, + glClientActiveVertexStreamATI_signature, + glVertexBlendEnviATI_signature, + glVertexBlendEnvfATI_signature, + glDrawElementArrayATI_signature, + glDrawRangeElementArrayATI_signature, + glIsOcclusionQueryNV_signature, + glBeginOcclusionQueryNV_signature, + glEndOcclusionQueryNV_signature, + glPointParameteriNV_signature, + glActiveStencilFaceEXT_signature, + glVertex2hNV_signature, + glVertex3hNV_signature, + glVertex4hNV_signature, + glNormal3hNV_signature, + glColor3hNV_signature, + glColor4hNV_signature, + glTexCoord1hNV_signature, + glTexCoord2hNV_signature, + glTexCoord3hNV_signature, + glTexCoord4hNV_signature, + glMultiTexCoord1hNV_signature, + glMultiTexCoord2hNV_signature, + glMultiTexCoord3hNV_signature, + glMultiTexCoord4hNV_signature, + glFogCoordhNV_signature, + glSecondaryColor3hNV_signature, + glVertexWeighthNV_signature, + glVertexAttrib1hNV_signature, + glVertexAttrib2hNV_signature, + glVertexAttrib3hNV_signature, + glVertexAttrib4hNV_signature, + glFlushPixelDataRangeNV_signature, + glPrimitiveRestartNV_signature, + glPrimitiveRestartIndexNV_signature, + glUnmapObjectBufferATI_signature, + glStencilOpSeparateATI_signature, + glStencilFuncSeparateATI_signature, + glVertexAttribArrayObjectATI_signature, + glDepthBoundsEXT_signature, + glBlendEquationSeparateEXT_signature, + glIsRenderbufferEXT_signature, + glBindRenderbufferEXT_signature, + glRenderbufferStorageEXT_signature, + glIsFramebufferEXT_signature, + glBindFramebufferEXT_signature, + glCheckFramebufferStatusEXT_signature, + glFramebufferTexture1DEXT_signature, + glFramebufferTexture2DEXT_signature, + glFramebufferTexture3DEXT_signature, + glFramebufferRenderbufferEXT_signature, + glGenerateMipmapEXT_signature, +}; + +#undef MAGIC_MACRO +#define MAGIC_MACRO(x) #x +static const char* tab_opengl_calls_name[GL_N_CALLS] = +{ +#include "gl_func_perso.h" + "glClearIndex", + "glClearColor", + "glClear", + "glIndexMask", + "glColorMask", + "glAlphaFunc", + "glBlendFunc", + "glLogicOp", + "glCullFace", + "glFrontFace", + "glPointSize", + "glLineWidth", + "glLineStipple", + "glPolygonMode", + "glPolygonOffset", + "glEdgeFlag", + "glScissor", + "glDrawBuffer", + "glReadBuffer", + "glEnable", + "glDisable", + "glIsEnabled", + "glEnableClientState", + "glDisableClientState", + "glPushAttrib", + "glPopAttrib", + "glPushClientAttrib", + "glPopClientAttrib", + "glRenderMode", + "glGetError", + "glFinish", + "glFlush", + "glHint", + "glClearDepth", + "glDepthFunc", + "glDepthMask", + "glDepthRange", + "glClearAccum", + "glAccum", + "glMatrixMode", + "glOrtho", + "glFrustum", + "glViewport", + "glPushMatrix", + "glPopMatrix", + "glLoadIdentity", + "glLoadMatrixd", + "glLoadMatrixf", + "glMultMatrixd", + "glMultMatrixf", + "glRotated", + "glRotatef", + "glScaled", + "glScalef", + "glTranslated", + "glTranslatef", + "glIsList", + "glDeleteLists", + "glGenLists", + "glNewList", + "glEndList", + "glCallList", + "glListBase", + "glBegin", + "glEnd", + "glVertex2d", + "glVertex2f", + "glVertex2i", + "glVertex2s", + "glVertex3d", + "glVertex3f", + "glVertex3i", + "glVertex3s", + "glVertex4d", + "glVertex4f", + "glVertex4i", + "glVertex4s", + "glVertex2dv", + "glVertex2fv", + "glVertex2iv", + "glVertex2sv", + "glVertex3dv", + "glVertex3fv", + "glVertex3iv", + "glVertex3sv", + "glVertex4dv", + "glVertex4fv", + "glVertex4iv", + "glVertex4sv", + "glNormal3b", + "glNormal3d", + "glNormal3f", + "glNormal3i", + "glNormal3s", + "glNormal3bv", + "glNormal3dv", + "glNormal3fv", + "glNormal3iv", + "glNormal3sv", + "glIndexd", + "glIndexf", + "glIndexi", + "glIndexs", + "glIndexub", + "glColor3b", + "glColor3d", + "glColor3f", + "glColor3i", + "glColor3s", + "glColor3ub", + "glColor3ui", + "glColor3us", + "glColor4b", + "glColor4d", + "glColor4f", + "glColor4i", + "glColor4s", + "glColor4ub", + "glColor4ui", + "glColor4us", + "glColor3bv", + "glColor3dv", + "glColor3fv", + "glColor3iv", + "glColor3sv", + "glColor3ubv", + "glColor3uiv", + "glColor3usv", + "glColor4bv", + "glColor4dv", + "glColor4fv", + "glColor4iv", + "glColor4sv", + "glColor4ubv", + "glColor4uiv", + "glColor4usv", + "glTexCoord1d", + "glTexCoord1f", + "glTexCoord1i", + "glTexCoord1s", + "glTexCoord2d", + "glTexCoord2f", + "glTexCoord2i", + "glTexCoord2s", + "glTexCoord3d", + "glTexCoord3f", + "glTexCoord3i", + "glTexCoord3s", + "glTexCoord4d", + "glTexCoord4f", + "glTexCoord4i", + "glTexCoord4s", + "glTexCoord1dv", + "glTexCoord1fv", + "glTexCoord1iv", + "glTexCoord1sv", + "glTexCoord2dv", + "glTexCoord2fv", + "glTexCoord2iv", + "glTexCoord2sv", + "glTexCoord3dv", + "glTexCoord3fv", + "glTexCoord3iv", + "glTexCoord3sv", + "glTexCoord4dv", + "glTexCoord4fv", + "glTexCoord4iv", + "glTexCoord4sv", + "glRasterPos2d", + "glRasterPos2f", + "glRasterPos2i", + "glRasterPos2s", + "glRasterPos3d", + "glRasterPos3f", + "glRasterPos3i", + "glRasterPos3s", + "glRasterPos4d", + "glRasterPos4f", + "glRasterPos4i", + "glRasterPos4s", + "glRasterPos2dv", + "glRasterPos2fv", + "glRasterPos2iv", + "glRasterPos2sv", + "glRasterPos3dv", + "glRasterPos3fv", + "glRasterPos3iv", + "glRasterPos3sv", + "glRasterPos4dv", + "glRasterPos4fv", + "glRasterPos4iv", + "glRasterPos4sv", + "glRectd", + "glRectf", + "glRecti", + "glRects", + "glArrayElement", + "glShadeModel", + "glLightf", + "glLighti", + "glLightModelf", + "glLightModeli", + "glMaterialf", + "glMateriali", + "glColorMaterial", + "glPixelZoom", + "glPixelStoref", + "glPixelStorei", + "glPixelTransferf", + "glPixelTransferi", + "glCopyPixels", + "glStencilFunc", + "glStencilMask", + "glStencilOp", + "glClearStencil", + "glTexGend", + "glTexGenf", + "glTexGeni", + "glTexEnvf", + "glTexEnvi", + "glTexParameterf", + "glTexParameteri", + "glBindTexture", + "glIsTexture", + "glCopyTexImage1D", + "glCopyTexImage2D", + "glCopyTexSubImage1D", + "glCopyTexSubImage2D", + "glEvalCoord1d", + "glEvalCoord1f", + "glEvalCoord1dv", + "glEvalCoord1fv", + "glEvalCoord2d", + "glEvalCoord2f", + "glEvalCoord2dv", + "glEvalCoord2fv", + "glMapGrid1d", + "glMapGrid1f", + "glMapGrid2d", + "glMapGrid2f", + "glEvalPoint1", + "glEvalPoint2", + "glEvalMesh1", + "glEvalMesh2", + "glFogf", + "glFogi", + "glPassThrough", + "glInitNames", + "glLoadName", + "glPushName", + "glPopName", + "glCopyTexSubImage3D", + "glCopyColorSubTable", + "glCopyColorTable", + "glBlendEquation", + "glBlendColor", + "glHistogram", + "glResetHistogram", + "glMinmax", + "glResetMinmax", + "glConvolutionParameterf", + "glConvolutionParameteri", + "glCopyConvolutionFilter1D", + "glCopyConvolutionFilter2D", + "glActiveTexture", + "glClientActiveTexture", + "glMultiTexCoord1d", + "glMultiTexCoord1dv", + "glMultiTexCoord1f", + "glMultiTexCoord1fv", + "glMultiTexCoord1i", + "glMultiTexCoord1iv", + "glMultiTexCoord1s", + "glMultiTexCoord1sv", + "glMultiTexCoord2d", + "glMultiTexCoord2dv", + "glMultiTexCoord2f", + "glMultiTexCoord2fv", + "glMultiTexCoord2i", + "glMultiTexCoord2iv", + "glMultiTexCoord2s", + "glMultiTexCoord2sv", + "glMultiTexCoord3d", + "glMultiTexCoord3dv", + "glMultiTexCoord3f", + "glMultiTexCoord3fv", + "glMultiTexCoord3i", + "glMultiTexCoord3iv", + "glMultiTexCoord3s", + "glMultiTexCoord3sv", + "glMultiTexCoord4d", + "glMultiTexCoord4dv", + "glMultiTexCoord4f", + "glMultiTexCoord4fv", + "glMultiTexCoord4i", + "glMultiTexCoord4iv", + "glMultiTexCoord4s", + "glMultiTexCoord4sv", + "glLoadTransposeMatrixd", + "glLoadTransposeMatrixf", + "glMultTransposeMatrixd", + "glMultTransposeMatrixf", + "glSampleCoverage", + "glActiveTextureARB", + "glClientActiveTextureARB", + "glMultiTexCoord1dARB", + "glMultiTexCoord1dvARB", + "glMultiTexCoord1fARB", + "glMultiTexCoord1fvARB", + "glMultiTexCoord1iARB", + "glMultiTexCoord1ivARB", + "glMultiTexCoord1sARB", + "glMultiTexCoord1svARB", + "glMultiTexCoord2dARB", + "glMultiTexCoord2dvARB", + "glMultiTexCoord2fARB", + "glMultiTexCoord2fvARB", + "glMultiTexCoord2iARB", + "glMultiTexCoord2ivARB", + "glMultiTexCoord2sARB", + "glMultiTexCoord2svARB", + "glMultiTexCoord3dARB", + "glMultiTexCoord3dvARB", + "glMultiTexCoord3fARB", + "glMultiTexCoord3fvARB", + "glMultiTexCoord3iARB", + "glMultiTexCoord3ivARB", + "glMultiTexCoord3sARB", + "glMultiTexCoord3svARB", + "glMultiTexCoord4dARB", + "glMultiTexCoord4dvARB", + "glMultiTexCoord4fARB", + "glMultiTexCoord4fvARB", + "glMultiTexCoord4iARB", + "glMultiTexCoord4ivARB", + "glMultiTexCoord4sARB", + "glMultiTexCoord4svARB", + "glLoadTransposeMatrixfARB", + "glLoadTransposeMatrixdARB", + "glMultTransposeMatrixfARB", + "glMultTransposeMatrixdARB", + "glSampleCoverageARB", + "glPointParameterfARB", + "glVertexBlendARB", + "glCurrentPaletteMatrixARB", + "glWindowPos2dARB", + "glWindowPos2dvARB", + "glWindowPos2fARB", + "glWindowPos2fvARB", + "glWindowPos2iARB", + "glWindowPos2ivARB", + "glWindowPos2sARB", + "glWindowPos2svARB", + "glWindowPos3dARB", + "glWindowPos3dvARB", + "glWindowPos3fARB", + "glWindowPos3fvARB", + "glWindowPos3iARB", + "glWindowPos3ivARB", + "glWindowPos3sARB", + "glWindowPos3svARB", + "glVertexAttrib1dARB", + "glVertexAttrib1dvARB", + "glVertexAttrib1fARB", + "glVertexAttrib1fvARB", + "glVertexAttrib1sARB", + "glVertexAttrib1svARB", + "glVertexAttrib2dARB", + "glVertexAttrib2dvARB", + "glVertexAttrib2fARB", + "glVertexAttrib2fvARB", + "glVertexAttrib2sARB", + "glVertexAttrib2svARB", + "glVertexAttrib3dARB", + "glVertexAttrib3dvARB", + "glVertexAttrib3fARB", + "glVertexAttrib3fvARB", + "glVertexAttrib3sARB", + "glVertexAttrib3svARB", + "glVertexAttrib4NbvARB", + "glVertexAttrib4NivARB", + "glVertexAttrib4NsvARB", + "glVertexAttrib4NubARB", + "glVertexAttrib4NubvARB", + "glVertexAttrib4NuivARB", + "glVertexAttrib4NusvARB", + "glVertexAttrib4bvARB", + "glVertexAttrib4dARB", + "glVertexAttrib4dvARB", + "glVertexAttrib4fARB", + "glVertexAttrib4fvARB", + "glVertexAttrib4ivARB", + "glVertexAttrib4sARB", + "glVertexAttrib4svARB", + "glVertexAttrib4ubvARB", + "glVertexAttrib4uivARB", + "glVertexAttrib4usvARB", + "glEnableVertexAttribArrayARB", + "glDisableVertexAttribArrayARB", + "glBindProgramARB", + "glProgramEnvParameter4dARB", + "glProgramEnvParameter4dvARB", + "glProgramEnvParameter4fARB", + "glProgramEnvParameter4fvARB", + "glProgramLocalParameter4dARB", + "glProgramLocalParameter4dvARB", + "glProgramLocalParameter4fARB", + "glProgramLocalParameter4fvARB", + "glIsProgramARB", + "glBindBufferARB", + "glIsBufferARB", + "glUnmapBufferARB", + "glIsQueryARB", + "glBeginQueryARB", + "glEndQueryARB", + "glDeleteObjectARB", + "glGetHandleARB", + "glDetachObjectARB", + "glCreateShaderObjectARB", + "glCompileShaderARB", + "glCreateProgramObjectARB", + "glAttachObjectARB", + "glLinkProgramARB", + "glUseProgramObjectARB", + "glValidateProgramARB", + "glUniform1fARB", + "glUniform2fARB", + "glUniform3fARB", + "glUniform4fARB", + "glUniform1iARB", + "glUniform2iARB", + "glUniform3iARB", + "glUniform4iARB", + "glUniform1fvARB", + "glUniform2fvARB", + "glUniform3fvARB", + "glUniform4fvARB", + "glUniform1ivARB", + "glUniform2ivARB", + "glUniform3ivARB", + "glUniform4ivARB", + "glUniformMatrix2fvARB", + "glUniformMatrix3fvARB", + "glUniformMatrix4fvARB", + "glClampColorARB", + "glBlendColorEXT", + "glPolygonOffsetEXT", + "glCopyTexImage1DEXT", + "glCopyTexImage2DEXT", + "glCopyTexSubImage1DEXT", + "glCopyTexSubImage2DEXT", + "glCopyTexSubImage3DEXT", + "glHistogramEXT", + "glMinmaxEXT", + "glResetHistogramEXT", + "glResetMinmaxEXT", + "glConvolutionParameterfEXT", + "glConvolutionParameteriEXT", + "glCopyConvolutionFilter1DEXT", + "glCopyConvolutionFilter2DEXT", + "glCopyColorTableSGI", + "glPixelTexGenSGIX", + "glPixelTexGenParameteriSGIS", + "glPixelTexGenParameterfSGIS", + "glBindTextureEXT", + "glIsTextureEXT", + "glSampleMaskSGIS", + "glSamplePatternSGIS", + "glArrayElementEXT", + "glBlendEquationEXT", + "glSpriteParameterfSGIX", + "glSpriteParameteriSGIX", + "glPointParameterfEXT", + "glPointParameterfSGIS", + "glGetInstrumentsSGIX", + "glReadInstrumentsSGIX", + "glStartInstrumentsSGIX", + "glStopInstrumentsSGIX", + "glFrameZoomSGIX", + "glTagSampleBufferSGIX", + "glDeformSGIX", + "glLoadIdentityDeformationMapSGIX", + "glFlushRasterSGIX", + "glCopyColorSubTableEXT", + "glListParameterfSGIX", + "glListParameteriSGIX", + "glIndexMaterialEXT", + "glIndexFuncEXT", + "glLockArraysEXT", + "glUnlockArraysEXT", + "glFragmentColorMaterialSGIX", + "glFragmentLightfSGIX", + "glFragmentLightiSGIX", + "glFragmentLightModelfSGIX", + "glFragmentLightModeliSGIX", + "glFragmentMaterialfSGIX", + "glFragmentMaterialiSGIX", + "glLightEnviSGIX", + "glApplyTextureEXT", + "glTextureLightEXT", + "glTextureMaterialEXT", + "glAsyncMarkerSGIX", + "glGenAsyncMarkersSGIX", + "glDeleteAsyncMarkersSGIX", + "glIsAsyncMarkerSGIX", + "glPixelTransformParameteriEXT", + "glPixelTransformParameterfEXT", + "glSecondaryColor3bEXT", + "glSecondaryColor3bvEXT", + "glSecondaryColor3dEXT", + "glSecondaryColor3dvEXT", + "glSecondaryColor3fEXT", + "glSecondaryColor3fvEXT", + "glSecondaryColor3iEXT", + "glSecondaryColor3ivEXT", + "glSecondaryColor3sEXT", + "glSecondaryColor3svEXT", + "glSecondaryColor3ubEXT", + "glSecondaryColor3ubvEXT", + "glSecondaryColor3uiEXT", + "glSecondaryColor3uivEXT", + "glSecondaryColor3usEXT", + "glSecondaryColor3usvEXT", + "glTextureNormalEXT", + "glFogCoordfEXT", + "glFogCoorddEXT", + "glTangent3bEXT", + "glTangent3bvEXT", + "glTangent3dEXT", + "glTangent3dvEXT", + "glTangent3fEXT", + "glTangent3fvEXT", + "glTangent3iEXT", + "glTangent3ivEXT", + "glTangent3sEXT", + "glTangent3svEXT", + "glBinormal3bEXT", + "glBinormal3bvEXT", + "glBinormal3dEXT", + "glBinormal3dvEXT", + "glBinormal3fEXT", + "glBinormal3fvEXT", + "glBinormal3iEXT", + "glBinormal3ivEXT", + "glBinormal3sEXT", + "glBinormal3svEXT", + "glBlendFuncSeparateEXT", + "glVertexWeightfEXT", + "glFlushVertexArrayRangeNV", + "glCombinerParameterfNV", + "glCombinerParameteriNV", + "glCombinerInputNV", + "glCombinerOutputNV", + "glFinalCombinerInputNV", + "glResizeBuffersMESA", + "glWindowPos2dMESA", + "glWindowPos2dvMESA", + "glWindowPos2fMESA", + "glWindowPos2fvMESA", + "glWindowPos2iMESA", + "glWindowPos2ivMESA", + "glWindowPos2sMESA", + "glWindowPos2svMESA", + "glWindowPos3dMESA", + "glWindowPos3dvMESA", + "glWindowPos3fMESA", + "glWindowPos3fvMESA", + "glWindowPos3iMESA", + "glWindowPos3ivMESA", + "glWindowPos3sMESA", + "glWindowPos3svMESA", + "glWindowPos4dMESA", + "glWindowPos4dvMESA", + "glWindowPos4fMESA", + "glWindowPos4fvMESA", + "glWindowPos4iMESA", + "glWindowPos4ivMESA", + "glWindowPos4sMESA", + "glWindowPos4svMESA", + "glSampleMaskEXT", + "glSamplePatternEXT", + "glTextureColorMaskSGIS", + "glIsFenceNV", + "glTestFenceNV", + "glFinishFenceNV", + "glSetFenceNV", + "glEvalMapsNV", + "glBindProgramNV", + "glIsProgramNV", + "glProgramParameter4dNV", + "glProgramParameter4dvNV", + "glProgramParameter4fNV", + "glProgramParameter4fvNV", + "glProgramParameters4dvNV", + "glProgramParameters4fvNV", + "glTrackMatrixNV", + "glVertexAttrib1dNV", + "glVertexAttrib1dvNV", + "glVertexAttrib1fNV", + "glVertexAttrib1fvNV", + "glVertexAttrib1sNV", + "glVertexAttrib1svNV", + "glVertexAttrib2dNV", + "glVertexAttrib2dvNV", + "glVertexAttrib2fNV", + "glVertexAttrib2fvNV", + "glVertexAttrib2sNV", + "glVertexAttrib2svNV", + "glVertexAttrib3dNV", + "glVertexAttrib3dvNV", + "glVertexAttrib3fNV", + "glVertexAttrib3fvNV", + "glVertexAttrib3sNV", + "glVertexAttrib3svNV", + "glVertexAttrib4dNV", + "glVertexAttrib4dvNV", + "glVertexAttrib4fNV", + "glVertexAttrib4fvNV", + "glVertexAttrib4sNV", + "glVertexAttrib4svNV", + "glVertexAttrib4ubNV", + "glVertexAttrib4ubvNV", + "glVertexAttribs1dvNV", + "glVertexAttribs1fvNV", + "glVertexAttribs1svNV", + "glVertexAttribs2dvNV", + "glVertexAttribs2fvNV", + "glVertexAttribs2svNV", + "glVertexAttribs3dvNV", + "glVertexAttribs3fvNV", + "glVertexAttribs3svNV", + "glVertexAttribs4dvNV", + "glVertexAttribs4fvNV", + "glVertexAttribs4svNV", + "glVertexAttribs4ubvNV", + "glGenFragmentShadersATI", + "glBindFragmentShaderATI", + "glDeleteFragmentShaderATI", + "glBeginFragmentShaderATI", + "glEndFragmentShaderATI", + "glPassTexCoordATI", + "glSampleMapATI", + "glColorFragmentOp1ATI", + "glColorFragmentOp2ATI", + "glColorFragmentOp3ATI", + "glAlphaFragmentOp1ATI", + "glAlphaFragmentOp2ATI", + "glAlphaFragmentOp3ATI", + "glPNTrianglesiATI", + "glPNTrianglesfATI", + "glIsObjectBufferATI", + "glFreeObjectBufferATI", + "glArrayObjectATI", + "glVariantArrayObjectATI", + "glBeginVertexShaderEXT", + "glEndVertexShaderEXT", + "glBindVertexShaderEXT", + "glGenVertexShadersEXT", + "glDeleteVertexShaderEXT", + "glShaderOp1EXT", + "glShaderOp2EXT", + "glShaderOp3EXT", + "glSwizzleEXT", + "glWriteMaskEXT", + "glInsertComponentEXT", + "glExtractComponentEXT", + "glGenSymbolsEXT", + "glEnableVariantClientStateEXT", + "glDisableVariantClientStateEXT", + "glBindLightParameterEXT", + "glBindMaterialParameterEXT", + "glBindTexGenParameterEXT", + "glBindTextureUnitParameterEXT", + "glBindParameterEXT", + "glIsVariantEnabledEXT", + "glVertexStream1sATI", + "glVertexStream1svATI", + "glVertexStream1iATI", + "glVertexStream1ivATI", + "glVertexStream1fATI", + "glVertexStream1fvATI", + "glVertexStream1dATI", + "glVertexStream1dvATI", + "glVertexStream2sATI", + "glVertexStream2svATI", + "glVertexStream2iATI", + "glVertexStream2ivATI", + "glVertexStream2fATI", + "glVertexStream2fvATI", + "glVertexStream2dATI", + "glVertexStream2dvATI", + "glVertexStream3sATI", + "glVertexStream3svATI", + "glVertexStream3iATI", + "glVertexStream3ivATI", + "glVertexStream3fATI", + "glVertexStream3fvATI", + "glVertexStream3dATI", + "glVertexStream3dvATI", + "glVertexStream4sATI", + "glVertexStream4svATI", + "glVertexStream4iATI", + "glVertexStream4ivATI", + "glVertexStream4fATI", + "glVertexStream4fvATI", + "glVertexStream4dATI", + "glVertexStream4dvATI", + "glNormalStream3bATI", + "glNormalStream3bvATI", + "glNormalStream3sATI", + "glNormalStream3svATI", + "glNormalStream3iATI", + "glNormalStream3ivATI", + "glNormalStream3fATI", + "glNormalStream3fvATI", + "glNormalStream3dATI", + "glNormalStream3dvATI", + "glClientActiveVertexStreamATI", + "glVertexBlendEnviATI", + "glVertexBlendEnvfATI", + "glDrawElementArrayATI", + "glDrawRangeElementArrayATI", + "glIsOcclusionQueryNV", + "glBeginOcclusionQueryNV", + "glEndOcclusionQueryNV", + "glPointParameteriNV", + "glActiveStencilFaceEXT", + "glVertex2hNV", + "glVertex3hNV", + "glVertex4hNV", + "glNormal3hNV", + "glColor3hNV", + "glColor4hNV", + "glTexCoord1hNV", + "glTexCoord2hNV", + "glTexCoord3hNV", + "glTexCoord4hNV", + "glMultiTexCoord1hNV", + "glMultiTexCoord2hNV", + "glMultiTexCoord3hNV", + "glMultiTexCoord4hNV", + "glFogCoordhNV", + "glSecondaryColor3hNV", + "glVertexWeighthNV", + "glVertexAttrib1hNV", + "glVertexAttrib2hNV", + "glVertexAttrib3hNV", + "glVertexAttrib4hNV", + "glFlushPixelDataRangeNV", + "glPrimitiveRestartNV", + "glPrimitiveRestartIndexNV", + "glUnmapObjectBufferATI", + "glStencilOpSeparateATI", + "glStencilFuncSeparateATI", + "glVertexAttribArrayObjectATI", + "glDepthBoundsEXT", + "glBlendEquationSeparateEXT", + "glIsRenderbufferEXT", + "glBindRenderbufferEXT", + "glRenderbufferStorageEXT", + "glIsFramebufferEXT", + "glBindFramebufferEXT", + "glCheckFramebufferStatusEXT", + "glFramebufferTexture1DEXT", + "glFramebufferTexture2DEXT", + "glFramebufferTexture3DEXT", + "glFramebufferRenderbufferEXT", + "glGenerateMipmapEXT", +}; + diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/target-i386/gl_func_perso.h qemu/target-i386/gl_func_perso.h --- qemu.ori/target-i386/gl_func_perso.h 1970-01-01 01:00:00.000000000 +0100 +++ qemu/target-i386/gl_func_perso.h 2006-11-14 21:46:24.000000000 +0100 @@ -0,0 +1,93 @@ +/* + * Hand-implemented GL/GLX API + * + * Copyright (c) 2006 Even Rouault + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +MAGIC_MACRO(_exit_process), +MAGIC_MACRO(_moveResizeWindow), +MAGIC_MACRO(_changeWindowState), +MAGIC_MACRO(_needSync), + +MAGIC_MACRO(glXChooseVisual), +MAGIC_MACRO(glXQueryExtensionsString), +MAGIC_MACRO(glXQueryServerString), +MAGIC_MACRO(glXCreateContext), +MAGIC_MACRO(glXGetCurrentContext), +MAGIC_MACRO(glXGetCurrentDrawable), +MAGIC_MACRO(glXDestroyContext), +MAGIC_MACRO(glXGetClientString), +MAGIC_MACRO(glXQueryVersion), +MAGIC_MACRO(glXMakeCurrent), +MAGIC_MACRO(glXGetConfig), +MAGIC_MACRO(glXChooseFBConfig), +MAGIC_MACRO(glXCreatePbuffer), +MAGIC_MACRO(glXGetVisualFromFBConfig), +MAGIC_MACRO(glXUseXFont), +MAGIC_MACRO(glXIsDirect), +MAGIC_MACRO(glXGetProcAddress_fake), + +MAGIC_MACRO(glGetString), +MAGIC_MACRO(glGetIntegerv), +MAGIC_MACRO(glGetFloatv), +MAGIC_MACRO(glGetConvolutionParameteriv), +MAGIC_MACRO(glLightfv), +MAGIC_MACRO(glMaterialfv), +MAGIC_MACRO(glXSwapBuffers), +MAGIC_MACRO(glXQueryExtension), +MAGIC_MACRO(glLightModelfv), +MAGIC_MACRO(glMap1f), +MAGIC_MACRO(glMap1d), +MAGIC_MACRO(glMap2f), +MAGIC_MACRO(glMap2d), +MAGIC_MACRO(glGenTextures), +MAGIC_MACRO(glDeleteTextures), +MAGIC_MACRO(glTexImage1D), +MAGIC_MACRO(glTexImage2D), +MAGIC_MACRO(glCompressedTexImage2DARB), +MAGIC_MACRO(glTexSubImage2D), +MAGIC_MACRO(glCompressedTexSubImage2DARB), +MAGIC_MACRO(glTexImage3D), +MAGIC_MACRO(glGetTexLevelParameteriv), +MAGIC_MACRO(glFogfv), +MAGIC_MACRO(glBitmap), +MAGIC_MACRO(glTexGenfv), +MAGIC_MACRO(glTexEnvfv), +MAGIC_MACRO(glTexParameterfv), +MAGIC_MACRO(glTexParameteriv), +MAGIC_MACRO(glPointParameterfvARB), +MAGIC_MACRO(glCallLists), +MAGIC_MACRO(glGenProgramsARB), +MAGIC_MACRO(glProgramStringARB), +MAGIC_MACRO(glDeleteProgramsARB), +MAGIC_MACRO(glShaderSourceARB), +MAGIC_MACRO(glGetUniformLocationARB), +MAGIC_MACRO(glGetVertexAttribfvARB), +MAGIC_MACRO(glGetVertexAttribivARB), +MAGIC_MACRO(glGetVertexAttribdvARB), +MAGIC_MACRO(glGetProgramLocalParameterfvARB), +MAGIC_MACRO(glGetProgramLocalParameterdvARB), +MAGIC_MACRO(glGetProgramEnvParameterfvARB), +MAGIC_MACRO(glGetProgramEnvParameterdvARB), +MAGIC_MACRO(glGetProgramivARB), +MAGIC_MACRO(glGetProgramStringARB), +MAGIC_MACRO(glVertexPointer), +MAGIC_MACRO(glNormalPointer), +MAGIC_MACRO(glColorPointer), +MAGIC_MACRO(glTexCoordPointer), +MAGIC_MACRO(glDrawArrays), +MAGIC_MACRO(glDrawElements), diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/target-i386/glgetv_cst.h qemu/target-i386/glgetv_cst.h --- qemu.ori/target-i386/glgetv_cst.h 1970-01-01 01:00:00.000000000 +0100 +++ qemu/target-i386/glgetv_cst.h 2006-11-14 21:46:24.000000000 +0100 @@ -0,0 +1,250 @@ +struct token_name { + GLuint count; + GLenum token; + const char *name; +}; +#define MAKE_TOKEN_NAME(x) x, #x +static const struct token_name limits[] = { + { 1, MAKE_TOKEN_NAME(GL_ACCUM_ALPHA_BITS) }, + { 1, MAKE_TOKEN_NAME(GL_ACCUM_BLUE_BITS) }, + { 4, MAKE_TOKEN_NAME(GL_ACCUM_CLEAR_VALUE) }, + { 1, MAKE_TOKEN_NAME(GL_ACCUM_GREEN_BITS) }, + { 1, MAKE_TOKEN_NAME(GL_ACCUM_RED_BITS) }, + { 1, MAKE_TOKEN_NAME(GL_ACTIVE_TEXTURE_ARB) }, + { 1, MAKE_TOKEN_NAME(GL_ALPHA_BIAS) }, + { 1, MAKE_TOKEN_NAME(GL_ALPHA_BITS) }, + { 1, MAKE_TOKEN_NAME(GL_ALPHA_SCALE) }, + { 1, MAKE_TOKEN_NAME(GL_ALPHA_TEST) }, + { 1, MAKE_TOKEN_NAME(GL_ALPHA_TEST_FUNC) }, + { 1, MAKE_TOKEN_NAME(GL_ALPHA_TEST_REF) }, + { 1, MAKE_TOKEN_NAME(GL_ATTRIB_STACK_DEPTH) }, + { 1, MAKE_TOKEN_NAME(GL_AUTO_NORMAL) }, + { 1, MAKE_TOKEN_NAME(GL_AUX_BUFFERS) }, + { 1, MAKE_TOKEN_NAME(GL_BLEND) }, + { 4, MAKE_TOKEN_NAME(GL_BLEND_COLOR) }, + { 1, MAKE_TOKEN_NAME(GL_BLEND_DST) }, + { 1, MAKE_TOKEN_NAME(GL_BLEND_EQUATION) }, + { 1, MAKE_TOKEN_NAME(GL_BLEND_SRC) }, + { 1, MAKE_TOKEN_NAME(GL_BLUE_BIAS) }, + { 1, MAKE_TOKEN_NAME(GL_BLUE_BITS) }, + { 1, MAKE_TOKEN_NAME(GL_BLUE_SCALE) }, + { 1, MAKE_TOKEN_NAME(GL_CLIP_PLANE0) }, + { 1, MAKE_TOKEN_NAME(GL_CLIP_PLANE1) }, + { 1, MAKE_TOKEN_NAME(GL_CLIP_PLANE2) }, + { 1, MAKE_TOKEN_NAME(GL_CLIP_PLANE3) }, + { 1, MAKE_TOKEN_NAME(GL_CLIP_PLANE4) }, + { 1, MAKE_TOKEN_NAME(GL_COLOR_ARRAY) }, + { 1, MAKE_TOKEN_NAME(GL_COLOR_ARRAY_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_COLOR_ARRAY_STRIDE) }, + { 1, MAKE_TOKEN_NAME(GL_COLOR_ARRAY_TYPE) }, + { 4, MAKE_TOKEN_NAME(GL_COLOR_CLEAR_VALUE) }, + { 1, MAKE_TOKEN_NAME(GL_COLOR_LOGIC_OP) }, + { 1, MAKE_TOKEN_NAME(GL_COLOR_MATERIAL) }, + { 1, MAKE_TOKEN_NAME(GL_COLOR_MATERIAL_FACE) }, + { 16, MAKE_TOKEN_NAME(GL_COLOR_MATRIX) }, + { 1, MAKE_TOKEN_NAME(GL_COLOR_TABLE) }, + { 4, MAKE_TOKEN_NAME(GL_COLOR_WRITEMASK) }, + { 1, MAKE_TOKEN_NAME(GL_CONVOLUTION_1D) }, + { 1, MAKE_TOKEN_NAME(GL_CONVOLUTION_2D) }, + { 1, MAKE_TOKEN_NAME(GL_CULL_FACE) }, + { 1, MAKE_TOKEN_NAME(GL_CULL_FACE_MODE) }, + { 4, MAKE_TOKEN_NAME(GL_CURRENT_COLOR) }, + { 1, MAKE_TOKEN_NAME(GL_CURRENT_INDEX) }, + { 3, MAKE_TOKEN_NAME(GL_CURRENT_NORMAL) }, + { 4, MAKE_TOKEN_NAME(GL_CURRENT_RASTER_COLOR) }, + { 1, MAKE_TOKEN_NAME(GL_CURRENT_RASTER_INDEX) }, + { 1, MAKE_TOKEN_NAME(GL_DEPTH_BIAS) }, + { 1, MAKE_TOKEN_NAME(GL_DEPTH_BITS) }, + { 1, MAKE_TOKEN_NAME(GL_DEPTH_CLEAR_VALUE) }, + { 1, MAKE_TOKEN_NAME(GL_DEPTH_FUNC) }, + { 2, MAKE_TOKEN_NAME(GL_DEPTH_RANGE) }, + { 1, MAKE_TOKEN_NAME(GL_DEPTH_SCALE) }, + { 1, MAKE_TOKEN_NAME(GL_DEPTH_TEST) }, + { 1, MAKE_TOKEN_NAME(GL_DEPTH_WRITEMASK) }, + { 1, MAKE_TOKEN_NAME(GL_DITHER) }, + { 1, MAKE_TOKEN_NAME(GL_DOUBLEBUFFER) }, + { 1, MAKE_TOKEN_NAME(GL_DRAW_BUFFER) }, + { 1, MAKE_TOKEN_NAME(GL_EDGE_FLAG) }, + { 1, MAKE_TOKEN_NAME(GL_EDGE_FLAG_ARRAY) }, + { 1, MAKE_TOKEN_NAME(GL_FEEDBACK_BUFFER_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_FEEDBACK_BUFFER_TYPE) }, + { 1, MAKE_TOKEN_NAME(GL_FOG) }, + { 4, MAKE_TOKEN_NAME(GL_FOG_COLOR) }, + { 1, MAKE_TOKEN_NAME(GL_FOG_DENSITY) }, + { 1, MAKE_TOKEN_NAME(GL_FOG_END) }, + { 1, MAKE_TOKEN_NAME(GL_FOG_HINT) }, + { 1, MAKE_TOKEN_NAME(GL_FOG_INDEX) }, + { 1, MAKE_TOKEN_NAME(GL_FOG_MODE) }, + { 1, MAKE_TOKEN_NAME(GL_FOG_START) }, + { 1, MAKE_TOKEN_NAME(GL_FRONT_FACE) }, + { 1, MAKE_TOKEN_NAME(GL_GREEN_BIAS) }, + { 1, MAKE_TOKEN_NAME(GL_GREEN_BITS) }, + { 1, MAKE_TOKEN_NAME(GL_GREEN_SCALE) }, + { 1, MAKE_TOKEN_NAME(GL_HISTOGRAM) }, + { 1, MAKE_TOKEN_NAME(GL_INDEX_ARRAY) }, + { 1, MAKE_TOKEN_NAME(GL_INDEX_ARRAY_STRIDE) }, + { 1, MAKE_TOKEN_NAME(GL_INDEX_ARRAY_TYPE) }, + { 1, MAKE_TOKEN_NAME(GL_INDEX_BITS) }, + { 1, MAKE_TOKEN_NAME(GL_INDEX_CLEAR_VALUE) }, + { 1, MAKE_TOKEN_NAME(GL_INDEX_LOGIC_OP) }, + { 1, MAKE_TOKEN_NAME(GL_INDEX_MODE) }, + { 1, MAKE_TOKEN_NAME(GL_INDEX_OFFSET) }, + { 1, MAKE_TOKEN_NAME(GL_INDEX_SHIFT) }, + { 1, MAKE_TOKEN_NAME(GL_INDEX_WRITEMASK) }, + { 1, MAKE_TOKEN_NAME(GL_LIGHT0) }, + { 1, MAKE_TOKEN_NAME(GL_LIGHT1) }, + { 1, MAKE_TOKEN_NAME(GL_LIGHT2) }, + { 1, MAKE_TOKEN_NAME(GL_LIGHT3) }, + { 1, MAKE_TOKEN_NAME(GL_LIGHT4) }, + { 1, MAKE_TOKEN_NAME(GL_LIGHT5) }, + { 1, MAKE_TOKEN_NAME(GL_LIGHT6) }, + { 1, MAKE_TOKEN_NAME(GL_LIGHTING) }, + { 4, MAKE_TOKEN_NAME(GL_LIGHT_MODEL_AMBIENT) }, + { 1, MAKE_TOKEN_NAME(GL_LIGHT_MODEL_TWO_SIDE) }, + { 1, MAKE_TOKEN_NAME(GL_LINE_SMOOTH) }, + { 1, MAKE_TOKEN_NAME(GL_LINE_SMOOTH_HINT) }, + { 1, MAKE_TOKEN_NAME(GL_LINE_STIPPLE) }, + { 1, MAKE_TOKEN_NAME(GL_LINE_STIPPLE_PATTERN) }, + { 1, MAKE_TOKEN_NAME(GL_LINE_STIPPLE_REPEAT) }, + { 1, MAKE_TOKEN_NAME(GL_LINE_WIDTH) }, + { 2, MAKE_TOKEN_NAME(GL_LINE_WIDTH_RANGE) }, + { 1, MAKE_TOKEN_NAME(GL_LIST_BASE) }, + { 1, MAKE_TOKEN_NAME(GL_LIST_INDEX) }, + { 1, MAKE_TOKEN_NAME(GL_LIST_MODE) }, + { 1, MAKE_TOKEN_NAME(GL_LOGIC_OP_MODE) }, + { 1, MAKE_TOKEN_NAME(GL_MAP1_COLOR_4) }, + { 2, MAKE_TOKEN_NAME(GL_MAP1_GRID_DOMAIN) }, + { 1, MAKE_TOKEN_NAME(GL_MAP1_GRID_SEGMENTS) }, + { 1, MAKE_TOKEN_NAME(GL_MAP1_INDEX) }, + { 1, MAKE_TOKEN_NAME(GL_MAP1_NORMAL) }, + { 1, MAKE_TOKEN_NAME(GL_MAP1_TEXTURE_COORD_1) }, + { 1, MAKE_TOKEN_NAME(GL_MAP1_TEXTURE_COORD_2) }, + { 1, MAKE_TOKEN_NAME(GL_MAP1_TEXTURE_COORD_3) }, + { 1, MAKE_TOKEN_NAME(GL_MAP1_TEXTURE_COORD_4) }, + { 1, MAKE_TOKEN_NAME(GL_MAP1_VERTEX_3) }, + { 1, MAKE_TOKEN_NAME(GL_MAP1_VERTEX_4) }, + { 1, MAKE_TOKEN_NAME(GL_MAP2_COLOR_4) }, + { 4, MAKE_TOKEN_NAME(GL_MAP2_GRID_DOMAIN) }, + { 2, MAKE_TOKEN_NAME(GL_MAP2_GRID_SEGMENTS) }, + { 1, MAKE_TOKEN_NAME(GL_MAP2_INDEX) }, + { 1, MAKE_TOKEN_NAME(GL_MAP2_NORMAL) }, + { 1, MAKE_TOKEN_NAME(GL_MAP2_TEXTURE_COORD_1) }, + { 1, MAKE_TOKEN_NAME(GL_MAP2_TEXTURE_COORD_2) }, + { 1, MAKE_TOKEN_NAME(GL_MAP2_TEXTURE_COORD_3) }, + { 1, MAKE_TOKEN_NAME(GL_MAP2_TEXTURE_COORD_4) }, + { 1, MAKE_TOKEN_NAME(GL_MAP2_VERTEX_3) }, + { 1, MAKE_TOKEN_NAME(GL_MAP2_VERTEX_4) }, + { 1, MAKE_TOKEN_NAME(GL_MAP_COLOR) }, + { 1, MAKE_TOKEN_NAME(GL_MAP_STENCIL) }, + { 1, MAKE_TOKEN_NAME(GL_MATRIX_MODE) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_3D_TEXTURE_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_CLIP_PLANES) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_ELEMENTS_INDICES) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_ELEMENTS_VERTICES) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_EVAL_ORDER) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_LIGHTS) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_LIST_NESTING) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_NAME_STACK_DEPTH) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_PIXEL_MAP_TABLE) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_TEXTURE_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_TEXTURE_UNITS_ARB) }, + { 2, MAKE_TOKEN_NAME(GL_MAX_VIEWPORT_DIMS) }, + { 1, MAKE_TOKEN_NAME(GL_MINMAX) }, + { 16, MAKE_TOKEN_NAME(GL_MODELVIEW_MATRIX) }, + { 1, MAKE_TOKEN_NAME(GL_MODELVIEW_STACK_DEPTH) }, + { 1, MAKE_TOKEN_NAME(GL_NAME_STACK_DEPTH) }, + { 1, MAKE_TOKEN_NAME(GL_NORMAL_ARRAY) }, + { 1, MAKE_TOKEN_NAME(GL_NORMAL_ARRAY_STRIDE) }, + { 1, MAKE_TOKEN_NAME(GL_NORMAL_ARRAY_TYPE) }, + { 1, MAKE_TOKEN_NAME(GL_NORMALIZE) }, + { 1, MAKE_TOKEN_NAME(GL_PACK_ALIGNMENT) }, + { 1, MAKE_TOKEN_NAME(GL_PACK_IMAGE_HEIGHT) }, + { 1, MAKE_TOKEN_NAME(GL_PACK_LSB_FIRST) }, + { 1, MAKE_TOKEN_NAME(GL_PACK_ROW_LENGTH) }, + { 1, MAKE_TOKEN_NAME(GL_PACK_SKIP_IMAGES) }, + { 1, MAKE_TOKEN_NAME(GL_PACK_SKIP_PIXELS) }, + { 1, MAKE_TOKEN_NAME(GL_PACK_SKIP_ROWS) }, + { 1, MAKE_TOKEN_NAME(GL_PACK_SWAP_BYTES) }, + { 1, MAKE_TOKEN_NAME(GL_PIXEL_MAP_A_TO_A_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_PIXEL_MAP_B_TO_B_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_PIXEL_MAP_G_TO_G_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_PIXEL_MAP_I_TO_A_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_PIXEL_MAP_I_TO_B_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_PIXEL_MAP_I_TO_G_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_PIXEL_MAP_I_TO_I_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_PIXEL_MAP_I_TO_R_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_PIXEL_MAP_R_TO_R_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_PIXEL_MAP_S_TO_S_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_POINT_SIZE) }, + { 2, MAKE_TOKEN_NAME(GL_POINT_SIZE_RANGE) }, + { 1, MAKE_TOKEN_NAME(GL_POINT_SMOOTH) }, + { 1, MAKE_TOKEN_NAME(GL_POINT_SMOOTH_HINT) }, + { 2, MAKE_TOKEN_NAME(GL_POLYGON_MODE) }, + { 1, MAKE_TOKEN_NAME(GL_POLYGON_OFFSET_FACTOR) }, + { 1, MAKE_TOKEN_NAME(GL_POLYGON_OFFSET_UNITS) }, + { 1, MAKE_TOKEN_NAME(GL_POLYGON_OFFSET_FILL) }, + { 1, MAKE_TOKEN_NAME(GL_POLYGON_OFFSET_LINE) }, + { 1, MAKE_TOKEN_NAME(GL_POLYGON_OFFSET_POINT) }, + { 1, MAKE_TOKEN_NAME(GL_POLYGON_SMOOTH) }, + { 1, MAKE_TOKEN_NAME(GL_POLYGON_SMOOTH_HINT) }, + { 1, MAKE_TOKEN_NAME(GL_POLYGON_STIPPLE) }, + { 16, MAKE_TOKEN_NAME(GL_PROJECTION_MATRIX) }, + { 1, MAKE_TOKEN_NAME(GL_READ_BUFFER) }, + { 1, MAKE_TOKEN_NAME(GL_RED_BIAS) }, + { 1, MAKE_TOKEN_NAME(GL_RED_BITS) }, + { 1, MAKE_TOKEN_NAME(GL_RED_SCALE) }, + { 1, MAKE_TOKEN_NAME(GL_RENDER_MODE) }, + { 1, MAKE_TOKEN_NAME(GL_RESCALE_NORMAL) }, + { 1, MAKE_TOKEN_NAME(GL_RGBA_MODE) }, + { 4, MAKE_TOKEN_NAME(GL_SCISSOR_BOX) }, + { 1, MAKE_TOKEN_NAME(GL_SCISSOR_TEST) }, + { 1, MAKE_TOKEN_NAME(GL_SEPARABLE_2D) }, + { 1, MAKE_TOKEN_NAME(GL_SHADE_MODEL) }, + { 1, MAKE_TOKEN_NAME(GL_STENCIL_BITS) }, + { 1, MAKE_TOKEN_NAME(GL_STENCIL_CLEAR_VALUE) }, + { 1, MAKE_TOKEN_NAME(GL_STENCIL_FAIL) }, + { 1, MAKE_TOKEN_NAME(GL_STENCIL_FUNC) }, + { 1, MAKE_TOKEN_NAME(GL_STENCIL_REF) }, + { 1, MAKE_TOKEN_NAME(GL_STENCIL_TEST) }, + { 1, MAKE_TOKEN_NAME(GL_STENCIL_VALUE_MASK) }, + { 1, MAKE_TOKEN_NAME(GL_STENCIL_WRITEMASK) }, + { 1, MAKE_TOKEN_NAME(GL_STEREO) }, + { 1, MAKE_TOKEN_NAME(GL_SUBPIXEL_BITS) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_1D) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_BINDING_1D) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_2D) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_BINDING_2D) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_3D) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_BINDING_3D) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_COORD_ARRAY) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_GEN_Q) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_GEN_R) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_GEN_S) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_GEN_T) }, + { 16, MAKE_TOKEN_NAME(GL_TEXTURE_MATRIX) }, + { 1, MAKE_TOKEN_NAME(GL_TEXTURE_STACK_DEPTH) }, + { 1, MAKE_TOKEN_NAME(GL_UNPACK_ALIGNMENT) }, + { 1, MAKE_TOKEN_NAME(GL_UNPACK_IMAGE_HEIGHT) }, + { 1, MAKE_TOKEN_NAME(GL_UNPACK_LSB_FIRST) }, + { 1, MAKE_TOKEN_NAME(GL_UNPACK_ROW_LENGTH) }, + { 1, MAKE_TOKEN_NAME(GL_UNPACK_SKIP_IMAGES) }, + { 1, MAKE_TOKEN_NAME(GL_UNPACK_SKIP_PIXELS) }, + { 1, MAKE_TOKEN_NAME(GL_UNPACK_SKIP_ROWS) }, + { 1, MAKE_TOKEN_NAME(GL_UNPACK_SWAP_BYTES) }, + { 1, MAKE_TOKEN_NAME(GL_VERTEX_ARRAY) }, + { 1, MAKE_TOKEN_NAME(GL_VERTEX_ARRAY_SIZE) }, + { 1, MAKE_TOKEN_NAME(GL_VERTEX_ARRAY_STRIDE) }, + { 1, MAKE_TOKEN_NAME(GL_VERTEX_ARRAY_TYPE) }, + { 4, MAKE_TOKEN_NAME(GL_VIEWPORT) }, + { 1, MAKE_TOKEN_NAME(GL_ZOOM_X) }, + { 1, MAKE_TOKEN_NAME(GL_ZOOM_Y) }, + { 2, MAKE_TOKEN_NAME(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_GENERAL_COMBINERS_NV) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_TEXTURE_LOD_BIAS) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_TEXTURE_LOD_BIAS_EXT) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB) }, + { 1, MAKE_TOKEN_NAME(GL_MAX_RECTANGLE_TEXTURE_SIZE_NV) }, + { 1, MAKE_TOKEN_NAME(GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB) }, + { 1, MAKE_TOKEN_NAME(GL_PROGRAM_ERROR_POSITION_ARB) }, + { 0, (GLenum) 0, NULL } +}; diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/target-i386/helper.c qemu/target-i386/helper.c --- qemu.ori/target-i386/helper.c 2006-11-14 00:18:10.000000000 +0100 +++ qemu/target-i386/helper.c 2006-11-14 21:46:24.000000000 +0100 @@ -3782,6 +3782,16 @@ void update_fp_status(void) #endif } +void helper_opengl(CPUState *env); + +void helper_int99() +{ + regs_to_env(); + helper_opengl(env); + env_to_regs(); +} + + #if !defined(CONFIG_USER_ONLY) #define MMUSUFFIX _mmu diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/target-i386/helper_opengl.c qemu/target-i386/helper_opengl.c --- qemu.ori/target-i386/helper_opengl.c 1970-01-01 01:00:00.000000000 +0100 +++ qemu/target-i386/helper_opengl.c 2006-11-14 21:57:41.000000000 +0100 @@ -0,0 +1,1764 @@ +/* + * Host-side implementation of GL/GLX API + * + * Copyright (c) 2006 Even Rouault + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +#include +#include "exec.h" +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include "opengl_func.h" + +#include "glgetv_cst.h" + +#define GET_EXT_PTR(type, func_name, args_decl) \ + static int detect = 0; \ + static type(*ptr_func)args_decl = NULL; \ + if (detect == 0) \ +{ \ + detect = 1; \ + ptr_func = glXGetProcAddress((const GLubyte*)#func_name); \ + assert (ptr_func); \ +} + +static inline void* get_phys_mem_addr(const CPUState *env, target_ulong addr) +{ + int is_user, index; + index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1); + is_user = ((env->hflags & HF_CPL_MASK) == 3); + if (is_user == 0) + { + fprintf(stderr, "not in userland !!!\n"); + return NULL; + } + if (__builtin_expect(env->tlb_table[is_user][index].addr_code != + (addr & TARGET_PAGE_MASK), 0)) + { + target_ulong ret = cpu_get_phys_page_debug(env, addr); + if (ret == -1) + { + fprintf(stderr, "cpu_get_phys_page_debug(env, %p) == %p\n", addr, ret); + fprintf(stderr, "not in phys mem %p (%p %p)\n", addr, env->tlb_table[is_user][index].addr_code, addr & TARGET_PAGE_MASK); + fprintf(stderr, "cpu_x86_handle_mmu_fault = %d\n", + cpu_x86_handle_mmu_fault(env, addr, 0, 1, 1)); + return NULL; + } + else + { + if (ret + TARGET_PAGE_SIZE <= phys_ram_size) + { + return phys_ram_base + ret + (((target_ulong)addr) & (TARGET_PAGE_SIZE - 1)); + } + else + { + fprintf(stderr, "cpu_get_phys_page_debug(env, %p) == %p\n", addr, ret); + fprintf(stderr, "ret=%p phys_ram_size=%p\n", ret, phys_ram_size); + return NULL; + } + } + } + else + { + return (void*)(addr + env->tlb_table[is_user][index].addend); + } +} + +#define MIN(a,b) (((a)<(b)) ? (a) : (b)) + +enum +{ + NOT_MAPPED, + MAPPED_CONTIGUOUS, + MAPPED_NOT_CONTIGUOUS +}; + +#define TARGET_ADDR_LOW_ALIGN(x) ((target_ulong)(x) & ~(TARGET_PAGE_SIZE - 1)) + +/* Return NOT_MAPPED if a page is not mapped into target physical memory */ +/* MAPPED_CONTIGUOUS if all pages are mapped into target physical memory and contiguous */ +/* MAPPED_NOT_CONTIGUOUS if all pages are mapped into target physical memory but not contiguous */ +static int get_target_mem_state(const CPUState *env, const void* target_addr, int len) +{ + void* aligned_target_addr = TARGET_ADDR_LOW_ALIGN(target_addr); + int to_end_page = (long)aligned_target_addr + TARGET_PAGE_SIZE - (long)target_addr; + int ret = MAPPED_CONTIGUOUS; + + if (aligned_target_addr != target_addr) + { + void* phys_addr = get_phys_mem_addr(env, aligned_target_addr); + void* last_phys_addr = phys_addr; + if (phys_addr == 0) + { + return NOT_MAPPED; + } + if (len > to_end_page) + { + len -= to_end_page; + aligned_target_addr += TARGET_PAGE_SIZE; + int i; + for(i=0;ivisual, AllocNone); + attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask; + attr.override_redirect = 0; //fullscreen; + mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask | CWOverrideRedirect; + + win = XCreateWindow( dpy, root, 0, 0, width, height, + 0, vis->depth, InputOutput, + vis->visual, mask, &attr ); + + /* set hints and properties */ + { + XSizeHints sizehints; + sizehints.x = x; + sizehints.y = y; + sizehints.width = width; + sizehints.height = height; + sizehints.flags = USSize | USPosition; + XSetWMNormalHints(dpy, win, &sizehints); + XSetStandardProperties(dpy, win, name, name, + None, (char **)NULL, 0, &sizehints); + } + + /* + int loop = 1; + while (loop) { + while (XPending(dpy) > 0) { + XEvent event; + XNextEvent(dpy, &event); + switch (event.type) { + case CreateNotify: + { + if (((XCreateWindowEvent*)&event)->window == win) + { + loop = 0; + } + break; + } + } + } +}*/ + + return win; +} + + +typedef struct +{ + void* key; + void* value; +} Assoc; + + +#define MAX_HANDLED_PROCESS 100 +#define MAX_ASSOC_SIZE 100 + +typedef struct +{ + int process_id; + + int next_available_context_number; + + void* vertexPointer; + void* normalPointer; + void* colorPointer; + void* texCoordPointer; + int vertexPointerStride; + + int serverActiveTexture; + int clientActiveTexture; + int pointerArraysEnable[6]; + int texCoordPointerEnable[16]; + + Assoc association_fakecontext_glxcontext[MAX_ASSOC_SIZE]; + Assoc association_clientdrawable_serverdrawable[MAX_ASSOC_SIZE]; +} ProcessStruct; + +ProcessStruct processTab[MAX_HANDLED_PROCESS]; + +int last_process_id = 0; + +target_ulong args[50]; + + +#ifdef SYSTEMATIC_ERROR_CHECK +int last_error = 0; +#endif + + +#define ARG_TO_CHAR(x) (char)(x) +#define ARG_TO_UNSIGNED_CHAR(x) (unsigned char)(x) +#define ARG_TO_SHORT(x) (short)(x) +#define ARG_TO_UNSIGNED_SHORT(x) (unsigned short)(x) +#define ARG_TO_INT(x) (int)(x) +#define ARG_TO_UNSIGNED_INT(x) (unsigned int)(x) +#define ARG_TO_FLOAT(x) (*(float*)&(x)) +#define ARG_TO_DOUBLE(x) (*(double*)(x)) +#define ARG_TO_FLOAT16_ARRAY(x) (float*)(x) +#define ARG_TO_DOUBLE16_ARRAY(x) (double*)(x) + +#include "server_stub.c" + +int do_function_call(int func_number, int pid); + + +static const int attribDouble[] = { + GLX_RGBA, + GLX_RED_SIZE, 1, + GLX_GREEN_SIZE, 1, + GLX_BLUE_SIZE, 1, + GLX_DOUBLEBUFFER, + None +}; + +void* get_association_fakecontext_glxcontext(ProcessStruct* process, void* fakecontext) +{ + int i; + for(i=0;i < MAX_ASSOC_SIZE && process->association_fakecontext_glxcontext[i].key != NULL;i++) + { + if (process->association_fakecontext_glxcontext[i].key == fakecontext) + return process->association_fakecontext_glxcontext[i].value; + } + return NULL; +} +void set_association_fakecontext_glxcontext(ProcessStruct* process, void* fakecontext, void* glxcontext) +{ + int i; + for(i=0;i < MAX_ASSOC_SIZE && process->association_fakecontext_glxcontext[i].key != NULL;i++) + { + if (process->association_fakecontext_glxcontext[i].key == fakecontext) + { + break; + } + } + if (i < MAX_ASSOC_SIZE) + { + process->association_fakecontext_glxcontext[i].key = fakecontext; + process->association_fakecontext_glxcontext[i].value = glxcontext; + } + else + { + fprintf(stderr, "MAX_ASSOC_SIZE reached\n"); + } +} +void unset_association_fakecontext_glxcontext(ProcessStruct* process, void* fakecontext) +{ + int i; + for(i=0;i < MAX_ASSOC_SIZE && process->association_fakecontext_glxcontext[i].key != NULL;i++) + { + if (process->association_fakecontext_glxcontext[i].key == fakecontext) + { + memmove(&process->association_fakecontext_glxcontext[i], + &process->association_fakecontext_glxcontext[i+1], + sizeof(Assoc) * (MAX_ASSOC_SIZE - 1 - i)); + return; + } + } +} + +void* get_association_clientdrawable_serverdrawable(ProcessStruct* process, void* clientdrawable) +{ + int i; + for(i=0;i < MAX_ASSOC_SIZE && process->association_clientdrawable_serverdrawable[i].key != NULL;i++) + { + if (process->association_clientdrawable_serverdrawable[i].key == clientdrawable) + return process->association_clientdrawable_serverdrawable[i].value; + } + return NULL; +} +void* get_association_serverdrawable_clientdrawable(ProcessStruct* process, void* serverdrawable) +{ + int i; + for(i=0;i < MAX_ASSOC_SIZE && process->association_clientdrawable_serverdrawable[i].key != NULL;i++) + { + if (process->association_clientdrawable_serverdrawable[i].value == serverdrawable) + return process->association_clientdrawable_serverdrawable[i].key; + } + return NULL; +} +void set_association_clientdrawable_serverdrawable(ProcessStruct* process, void* clientdrawable, void* serverdrawable) +{ + int i; + for(i=0;process->association_clientdrawable_serverdrawable[i].key != NULL;i++) + { + if (process->association_clientdrawable_serverdrawable[i].key == clientdrawable) + { + break; + } + } + if (i < MAX_ASSOC_SIZE) + { + process->association_clientdrawable_serverdrawable[i].key = clientdrawable; + process->association_clientdrawable_serverdrawable[i].value = serverdrawable; + } + else + { + fprintf(stderr, "MAX_ASSOC_SIZE reached\n"); + } +} + +void display_client_server_state(ProcessStruct* process) +{ + int i; + printf("serverActiveTexture = %d\n", process->serverActiveTexture); + printf("clientActiveTexture = %d\n", process->clientActiveTexture); + for(i=0;i<6;i++) + { + if (i == 5) continue; + printf("pointerArraysEnable[%d] = %d\n", i, process->pointerArraysEnable[i]); + } + for(i=0;i<8;i++) + { + printf("texCoordPointerEnable[%d] = %d\n", i, process->texCoordPointerEnable[i]); + } +} + +int do_function_call(int func_number, int pid) +{ + char ret_char = 0; + int ret_int = 0; + void* ret_ptr = NULL; + const char* ret_str = NULL; + + int iProcess; + ProcessStruct* process = NULL; + for(iProcess=0;iProcessprocess_id = pid; + break; + } + } + if (process == NULL) + { + fprintf(stderr, "Too many processes !\n"); + return 0; + } + + //fprintf(stderr, "%s\n", tab_opengl_calls_name[func_number]); + + switch (func_number) + { + case _exit_process_func: + { + int i; + if (display_function_call) fprintf(stderr, "_exit_process\n"); + + for(i=0;i < MAX_ASSOC_SIZE && process->association_fakecontext_glxcontext[i].key != NULL;i++) + { + GLXContext ctxt = process->association_fakecontext_glxcontext[i].value; + fprintf(stderr, "Destroy context corresponding to fake_context = %d\n", + process->association_fakecontext_glxcontext[i].key); + glXDestroyContext(dpy, ctxt); + } + + for(i=0;i < MAX_ASSOC_SIZE && process->association_clientdrawable_serverdrawable[i].key != NULL;i++) + { + fprintf(stderr, "Destroy window corresponding to client_drawable = %p\n", + process->association_clientdrawable_serverdrawable[i].key); + + Window win = process->association_clientdrawable_serverdrawable[i].value; + XDestroyWindow(dpy, win); + + int loop = 1; + while (loop) { + while (XPending(dpy) > 0) { + XEvent event; + XNextEvent(dpy, &event); + switch (event.type) { + case DestroyNotify: + { + if (((XDestroyWindowEvent*)&event)->window == win) + { + loop = 0; + } + break; + } + } + } + } + } + + if (process->vertexPointer) free(process->vertexPointer); + if (process->normalPointer) free(process->normalPointer); + if (process->colorPointer) free(process->colorPointer); + if (process->texCoordPointer) free(process->texCoordPointer); + + memmove(&processTab[iProcess], &processTab[iProcess+1], (MAX_HANDLED_PROCESS - 1 - iProcess) * sizeof(ProcessStruct)); + + last_process_id = 0; + + break; + } + + case _changeWindowState_func: + { + GLXDrawable client_drawable = args[0]; + if (display_function_call) fprintf(stderr, "_changeWindowState_func client_drawable=%p\n", (void*)client_drawable); + + GLXDrawable drawable = get_association_clientdrawable_serverdrawable(process, client_drawable); + if (drawable) + { + if (args[1] == IsViewable) + { + XMapWindow(dpy, drawable); + + int loop = 1; + while (loop) { + while (XPending(dpy) > 0) { + XEvent event; + XNextEvent(dpy, &event); + switch (event.type) { + case ConfigureNotify: + { + if (((XConfigureEvent*)&event)->window == drawable) + { + loop = 0; + } + break; + } + } + } + } + } + } + + break; + } + + case _moveResizeWindow_func: + { + GLXDrawable client_drawable = args[0]; + if (display_function_call) fprintf(stderr, "_moveResizeWindow client_drawable=%p\n", (void*)client_drawable); + + GLXDrawable drawable = get_association_clientdrawable_serverdrawable(process, client_drawable); + if (drawable) + { + int* params = (int*)args[1]; + fprintf(stderr, "%d %d %d %d\n", params[0], params[1], params[2], params[3]); + XMoveResizeWindow(dpy, drawable, params[0], params[1], params[2], params[3]); + + int loop = 1; + while (loop) { + while (XPending(dpy) > 0) { + XEvent event; + XNextEvent(dpy, &event); + switch (event.type) { + case ConfigureNotify: + { + if (((XConfigureEvent*)&event)->window == drawable) + { + loop = 0; + } + break; + } + } + } + } + } + break; + } + + case _needSync_func: + { + if (display_function_call) fprintf(stderr, "_needSync\n"); + ret_int = 1; + break; + } + + case glXChooseVisual_func: + { + if (display_function_call) fprintf(stderr, "glXChooseVisual\n"); + ret_ptr = glXChooseVisual(dpy, 0, (void*)args[2]); + break; + } + + case glXQueryExtensionsString_func: + { + if (display_function_call) fprintf(stderr, "glXQueryExtensionsString\n"); + ret_str = glXQueryExtensionsString(dpy, 0); + break; + } + + case glXQueryServerString_func: + { + if (display_function_call) fprintf(stderr, "glXQueryServerString %d\n", args[2]); + ret_str = glXQueryServerString(dpy, 0, args[2]); + break; + } + + case glXGetClientString_func: + { + if (display_function_call) fprintf(stderr, "glXQueryServerString %d\n", args[1]); + ret_str = glXGetClientString(dpy, args[1]); + break; + } + + case glXCreateContext_func: + { + void* fake_shareList = args[2]; + if (1 || display_function_call) fprintf(stderr, "glXCreateContext fake_shareList=%p\n", fake_shareList); + + process->next_available_context_number ++; + void* fake_ctxt = (void*)process->next_available_context_number; + + GLXContext shareList = get_association_fakecontext_glxcontext(process, fake_shareList); + XVisualInfo* vis = get_visual(); + GLXContext ctxt = glXCreateContext(dpy, vis, shareList, args[3]); + set_association_fakecontext_glxcontext(process, fake_ctxt, ctxt); + + ret_ptr = fake_ctxt; + break; + } + + case glXGetCurrentContext_func: + { + if (display_function_call) fprintf(stderr, "glXGetCurrentContext\n"); + ret_ptr = get_association_fakecontext_glxcontext(process, glXGetCurrentContext()); + break; + } + + case glXGetCurrentDrawable_func: + { + if (display_function_call) fprintf(stderr, "glXGetCurrentDrawable\n"); + ret_ptr = get_association_serverdrawable_clientdrawable(process, glXGetCurrentDrawable()); + break; + } + + case glXDestroyContext_func: + { + GLXContext fake_ctxt = args[1]; + if (display_function_call) fprintf(stderr, "glXDestroyContext fake_ctxt=%p\n", fake_ctxt); + + GLXContext ctxt = get_association_fakecontext_glxcontext(process, fake_ctxt); + if (ctxt == NULL) + { + fprintf(stderr, "invalid fake_ctxt (%p) !\n", fake_ctxt); + } + else + { + glXDestroyContext(dpy, ctxt); + unset_association_fakecontext_glxcontext(process, fake_ctxt); + } + break; + } + + case glXQueryVersion_func: + { + if (display_function_call) fprintf(stderr, "glXQueryVersion\n"); + ret_int = glXQueryVersion(dpy, args[1], args[2]); + break; + } + + case glGetString_func: + { + if (display_function_call) fprintf(stderr, "glGetString %d\n", args[0]); + ret_str = (char*)glGetString(args[0]); + break; + } + + case glXMakeCurrent_func: + { + GLXDrawable client_drawable = args[1]; + GLXContext fake_ctxt = args[2]; + if (display_function_call) fprintf(stderr, "glXMakeCurrent client_drawable=%p fake_ctx=%p\n", (void*)client_drawable, fake_ctxt); + + if (client_drawable == NULL && fake_ctxt == NULL) + { + ret_int = glXMakeCurrent(dpy, NULL, NULL); + } + else + { + GLXContext ctxt = get_association_fakecontext_glxcontext(process, fake_ctxt); + GLXDrawable drawable; + if (ctxt == NULL) + { + fprintf(stderr, "invalid fake_ctxt (%p) !\n", fake_ctxt); + ret_int = 0; + } + else + { + drawable = get_association_clientdrawable_serverdrawable(process, client_drawable); + if (drawable == NULL) + { + drawable = create_window("", 0, 0, 300, 300); + set_association_clientdrawable_serverdrawable(process, client_drawable, drawable); + } + + ret_int = glXMakeCurrent(dpy, drawable, ctxt); + } + } + break; + } + + case glXSwapBuffers_func: + { + GLXDrawable client_drawable = args[1]; + if (display_function_call) fprintf(stderr, "glXSwapBuffers client_drawable=%p\n", (void*)client_drawable); + + GLXDrawable drawable = get_association_clientdrawable_serverdrawable(process, client_drawable); + if (drawable == 0) + { + fprintf(stderr, "unknown client_drawable (%p) !\n", client_drawable); + } + else + { + glXSwapBuffers(dpy, drawable); + } + break; + } + + case glXIsDirect_func: + { + GLXContext fake_ctxt = args[1]; + if (display_function_call) fprintf(stderr, "glXIsDirect fake_ctx=%p\n", fake_ctxt); + GLXContext ctxt = get_association_fakecontext_glxcontext(process, fake_ctxt); + if (ctxt == NULL) + { + fprintf(stderr, "invalid fake_ctxt (%p) !\n", fake_ctxt); + ret_char = False; + } + else + { + ret_char = glXIsDirect(dpy, ctxt); + } + break; + } + + case glXGetConfig_func: + { + if (display_function_call) fprintf(stderr, "glXGetConfig %d\n", args[2]); + ret_int = glXGetConfig(dpy, get_visual(), args[2], args[3]); + break; + } + + case glXUseXFont_func: + { + if (display_function_call) fprintf(stderr, "glXUseXFont\n"); + fprintf(stderr, "not implemented !\n"); + break; + } + + + case glXQueryExtension_func: + { + if (display_function_call) fprintf(stderr, "glXQueryExtension\n"); + ret_int = glXQueryExtension(dpy, args[1], args[2]); + break; + } + + case glXChooseFBConfig_func: + { + if (display_function_call) fprintf(stderr, "glXChooseFBConfig\n"); + fprintf(stderr, "not implemented !\n"); + ret_ptr = 0; + break; + } + + case glXCreatePbuffer_func: + { + if (display_function_call) fprintf(stderr, "glXCreatePbuffer\n"); + fprintf(stderr, "not implemented !\n"); + ret_ptr = NULL; + break; + } + + case glXGetVisualFromFBConfig_func: + { + if (display_function_call) fprintf(stderr, "glXGetVisualFromFBConfig\n"); + fprintf(stderr, "not implemented !\n"); + ret_ptr = NULL; + break; + } + + case glXGetProcAddress_fake_func: + { + if (display_function_call) fprintf(stderr, "glXGetProcAddress %s\n", args[0]); + ret_int = glXGetProcAddress(args[0]) != NULL; + break; + } + + case glFlush_func: + { + glFlush(); + break; + } + + case glGetIntegerv_func: + { + int param = args[0]; + if (display_function_call) fprintf(stderr, "glGetIntegerv %d\n", param); + glGetIntegerv(param, args[1]); + break; + } + + case glGetFloatv_func: + { + int param = args[0]; + if (display_function_call) fprintf(stderr, "glGetFloatv %d\n", param); + glGetIntegerv(param, args[1]); + break; + } + + case glGetConvolutionParameteriv_func: + { + if (display_function_call) fprintf(stderr, "glGetConvolutionParameteriv %d %d\n", args[0], args[1]); + glGetConvolutionParameteriv(args[0], args[1], args[2]); + break; + } + + case glLightfv_func: + { + if (display_function_call) fprintf(stderr, "glLightfv\n"); + glLightfv(args[0], args[1],(float*)args[2]); + break; + } + + case glMaterialfv_func: + { + if (display_function_call) fprintf(stderr, "glMaterialfv\n"); + glMaterialfv(args[0], args[1], (float*)args[2]); + break; + } + + case glLightModelfv_func: + { + if (display_function_call) fprintf(stderr, "glLightModelfv\n"); + glLightModelfv(args[0], (float*)args[1]); + break; + } + + case glMap1f_func: + { + if (display_function_call) fprintf(stderr, "glMap1f\n"); + glMap1f(args[0], + ARG_TO_FLOAT(args[1]), + ARG_TO_FLOAT(args[2]), + args[3], + args[4], + (float*)args[5]); + break; + } + + case glMap1d_func: + { + if (display_function_call) fprintf(stderr, "glMap1d\n"); + glMap1f(args[0], + ARG_TO_DOUBLE(args[1]), + ARG_TO_DOUBLE(args[2]), + args[3], + args[4], + (double*)args[5]); + break; + } + + case glMap2f_func: + { + if (display_function_call) fprintf(stderr, "glMap2f\n"); + glMap2f(args[0], + ARG_TO_FLOAT(args[1]), + ARG_TO_FLOAT(args[2]), + args[3], + args[4], + ARG_TO_FLOAT(args[5]), + ARG_TO_FLOAT(args[6]), + args[7], + args[8], + (float*)args[9]); + break; + } + + case glMap2d_func: + { + if (display_function_call) fprintf(stderr, "glMap2d\n"); + glMap2d(args[0], + ARG_TO_DOUBLE(args[1]), + ARG_TO_DOUBLE(args[2]), + args[3], + args[4], + ARG_TO_DOUBLE(args[5]), + ARG_TO_DOUBLE(args[6]), + args[7], + args[8], + (double*)args[9]); + break; + } + + case glGenTextures_func: + { + int nTextures = args[0]; + if (display_function_call) fprintf(stderr, "glGenTextures\n"); + glGenTextures(nTextures, args[1]); + break; + } + + case glDeleteTextures_func: + { + if (display_function_call) fprintf(stderr, "glDeleteTextures\n"); + glDeleteTextures(args[0], (int*)args[1]); + break; + } + + case glCallLists_func: + { + if (display_function_call) fprintf(stderr, "glCallLists\n"); + glCallLists(args[0], args[1], (void*)args[2]); + break; + } + + case glTexImage1D_func: + { + if (display_function_call) fprintf(stderr, "glTexImage1D\n"); + glTexImage1D(args[0], + args[1], + args[2], + args[3], + args[4], + args[5], + args[6], + (void*)args[7]); + break; + } + + case glTexImage2D_func: + { + if (display_function_call) fprintf(stderr, "glTexImage2D\n"); + glTexImage2D(args[0], + args[1], + args[2], + args[3], + args[4], + args[5], + args[6], + args[7], + (void*)args[8]); + break; + } + + case glTexSubImage2D_func: + { + if (display_function_call) fprintf(stderr, "glTexSubImage2D\n"); + glTexSubImage2D(args[0], + args[1], + args[2], + args[3], + args[4], + args[5], + args[6], + args[7], + (void*)args[8]); + break; + } + + case glCompressedTexImage2DARB_func: + { + if (display_function_call) fprintf(stderr, "glCompressedTexImage2DARB\n"); + GET_EXT_PTR(void, glCompressedTexImage2DARB, (int,int,int,int,int,int,int,void*)); + ptr_func(args[0], + args[1], + args[2], + args[3], + args[4], + args[5], + args[6], + (void*)args[7]); + break; + } + + case glCompressedTexSubImage2DARB_func: + { + if (display_function_call) fprintf(stderr, "glCompressedTexSubImage2DARB\n"); + GET_EXT_PTR(void, glCompressedTexSubImage2DARB, (int,int,int,int,int,int,int,void*)); + ptr_func (args[0], + args[1], + args[2], + args[3], + args[4], + args[5], + args[6], + (void*)args[7]); + break; + } + + case glGenProgramsARB_func: + { + if (display_function_call) fprintf(stderr, "glGenProgramsARB\n"); + GET_EXT_PTR(void, glGenProgramsARB, (int,int*)); + ptr_func(args[0], (int*)args[1]); + break; + } + + case glProgramStringARB_func: + { + if (display_function_call) fprintf(stderr, "glProgramStringARB\n"); + GET_EXT_PTR(void, glProgramStringARB, (int,int,int,void*)); + ptr_func(args[0], args[1], args[2], (void*)args[3]); + break; + } + + case glDeleteProgramsARB_func: + { + if (display_function_call) fprintf(stderr, "glDeleteProgramsARB\n"); + GET_EXT_PTR(void, glDeleteProgramsARB, (int,int*)); + ptr_func(args[0], (int*)args[1]); + break; + } + + case glShaderSourceARB_func: + { + if (display_function_call) fprintf(stderr, "glShaderSourceARB\n"); + GET_EXT_PTR(void, glShaderSourceARB, (int,int,char**,void*)); + ptr_func(args[0], 1, (char**)&args[1], NULL); + break; + } + + case glGetUniformLocationARB_func: + { + if (display_function_call) fprintf(stderr, "glGetUniformLocationARB\n"); + GET_EXT_PTR(int, glGetUniformLocationARB, (int,char*)); + ret_int = ptr_func(args[0], (char*)args[1]); + break; + } + + case glPointParameterfvARB_func: + { + if (display_function_call) fprintf(stderr, "glPointParameterfvARB\n"); + GET_EXT_PTR(void, glPointParameterfvARB, (int,float*)); + ptr_func(args[0], (float*)args[1]); + break; + } + + case glGetVertexAttribfvARB_func: + { + if (display_function_call) fprintf(stderr, "glGetVertexAttribfvARB\n"); + GET_EXT_PTR(void, glGetVertexAttribfvARB, (int,int,float*)); + ptr_func(args[0], args[1], (float*)args[2]); + break; + } + + case glGetVertexAttribivARB_func: + { + if (display_function_call) fprintf(stderr, "glGetVertexAttribivARB\n"); + GET_EXT_PTR(void, glGetVertexAttribfvARB, (int,int,double*)); + ptr_func(args[0], args[1], (double*)args[2]); + break; + } + + case glGetVertexAttribdvARB_func: + { + if (display_function_call) fprintf(stderr, "glGetVertexAttribdvARB\n"); + GET_EXT_PTR(void, glGetVertexAttribdvARB, (int,int,int*)); + ptr_func(args[0], args[1], (int*)args[2]); + break; + } + + case glGetProgramLocalParameterfvARB_func: + { + if (display_function_call) fprintf(stderr, "glGetProgramLocalParameterfvARB\n"); + GET_EXT_PTR(void, glGetProgramLocalParameterfvARB, (int,int,float*)); + ptr_func(args[0], args[1], (float*)args[2]); + break; + } + + case glGetProgramLocalParameterdvARB_func: + { + if (display_function_call) fprintf(stderr, "glGetProgramLocalParameterdvARB\n"); + GET_EXT_PTR(void, glGetProgramLocalParameterdvARB, (int,int,double*)); + ptr_func(args[0], args[1], (double*)args[2]); + break; + } + + case glGetProgramEnvParameterfvARB_func: + { + if (display_function_call) fprintf(stderr, "glGetProgramEnvParameterfvARB\n"); + GET_EXT_PTR(void, glGetProgramEnvParameterfvARB, (int,int,float*)); + ptr_func(args[0], args[1], (float*)args[2]); + break; + } + + case glGetProgramEnvParameterdvARB_func: + { + if (display_function_call) fprintf(stderr, "glGetProgramEnvParameterdvARB\n"); + GET_EXT_PTR(void, glGetProgramEnvParameterdvARB, (int,int,double*)); + ptr_func(args[0], args[1], (double*)args[2]); + break; + } + + case glGetProgramivARB_func: + { + if (display_function_call) fprintf(stderr, "glGetProgramivARB\n"); + GET_EXT_PTR(void, glGetProgramivARB, (int,int,int*)); + ptr_func(args[0], args[1], (int*)args[2]); + break; + } + + case glGetProgramStringARB_func: + { + assert(0); + /* + int len; + char* string; + { + GET_EXT_PTR(void, glGetProgramivARB, (int,int,int*)); + ptr_func(args[0], GL_PROGRAM_LENGTH_ARB, &len); + string = g_malloc(len); + } + if (display_function_call) fprintf(stderr, "glGetProgramStringARB\n"); + GET_EXT_PTR(void, glGetProgramStringARB, (int,int,void*)); + ptr_func(args[0], args[1], string); + len = strlen(string); + write_to_client(client, &len, sizeof(int)); + write_to_client(client, string, len); + g_free(string);*/ + break; + } + + case glTexImage3D_func: + { + if (display_function_call) fprintf(stderr, "glTexImage3D\n"); + glTexImage3D(args[0], + args[1], + args[2], + args[3], + args[4], + args[5], + args[6], + args[7], + args[8], + (void*)args[9]); + break; + } + + case glGetTexLevelParameteriv_func: + { + if (display_function_call) fprintf(stderr, "glGetTexLevelParameteriv\n"); + glGetTexLevelParameteriv(args[0], args[1], args[2], (int*)args[3]); + break; + } + + case glFogfv_func: + { + if (display_function_call) fprintf(stderr, "glFogfv\n"); + glFogfv(args[0], (float*)args[1]); + break; + } + + case glBitmap_func: + { + if (display_function_call) fprintf(stderr, "glBitmap\n"); + glBitmap (args[0], + args[1], + ARG_TO_FLOAT(args[2]), + ARG_TO_FLOAT(args[3]), + ARG_TO_FLOAT(args[4]), + ARG_TO_FLOAT(args[5]), + (void*)args[6]); + break; + } + + case glTexGenfv_func: + { + if (display_function_call) fprintf(stderr, "glTexGenfv\n"); + glTexGenfv(args[0], args[1], (float*)args[2]); + break; + } + + case glTexEnvfv_func: + { + if (display_function_call) fprintf(stderr, "glTexEnvfv\n"); + glTexEnvfv(args[0], args[1], (float*)args[2]); + break; + } + + case glTexParameterfv_func: + { + if (display_function_call) fprintf(stderr, "glTexParameterfv\n"); + glTexParameterfv(args[0], args[1], (float*)args[2]); + break; + } + + case glTexParameteriv_func: + { + if (display_function_call) fprintf(stderr, "glTexParameteriv\n"); + glTexParameteriv(args[0], args[1], (int*)args[2]); + break; + } + + case glVertexPointer_func: + { + if (display_function_call) fprintf(stderr, "glVertexPointer\n"); + if (process->vertexPointer) free(process->vertexPointer); + int size = args[3]; + process->vertexPointer = malloc(size); + memcpy(process->vertexPointer, args[4], size); + glVertexPointer(args[0], args[1], args[2], process->vertexPointer); + break; + } + + case glNormalPointer_func: + { + if (display_function_call) fprintf(stderr, "glNormalPointer\n"); + if (process->normalPointer) free(process->normalPointer); + int size = args[2]; + process->normalPointer = malloc(size); + memcpy(process->normalPointer, args[3], size); + glNormalPointer(args[0], args[1], process->normalPointer); + break; + } + + case glColorPointer_func: + { + if (display_function_call) fprintf(stderr, "glColorPointer\n"); + if (process->colorPointer) free(process->colorPointer); + int size = args[3]; + process->colorPointer = malloc(size); + memcpy(process->colorPointer, args[4], size); + glColorPointer(args[0], args[1], args[2], process->colorPointer); + + break; + } + + case glTexCoordPointer_func: + { + if (display_function_call) fprintf(stderr, "glTexCoordPointer\n"); + if (process->texCoordPointer) free(process->texCoordPointer); + int size = args[3]; + process->texCoordPointer = malloc(size); + memcpy(process->texCoordPointer, args[4], size); + glTexCoordPointer(args[0], args[1], args[2], process->texCoordPointer); + break; + } + + case glBegin_func: + { + //display_client_server_state(client); + glBegin(args[0]); + break; + } + + case glActiveTexture_func: + case glActiveTextureARB_func: + { + process->serverActiveTexture = args[0] - GL_TEXTURE0_ARB; + //printf("set server active texture %d\n", clientActiveTexture); + glActiveTexture(args[0]); + break; + } + + case glClientActiveTexture_func: + case glClientActiveTextureARB_func: + { + process->clientActiveTexture = args[0] - GL_TEXTURE0_ARB; + //printf("set client active texture %d\n", clientActiveTexture); + glClientActiveTexture(args[0]); + break; + } + + case glEnableClientState_func: + { + int num = args[0] - GL_VERTEX_ARRAY; + if (num == GL_TEXTURE_COORD_ARRAY - GL_VERTEX_ARRAY) + { + //printf("enable texture %d\n", clientActiveTexture); + process->texCoordPointerEnable[process->clientActiveTexture] = 1; + } + else if (num >= 0 && num < 6) + { + //printf("enable feature %d\n", num); + process->pointerArraysEnable[num] = 1; + } + glEnableClientState(args[0]); + break; + } + + case glDisableClientState_func: + { + int num = args[0] - GL_VERTEX_ARRAY; + if (num == GL_TEXTURE_COORD_ARRAY - GL_VERTEX_ARRAY) + { + //printf("disable texture %d\n", clientActiveTexture); + process->texCoordPointerEnable[process->clientActiveTexture] = 0; + } + else if (num >= 0 && num < 6) + { + //printf("disable feature %d\n", num); + process->pointerArraysEnable[num] = 0; + } + glDisableClientState(args[0]); + break; + } + + case glArrayElement_func: + { + if (display_function_call) fprintf(stderr, "glArrayElement\n"); + glArrayElement(args[0]); + break; + } + + case glDrawArrays_func: + { + if (display_function_call) fprintf(stderr, "glDrawArrays\n"); + //printf("glDrawArrays %d %d %d\n",args[0], args[1],args[2]); + glDrawArrays(args[0], args[1],args[2]); + break; + } + + case glDrawElements_func: + { + if (display_function_call) fprintf(stderr, "glDrawElements\n"); + glDrawElements(args[0], args[1],args[2],(void*)args[3]); + break; + } + + case glGetError_func: + { +#ifdef SYSTEMATIC_ERROR_CHECK + ret_int = last_error; +#else + ret_int = glGetError(); +#endif + break; + } + + default: + execute_func(func_number, &ret_int, &ret_char); + break; + } + +#ifdef SYSTEMATIC_ERROR_CHECK + if (funcNumber == glGetError_func) + { + last_error = 0; + } + else + { + last_error = glGetError(); + if (last_error != 0) + { + printf("error %s 0x%X\n", tab_opengl_calls_name[func_number], last_error); + } + } +#endif + + Signature* signature = (Signature*)tab_opengl_calls[func_number]; + int ret_type = signature->ret_type; + int nb_args = signature->nb_args; + switch(ret_type) + { + case TYPE_NONE: + break; + + case TYPE_CHAR: + case TYPE_UNSIGNED_CHAR: + ret_int = ret_char; + break; + + case TYPE_INT: + case TYPE_UNSIGNED_INT: + break; + + case TYPE_POINTER: + ret_int = ret_ptr; + break; + + case TYPE_VISUAL_INFO: + //memcpy(args[nb_args], ret_ptr, sizeof(XVisualInfo)); + XFree(ret_ptr); + break; + + case TYPE_CONST_CHAR: + { + strncpy(ret_string, ret_str, 32768); + break; + } + + default: + fprintf(stderr, "unexpected ret type : %d\n", ret_type); + exit(-1); + break; + } + + return ret_int; +} + +int doing_opengl = 0; +static int last_func_number = -1; + +static int decode_call_int(CPUState *env, int func_number, int pid, target_ulong target_ret_string, + target_ulong in_args, target_ulong in_args_size) +{ + Signature* signature = (Signature*)tab_opengl_calls[func_number]; + int ret_type = signature->ret_type; + int has_out_parameters = signature->has_out_parameters; + int nb_args = signature->nb_args; + int* args_type = signature->args_type; + int i; + int ret; + const int* args_size = NULL; + target_ulong saved_out_ptr[50]; + + if (last_func_number == _exit_process_func && func_number == _exit_process_func) + { + last_func_number = -1; + return 0; + } + + if (last_process_id == 0) + { + last_process_id = pid; + } + else if (last_process_id != pid) + { + fprintf(stderr, "damnit. I don't support (yet) opengl calls coming from // processes... Sorry !\n"); + return 0; + } + + if (dpy == NULL) + { + dpy = XOpenDisplay(NULL); + memset(processTab, 0, sizeof(processTab)); + ret_string = malloc(32768); + } + + reset_host_offset(); + + if (nb_args) + { + if (memcpy_target_to_host(env, args, in_args, sizeof(target_ulong) * nb_args) == 0) + { + fprintf(stderr, "call %s pid=%d\n", tab_opengl_calls_name[func_number], pid); + fprintf(stderr, "cannot get call parameters\n"); + return 0; + } + + args_size = (const int*)get_host_read_pointer(env, in_args_size, sizeof(int) * nb_args); + if (args_size == NULL) + { + fprintf(stderr, "call %s pid=%d\n", tab_opengl_calls_name[func_number], pid); + fprintf(stderr, "cannot get call parameters size\n"); + return 0; + } + } + + for(i=0;icr[3]); + if( ! (func_number >= 0 && func_number < GL_N_CALLS) ) + { + fprintf(stderr, "func_number >= 0 && func_number < GL_N_CALLS failed\n"); + return 0; + } + if (func_number == glDrawElements_func) + { + fprintf(stderr, "entering call %s pid=%d\n", tab_opengl_calls_name[func_number], pid); + } + ret = decode_call_int(env, func_number, pid, target_ret_string, in_args, in_args_size); + if (func_number == glDrawElements_func) + { + fprintf(stderr, "leaving call %s pid=%d\n", tab_opengl_calls_name[func_number], pid); + } + return ret; +} + +void helper_opengl(CPUState *env) +{ + doing_opengl = 1; + env->regs[R_EAX] = decode_call(env, + env->regs[R_EAX], + env->regs[R_EBX], + env->regs[R_ECX], + env->regs[R_EDX], + env->regs[R_ESI]); + doing_opengl = 0; +} diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/target-i386/op.c qemu/target-i386/op.c --- qemu.ori/target-i386/op.c 2006-11-14 00:18:10.000000000 +0100 +++ qemu/target-i386/op.c 2006-11-14 21:46:24.000000000 +0100 @@ -132,6 +132,13 @@ static inline target_long lshift(target_ #endif +void helper_int99(void); + +void OPPROTO op_int99(void) +{ + helper_int99(); +} + /* operations with flags */ /* update flags with T0 and T1 (add/sub case) */ diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/target-i386/opengl_client.c qemu/target-i386/opengl_client.c --- qemu.ori/target-i386/opengl_client.c 1970-01-01 01:00:00.000000000 +0100 +++ qemu/target-i386/opengl_client.c 2006-11-14 21:46:24.000000000 +0100 @@ -0,0 +1,1956 @@ +/* + * Guest-side implementation of GL/GLX API. Replacement of standard libGL.so + * + * Copyright (c) 2006 Even Rouault + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +/* gcc -Wall -g opengl_client.c -shared -o libGL.so.1 */ + +#define _GNU_SOURCE +#define _XOPEN_SOURCE 600 +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#define EXT_FUNC(x) x + +#define CHECK_PROC_WITH_RET(x) \ + static int detect = -1; \ + if (detect < 0) \ + { \ + detect = (glXGetProcAddress((const GLubyte *)#x) != NULL); \ + } \ + if (detect == 0) \ + { \ + fprintf(stderr, "Symbol " #x " not available in server libGL\n"); \ + return 0; \ + } + +#define CHECK_PROC(x) \ + static int detect = -1; \ + if (detect < 0) \ + { \ + detect = (glXGetProcAddress((const GLubyte *)#x) != NULL); \ + } \ + if (detect == 0) \ + { \ + fprintf(stderr, "Symbol " #x " not available in server libGL\n"); \ + return; \ + } + +#include "opengl_func.h" + +#include "glgetv_cst.h" + +typedef struct +{ + int size; + int type; + int stride; + const void* ptr; +} VertexNormalColorPointerStruct; + +static VertexNormalColorPointerStruct vertexPointer = {0}; +static VertexNormalColorPointerStruct normalPointer = {0}; +static VertexNormalColorPointerStruct colorPointer = {0}; +static VertexNormalColorPointerStruct texCoordPointer[16] = {{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},}; +static int clientActiveTexture = 0; +static int pointerArraysEnable[6] = { 0 }; +static int texCoordPointerEnable[16] = { 0 }; + + +static struct sigaction old_action; +void sigsegv_handler(int signum, siginfo_t* info, void* ptr) +{ + struct ucontext* context = (struct ucontext*)ptr; + unsigned char* eip_ptr = context->uc_mcontext.gregs[REG_EIP]; + if (eip_ptr[0] == 0xCD && eip_ptr[1] == 0x99) + { + context->uc_mcontext.gregs[REG_EIP] += 2; + } + else + { + fprintf(stderr, "unhandled SIGSEGV\n"); + exit(-1); // FIXME + if (old_action.sa_flags & SA_SIGINFO) + { + old_action.sa_sigaction(signum, info, ptr); + } + else + { + old_action.sa_handler(signum); + } + } +} + +int call_opengl(int func_number, int pid, void* ret_string, void* args, void* args_size) +{ + __asm__ ("push %ebx"); + __asm__ ("push %ecx"); + __asm__ ("push %edx"); + __asm__ ("push %esi"); + __asm__ ("mov %0, %%eax"::"m"(func_number)); + __asm__ ("mov %0, %%ebx"::"m"(pid)); + __asm__ ("mov %0, %%ecx"::"m"(ret_string)); + __asm__ ("mov %0, %%edx"::"m"(args)); + __asm__ ("mov %0, %%esi"::"m"(args_size)); + __asm__ ("int $0x99"); + __asm__ ("pop %esi"); + __asm__ ("pop %edx"); + __asm__ ("pop %ecx"); + __asm__ ("pop %ebx"); +} + +static void do_opengl_call(int func_number, void* ret_ptr, ...); + +static int pid_fork = -1; +static int stop_now = 0; + +static void sigint_exit_process_func(int ignored) +{ + stop_now = 1; + if (pid_fork > 0) + { + call_opengl(_exit_process_func, pid_fork, NULL, NULL, NULL); + pid_fork = 0; + } + exit(0); +} + +static void real_sigint_exit_process_func(int ignored) +{ + call_opengl(_exit_process_func, getpid(), NULL, NULL, NULL); + exit(0); +} + + +static void do_init() +{ + static int init_done = 0; + if (init_done == 0) + { + init_done = 1; + + pid_fork = fork(); + if (pid_fork > 0) + { + struct sigaction action; + action.sa_sigaction = sigsegv_handler; + sigemptyset(&(action.sa_mask)); + action.sa_flags = SA_SIGINFO; + sigaction(SIGSEGV, &action, &old_action); + + signal(SIGINT, sigint_exit_process_func); + signal(SIGKILL, sigint_exit_process_func); + signal(SIGQUIT, sigint_exit_process_func); + int status; + wait(&status); + if (pid_fork > 0) + { + call_opengl(_exit_process_func, pid_fork, NULL, NULL, NULL); + pid_fork = 0; + } + if (WIFEXITED(status)) + { + exit(WEXITSTATUS(status)); + } + else + { + exit(0); + } + } + + signal(SIGINT, real_sigint_exit_process_func); + + struct sigaction action; + action.sa_sigaction = sigsegv_handler; + sigemptyset(&(action.sa_mask)); + action.sa_flags = SA_SIGINFO; + sigaction(SIGSEGV, &action, &old_action); + } +} + +static int try_to_put_into_phys_memory(void* addr, int len) +{ + int pagesize = getpagesize(); + int i; + void* aligned_addr = ((long)addr & (~(pagesize - 1))); + int to_end_page = (long)aligned_addr + pagesize - (long)addr; + char c = 0; + if (aligned_addr != addr) + { + c += ((char*)addr)[0]; + if (len <= to_end_page) + { + return c; + } + len -= to_end_page; + addr = aligned_addr + pagesize; + } + for(i=0;i= 0 && func_number < GL_N_CALLS) ) + { + fprintf(stderr, "func_number >= 0 && func_number < GL_N_CALLS failed\n"); + return; + } + + Signature* signature = (Signature*)tab_opengl_calls[func_number]; + int ret_type = signature->ret_type; + int nb_args = signature->nb_args; + int* args_type = signature->args_type; + static long args[100] = {0}; + static int args_size[100]={0}; + static double args_double[100]={0}; + static char* ret_string = NULL; + int ret_int; + va_list list; + int i; + + do_init(); + + if (ret_string == NULL) + { + int pagesize = getpagesize(); + int nbPages = 32768 / pagesize; + posix_memalign(&ret_string, pagesize, 32768); + memset(ret_string, 0, 32768); + int ret = mlock(ret_string, 32768); + if (ret == -1) + { + fprintf(stderr, "errno = %d, ENOMEM=%d, EPERM=%d, EINVAL=%d\n", errno, ENOMEM, EPERM, EINVAL); + assert(0); + } + } + + //fprintf(stderr, "%s\n", tab_opengl_calls_name[func_number]); + + va_start(list, ret_ptr); + for(i=0;i= 0 && clientActiveTexture < 16); + } + else + if (func_number == glEnableClientState_func) + { + int num = (int)args[0] - GL_VERTEX_ARRAY; + if (num == GL_TEXTURE_COORD_ARRAY - GL_VERTEX_ARRAY) + { + //printf("enable texture %d\n", clientActiveTexture); + texCoordPointerEnable[clientActiveTexture] = 1; + } + else + if (num >= 0 && num < 6) + { + //printf("enable feature %d\n", num); + pointerArraysEnable[num] = 1; + } + } + else if (func_number == glDisableClientState_func) + { + int num = (int)args[0] - GL_VERTEX_ARRAY; + if (num == GL_TEXTURE_COORD_ARRAY - GL_VERTEX_ARRAY) + { + //printf("disable texture %d\n", clientActiveTexture); + texCoordPointerEnable[clientActiveTexture] = 0; + } + else + if (num >= 0 && num < 6) + { + //printf("disable feature %d\n", num); + pointerArraysEnable[num] = 0; + } + } + else if (func_number == glPushClientAttrib_func) + { + if ((int)args[0] & GL_CLIENT_VERTEX_ARRAY_BIT) + { + printf("save vertex array\n"); + } + } + + /* We set fake values into the pointers to avoid make QEMU crash */ + switch (func_number) + { + case glXQueryVersion_func: + { + int* ptr; + ptr = (int*)args[1]; + if (ptr) *ptr = 0; + ptr = (int*)args[2]; + if (ptr) *ptr = 0; + break; + } + + case glXGetConfig_func: + { + *(int*)args[3] = 0; + break; + } + + case glGetIntegerv_func: + { + int* ptr = (int*)args[1]; + int param = (int)args[0]; + i = 0; + while(limits[i].count) + { + if (limits[i].token == param) + { + memset(ptr, 0, limits[i].count * sizeof(int)); + break; + } + i++; + } + if (limits[i].count == 0) + { + fprintf(stderr, "unknown name for glGetIntegerv : %d\n", param); + } + args_size[1] = limits[i].count * sizeof(int); + break; + } + + case glGetFloatv_func: + { + float* ptr = (float*)args[1]; + int param = (int)args[0]; + i = 0; + while(limits[i].count) + { + if (limits[i].token == param) + { + memset(ptr, 0, limits[i].count * sizeof(float)); + break; + } + i++; + } + if (limits[i].count == 0) + { + fprintf(stderr, "unknown name for glGetFloatv : %d\n", param); + } + args_size[1] = limits[i].count * sizeof(float); + break; + } + + case glGetConvolutionParameteriv_func: + { + int* ptr = (int*)args[2]; + args_size[2] = (((int)args[1] == GL_CONVOLUTION_BORDER_COLOR) ? 4 : 1) * sizeof(int); + memset(ptr, 0, (((int)args[1] == GL_CONVOLUTION_BORDER_COLOR) ? 4 : 1) * sizeof(int)); + break; + } + + case glXQueryExtension_func: + { + int* ptr; + ptr = (int*)args[1]; + if (ptr) *ptr = 0; + ptr = (int*)args[2]; + if (ptr) *ptr = 0; + break; + } + + case glGenTextures_func: + { + assert(args[1]); + memset(args[1], 0, (int)args[0] * sizeof(int)); + args_size[1] = (int)args[0] * sizeof(int); + break; + } + + case glGetTexLevelParameteriv_func: + { + int* ptr = (int*)args[3]; + assert(ptr); + *ptr = 0; + break; + } + + case glGenProgramsARB_func: + { + assert(args[1]); + *(int*)args[1] = 0; + break; + } + + case glXChooseFBConfig_func: + { + assert(args[3]); + *(int*)args[3] = 0; + break; + } + + case glGetVertexAttribfvARB_func: + { + assert(args[2]); + memset(args[2], 0, (((int)args[1] == GL_CURRENT_VERTEX_ATTRIB_ARB) ? 4 : 1) * sizeof(float)); + args_size[2] = (((int)args[1] == GL_CURRENT_VERTEX_ATTRIB_ARB) ? 4 : 1) * sizeof(float); + break; + } + + case glGetVertexAttribivARB_func: + { + assert(args[2]); + memset(args[2], 0, (((int)args[1] == GL_CURRENT_VERTEX_ATTRIB_ARB) ? 4 : 1) * sizeof(int)); + args_size[2] = (((int)args[1] == GL_CURRENT_VERTEX_ATTRIB_ARB) ? 4 : 1) * sizeof(int); + break; + } + + case glGetVertexAttribdvARB_func: + { + assert(args[2]); + memset(args[2], 0, (((int)args[1] == GL_CURRENT_VERTEX_ATTRIB_ARB) ? 4 : 1) * sizeof(double)); + args_size[2] = (((int)args[1] == GL_CURRENT_VERTEX_ATTRIB_ARB) ? 4 : 1) * sizeof(double); + break; + } + + case glGetProgramLocalParameterfvARB_func: + { + assert(args[2]); + memset(args[2], 0, 4 * sizeof(float)); + args_size[2] = 4 * sizeof(float); + break; + } + + case glGetProgramLocalParameterdvARB_func: + { + assert(args[2]); + memset(args[2], 0, 4 * sizeof(double)); + args_size[2] = 4 * sizeof(double); + break; + } + + case glGetProgramEnvParameterfvARB_func: + { + assert(args[2]); + memset(args[2], 0, 4 * sizeof(float)); + args_size[2] = 4 * sizeof(float); + break; + } + + case glGetProgramEnvParameterdvARB_func: + { + assert(args[2]); + memset(args[2], 0, 4 * sizeof(double)); + args_size[2] = 4 * sizeof(double); + break; + } + + case glGetProgramivARB_func: + { + assert(args[2]); + memset(args[2], 0, sizeof(int)); + break; + } + + case glGetProgramStringARB_func: + { + int len; + assert(args[2]); + assert(0); // FIXME + /*read_from_sock(sock, &len, sizeof(int)); + read_from_sock(sock, args[2], len);*/ + } + + default: + break; + } + + if (signature->ret_type == TYPE_CONST_CHAR) + { + try_to_put_into_phys_memory(ret_string, 32768); + } + + // DO CALL + if (stop_now) + return; + + ret_int = call_opengl(func_number, getpid(), (signature->ret_type == TYPE_CONST_CHAR) ? ret_string : NULL, args, args_size); + + if (signature->ret_type == TYPE_UNSIGNED_INT || + signature->ret_type == TYPE_INT) + { + *(int*)ret_ptr = ret_int; + } + else if (signature->ret_type == TYPE_UNSIGNED_CHAR || + signature->ret_type == TYPE_CHAR) + { + *(char*)ret_ptr = ret_int; + } + else if (signature->ret_type == TYPE_POINTER) + { + *(void**)ret_ptr = (void*)ret_int; + } + else if (signature->ret_type == TYPE_CONST_CHAR) + { + char* ret_str = NULL; + if (func_number == glXQueryExtensionsString_func) + { + static char* glXQueryExtensionsString_ret = NULL; + if (glXQueryExtensionsString_ret) free(glXQueryExtensionsString_ret); + glXQueryExtensionsString_ret = ret_str = strdup(ret_string); + } + else if (func_number == glXQueryServerString_func) + { + static char* glXQueryServerString_ret[100] = {NULL}; + int name = (int)args[2]; + assert(name >= 0 && name < 100); + if (glXQueryServerString_ret[name]) free(glXQueryServerString_ret[name]); + glXQueryServerString_ret[name] = ret_str = strdup(ret_string); + } + else if (func_number == glXGetClientString_func) + { + static char* glXGetClientString_ret[100] = {NULL}; + int name = (int)args[1]; + assert(name >= 0 && name < 100); + if (glXGetClientString_ret[name]) free(glXGetClientString_ret[name]); + glXGetClientString_ret[name] = ret_str = strdup(ret_string); + } + else if (func_number == glGetString_func) + { + static char* glGetString_ret[10000] = {NULL}; + int name = (int)args[0]; + assert(name >= 0 && name < 10000); + if (glGetString_ret[name]) free(glGetString_ret[name]); + glGetString_ret[name] = ret_str = strdup(ret_string); + } + else + { + exit(-1); + } + *(char**)(ret_ptr) = ret_str; + } + + /*switch (func_number) + { + case glXChooseVisual_func: + { + Display* dpy = args[0]; + int screen = (int)args[1]; + + XVisualInfo temp, *vis; + long mask; + int n; + + mask = VisualScreenMask | VisualDepthMask | VisualClassMask; + temp.screen = screen; + temp.depth = DefaultDepth(dpy,screen); + temp.class = DefaultVisual(dpy,screen)->class; + temp.visualid = DefaultVisual(dpy,screen)->visualid; + mask |= VisualIDMask; + + vis = XGetVisualInfo( dpy, mask, &temp, &n ); + + *(void**)(ret_ptr) = vis; + break; + } + + default: + break; +}*/ +} + +void glGetIntegerv( GLenum pname, GLint *params ) +{ + do_opengl_call(glGetIntegerv_func, NULL, pname, params); +} + +void glGetFloatv( GLenum pname, GLfloat *params ) +{ + do_opengl_call(glGetFloatv_func, NULL, pname, params); +} + +const char *glXQueryExtensionsString( Display *dpy, int screen ) +{ + const char* ret = NULL; + do_opengl_call(glXQueryExtensionsString_func, &ret, dpy, screen); + return ret; +} + +XVisualInfo* glXChooseVisual( Display *dpy, int screen, + int *attribList ) +{ + XVisualInfo temp, *vis; + long mask; + int n; + + mask = VisualScreenMask | VisualDepthMask | VisualClassMask; + temp.screen = screen; + temp.depth = DefaultDepth(dpy,screen); + temp.class = DefaultVisual(dpy,screen)->class; + temp.visualid = DefaultVisual(dpy,screen)->visualid; + mask |= VisualIDMask; + + vis = XGetVisualInfo( dpy, mask, &temp, &n ); + + //do_opengl_call(glXChooseVisual_func, vis, dpy, screen, attribList); + + return vis; +} + +const char *glXQueryServerString( Display *dpy, int screen, int name ) +{ + const char* ret = NULL; + do_opengl_call(glXQueryServerString_func, &ret, dpy, screen, name); + return ret; +} + +const char *glXGetClientString( Display *dpy, int name ) +{ + const char* ret = NULL; + do_opengl_call(glXGetClientString_func, &ret, dpy, name); + return ret; +} + +GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis, + GLXContext shareList, Bool direct ) +{ + GLXContext ret = NULL; + do_opengl_call(glXCreateContext_func, &ret, dpy, vis, shareList, direct); + printf("glXCreateContext = %p\n", ret); + return ret; +} + +GLXContext glXGetCurrentContext (void) +{ + GLXContext ret = NULL; + do_opengl_call(glXGetCurrentContext_func, &ret); + printf("glXGetCurrentContext = %p\n", ret); + return ret; +} + +GLXDrawable glXGetCurrentDrawable (void) +{ + GLXDrawable ret = 0; + do_opengl_call(glXGetCurrentDrawable_func, &ret); + printf("glXGetCurrentDrawable = %p\n", (void*)ret); + return ret; +} + +void glXDestroyContext( Display *dpy, GLXContext ctx ) +{ + printf("glXDestroyContext %p\n", ctx); + do_opengl_call(glXDestroyContext_func, NULL, dpy, ctx); +} + +Bool glXQueryVersion( Display *dpy, int *maj, int *min ) +{ + Bool ret = False; + do_opengl_call(glXQueryVersion_func, &ret, dpy, maj, min); + return ret; +} + + +typedef struct +{ + int x; + int y; + int width; + int height; + int map_state; +} WindowPosStruct; + +static WindowPosStruct oldPos = {0}; + +static void _get_window_pos(Display *dpy, Window win, WindowPosStruct* pos) +{ + XWindowAttributes window_attributes_return; + Window child; + int x, y; + Window root = DefaultRootWindow(dpy); + XGetWindowAttributes(dpy, win, &window_attributes_return); + XTranslateCoordinates(dpy, win, root, 0, 0, &x, &y, &child); + /*printf("%d %d %d %d\n", x, y, + window_attributes_return.width, window_attributes_return.height);*/ + pos->x = x; + pos->y = y; + pos->width = window_attributes_return.width; + pos->height = window_attributes_return.height; + pos->map_state = window_attributes_return.map_state; +} + +static GLXPbuffer pbuffer = NULL; + +static void _move_win_if_necessary(Display *dpy, Window win) +{ + if (pbuffer != NULL && win == pbuffer) + { + return; + } + + WindowPosStruct pos; + _get_window_pos(dpy, win, &pos); + if (memcmp(&pos, &oldPos, sizeof(oldPos)) != 0) + { + if (pos.map_state != oldPos.map_state) + { + do_opengl_call(_changeWindowState_func, NULL, win, pos.map_state); + } + memcpy(&oldPos, &pos, sizeof(oldPos)); + do_opengl_call(_moveResizeWindow_func, NULL, win, &pos); + } +} + +Bool glXMakeCurrent( Display *dpy, GLXDrawable drawable, GLXContext ctx) +{ + Bool ret = False; + do_opengl_call(glXMakeCurrent_func, &ret, dpy, drawable, ctx); + _move_win_if_necessary(dpy, drawable); + return ret; +} + + +Bool glXIsDirect( Display *dpy, GLXContext ctx ) +{ + Bool ret = False; + do_opengl_call(glXIsDirect_func, &ret, dpy, ctx); + return ret; +} + +int glXGetConfig( Display *dpy, XVisualInfo *visual, + int attrib, int *value ) +{ + int ret = 0; + do_opengl_call(glXGetConfig_func, &ret, dpy, visual, attrib, value); + return ret; +} + +void glXSwapBuffers( Display *dpy, GLXDrawable drawable ) +{ + _move_win_if_necessary(dpy, drawable); + do_opengl_call(glXSwapBuffers_func, NULL, dpy, drawable); +} + +Bool glXQueryExtension( Display *dpy, + int *errorBase, + int *eventBase ) +{ + Bool ret; + do_opengl_call(glXQueryExtension_func, &ret, dpy, errorBase, eventBase); + return ret; +} + +void glXWaitGL (void) +{ +} + +void glXWaitX (void) +{ +} + +#if 0 +GLXFBConfig* fbConfig = NULL; + +GLXFBConfig *glXChooseFBConfig( Display *dpy, int screen, + const int *attribList, int *nitems ) +{ + GLXFBConfig * ret = NULL; + do_opengl_call(glXChooseFBConfig_func, &ret, dpy, screen, attribList, nitems); + fbConfig = ret = malloc(sizeof(GLXFBConfig) * (*nitems)); + int i; + for(i=0;i<*nitems;i++) + { + fbConfig[i] = i + 1; + } + printf("nitems = %d\n", *nitems); + return ret; +} + +GLXPbuffer glXCreatePbuffer(Display *dpy, + GLXFBConfig config, + const int *AttributeList) +{ + GLXPbuffer ret = NULL; + int i = (int)config - 1; + printf("fb config %d\n", i); + do_opengl_call(glXCreatePbuffer_func, &ret, dpy, i, AttributeList); + printf("pbuffer = %p\n", ret); + pbuffer = ret; + return ret; +} + +XVisualInfo *glXGetVisualFromFBConfig( Display *dpy, + GLXFBConfig config ) +{ + int screen = 0; + + XVisualInfo temp, *vis; + long mask; + int n; + + mask = VisualScreenMask | VisualDepthMask | VisualClassMask; + temp.screen = screen; + temp.depth = DefaultDepth(dpy,screen); + temp.class = DefaultVisual(dpy,screen)->class; + temp.visualid = DefaultVisual(dpy,screen)->visualid; + mask |= VisualIDMask; + + vis = XGetVisualInfo( dpy, mask, &temp, &n ); + + int i = (int)config - 1; + do_opengl_call(glXGetVisualFromFBConfig_func, vis, dpy, i); + + return vis; + +} + +void glXUseXFont( Font font_id, int first, int count, int list ) +{ + fprintf(stderr, "glXUseXFont : unsupported call\n"); + //do_opengl_call(glXUseXFont_func, NULL, font, first, count, list); +} +#endif + +#include "client_stub.c" + +const GLubyte * glGetString( GLenum name ) +{ + const GLubyte* ret = NULL; + do_opengl_call(glGetString_func, &ret, name); + return ret; +} + +void glGetConvolutionParameteriv( GLenum target, GLenum pname, + GLint *params ) +{ + do_opengl_call(glGetConvolutionParameteriv_func, NULL, target, pname, params); +} + +void glLightfv( GLenum light, GLenum pname, const GLfloat *params ) +{ + int size = 0; + switch(pname) + { + case GL_AMBIENT: + case GL_DIFFUSE: + case GL_SPECULAR: + case GL_POSITION: + size = 4; + break; + + case GL_SPOT_DIRECTION: + size = 3; + break; + + case GL_SPOT_EXPONENT: + case GL_SPOT_CUTOFF: + case GL_CONSTANT_ATTENUATION: + case GL_LINEAR_ATTENUATION: + case GL_QUADRATIC_ATTENUATION: + size = 1; + break; + + default: + fprintf(stderr, "unhandled pname = %d\n", pname); + return; + } + do_opengl_call(glLightfv_func, NULL, light, pname, size, params); +} + +void glMaterialfv( GLenum face, GLenum pname, const GLfloat *params ) +{ + int size = 0; + switch(pname) + { + case GL_AMBIENT: + case GL_DIFFUSE: + case GL_SPECULAR: + case GL_EMISSION: + case GL_AMBIENT_AND_DIFFUSE: + size = 4; + break; + + case GL_SHININESS: + size = 1; + break; + + case GL_COLOR_INDEXES: + size = 3; + break; + + default: + fprintf(stderr, "unhandled pname = %d\n", pname); + return; + } + do_opengl_call(glMaterialfv_func, NULL, face, pname, size, params); +} + +void glLightModelfv( GLenum pname, + const GLfloat *params ) +{ + int size = 0; + switch(pname) + { + case GL_LIGHT_MODEL_AMBIENT: + size = 4; + break; + + case GL_LIGHT_MODEL_COLOR_CONTROL: + fprintf(stderr, "not sure how to handle GL_LIGHT_MODEL_COLOR_CONTROL. Exiting\n"); + return; + + case GL_LIGHT_MODEL_LOCAL_VIEWER: + case GL_LIGHT_MODEL_TWO_SIDE: + size = 1; + break; + + default: + fprintf(stderr, "unhandled pname = %d\n", pname); + return; + } + do_opengl_call(glLightModelfv_func, NULL, pname, size, params); +} + +static int glMap1_get_multiplier(GLenum target) +{ + switch (target) + { + case GL_MAP1_VERTEX_3: + case GL_MAP1_NORMAL: + case GL_MAP1_TEXTURE_COORD_3: + return 3; + break; + + case GL_MAP1_VERTEX_4: + case GL_MAP1_COLOR_4: + case GL_MAP1_TEXTURE_COORD_4: + return 4; + break; + + case GL_MAP1_INDEX: + case GL_MAP1_TEXTURE_COORD_1: + return 1; + break; + + case GL_MAP1_TEXTURE_COORD_2: + return 2; + break; + + default: + fprintf(stderr, "unhandled target = %d\n", target); + return 0; + } +} + +void glMap1f( GLenum target, + GLfloat u1, + GLfloat u2, + GLint stride, + GLint order, + const GLfloat *points ) +{ + int num_points = order; + int multiplier = glMap1_get_multiplier(target); + if (multiplier) + { + num_points *= multiplier; + do_opengl_call(glMap1f_func, NULL, + target, u1, u2, stride, order, num_points, points); + } +} + +void glMap1d( GLenum target, + GLdouble u1, + GLdouble u2, + GLint stride, + GLint order, + const GLdouble *points ) +{ + int num_points = order; + int multiplier = glMap1_get_multiplier(target); + if (multiplier) + { + num_points *= multiplier; + do_opengl_call(glMap1d_func, NULL, + target, u1, u2, stride, order, num_points, points); + } +} + +static int glMap2_get_multiplier(GLenum target) +{ + switch (target) + { + case GL_MAP2_VERTEX_3: + case GL_MAP2_NORMAL: + case GL_MAP2_TEXTURE_COORD_3: + return 3; + break; + + case GL_MAP2_VERTEX_4: + case GL_MAP2_COLOR_4: + case GL_MAP2_TEXTURE_COORD_4: + return 4; + break; + + case GL_MAP2_INDEX: + case GL_MAP2_TEXTURE_COORD_1: + return 1; + break; + + case GL_MAP2_TEXTURE_COORD_2: + return 2; + break; + + default: + fprintf(stderr, "unhandled target = %d\n", target); + return 0; + } +} + +void glMap2f( GLenum target, + GLfloat u1, + GLfloat u2, + GLint ustride, + GLint uorder, + GLfloat v1, + GLfloat v2, + GLint vstride, + GLint vorder, + const GLfloat *points ) +{ + int num_points = uorder * vorder; + int multiplier = glMap2_get_multiplier(target); + if (multiplier) + { + num_points *= multiplier; + do_opengl_call(glMap2f_func, NULL, + target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, num_points, points); + } +} + + +void glMap2d( GLenum target, + GLdouble u1, + GLdouble u2, + GLint ustride, + GLint uorder, + GLdouble v1, + GLdouble v2, + GLint vstride, + GLint vorder, + const GLdouble *points ) +{ + int num_points = uorder * vorder; + int multiplier = glMap2_get_multiplier(target); + if (multiplier) + { + num_points *= multiplier; + do_opengl_call(glMap2d_func, NULL, + target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, num_points, points); + } +} + +void glGenTextures( GLsizei n, GLuint *textures ) +{ + do_opengl_call(glGenTextures_func, NULL, n, textures); +} + +void glDeleteTextures ( GLsizei n, const GLuint *textures ) +{ + do_opengl_call(glDeleteTextures_func, NULL, n, n, textures); +} + +void glCallLists( GLsizei n, + GLenum type, + const GLvoid *lists ) +{ + int size = n; + switch(type) + { + case GL_BYTE: + case GL_UNSIGNED_BYTE: + break; + + case GL_SHORT: + case GL_UNSIGNED_SHORT: + case GL_2_BYTES: + size *= 2; + break; + + case GL_3_BYTES: + size *= 3; + break; + + case GL_INT: + case GL_UNSIGNED_INT: + case GL_FLOAT: + case GL_4_BYTES: + size *= 4; + break; + + default: + fprintf(stderr, "unsupported type = %d\n", type); + return; + } + do_opengl_call(glCallLists_func, NULL, n, type, size, lists); +} + +void EXT_FUNC(glGenProgramsARB) (GLsizei n, GLuint* programs) +{ + CHECK_PROC(glGenProgramsARB); + do_opengl_call(glGenProgramsARB_func, NULL, n, programs); +} + +void EXT_FUNC(glDeleteProgramsARB) (GLsizei n, const GLuint *programs) +{ + CHECK_PROC(glDeleteProgramsARB); + do_opengl_call(glDeleteProgramsARB_func, NULL, n, programs); +} + +void EXT_FUNC(glProgramStringARB) (GLenum a, GLenum b, GLsizei c, const GLvoid *d) +{ + CHECK_PROC(glProgramStringARB); + do_opengl_call(glProgramStringARB_func, NULL, a, b, c, c, d); +} + +void EXT_FUNC(glShaderSourceARB) (GLhandleARB handle , GLsizei size, const GLcharARB* *p_tab_prog, const GLint * d) +{ + CHECK_PROC(glShaderSourceARB); + if (size == 1 && d == NULL && p_tab_prog != NULL) + { + do_opengl_call(glShaderSourceARB_func, NULL, handle, *p_tab_prog); + } + else + { + fprintf(stderr, "Unsupported parameters for glShaderSourceARB\n"); + } +} + +GLint EXT_FUNC(glGetUniformLocationARB) (GLhandleARB handle, const GLcharARB *txt) +{ + int ret; + CHECK_PROC_WITH_RET(glGetUniformLocationARB); + do_opengl_call(glGetUniformLocationARB_func, &ret, handle, txt); + return ret; +} + +void EXT_FUNC(glCompressedTexImage2DARB)(GLenum target, + GLint level, + GLint internalformat, + GLsizei width, + GLsizei height, + GLint border, + GLsizei imageSize, + const GLvoid * data) +{ + CHECK_PROC(glCompressedTexImage2DARB); + do_opengl_call(glCompressedTexImage2DARB_func, NULL, + target, level, internalformat, width, height, border, imageSize, imageSize, data); +} + + +void EXT_FUNC(glCompressedTexSubImage2DARB)(GLenum target, + GLint level, + GLint xoffset, + GLint yoffset, + GLsizei width, + GLsizei height, + GLenum format, + GLsizei imageSize, + const GLvoid * data) +{ + CHECK_PROC(glCompressedTexSubImage2DARB); + do_opengl_call(glCompressedTexSubImage2DARB_func, NULL, + target, level, xoffset, yoffset, width, height, format, imageSize, imageSize, data); +} + +void EXT_FUNC(glPointParameterfvARB)(GLenum pname, const GLfloat * params) +{ + int size; + CHECK_PROC(glPointParameterfvARB); + size = (pname == GL_POINT_DISTANCE_ATTENUATION) ? 3 : 1; + do_opengl_call(glPointParameterfvARB_func, NULL, pname, size, params); +} + +void EXT_FUNC(glGetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat *params) +{ + CHECK_PROC(glGetVertexAttribfvARB); + do_opengl_call(glGetVertexAttribfvARB_func, NULL, index, pname, params); +} + +void EXT_FUNC(glGetVertexAttribivARB)(GLuint index, GLenum pname, GLint *params) +{ + CHECK_PROC(glGetVertexAttribivARB); + do_opengl_call(glGetVertexAttribivARB_func, NULL, index, pname, params); +} + +void EXT_FUNC(glGetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble *params) +{ + CHECK_PROC(glGetVertexAttribdvARB); + do_opengl_call(glGetVertexAttribdvARB_func, NULL, index, pname, params); +} + +void EXT_FUNC(glGetProgramLocalParameterfvARB) (GLenum target, GLuint index, GLfloat *params) +{ + CHECK_PROC(glGetProgramLocalParameterfvARB); + do_opengl_call(glGetProgramLocalParameterfvARB_func, NULL, target, index, params); +} + +void EXT_FUNC(glGetProgramLocalParameterdvARB) (GLenum target, GLuint index, GLdouble *params) +{ + CHECK_PROC(glGetProgramLocalParameterdvARB); + do_opengl_call(glGetProgramLocalParameterdvARB_func, NULL, target, index, params); +} + +void EXT_FUNC(glGetProgramEnvParameterfvARB) (GLenum target, GLuint index, GLfloat *params) +{ + CHECK_PROC(glGetProgramEnvParameterfvARB); + do_opengl_call(glGetProgramEnvParameterfvARB_func, NULL, target, index, params); +} + +void EXT_FUNC(glGetProgramEnvParameterdvARB) (GLenum target, GLuint index, GLdouble *params) +{ + CHECK_PROC(glGetProgramEnvParameterdvARB); + do_opengl_call(glGetProgramEnvParameterdvARB_func, NULL, target, index, params); +} + +void EXT_FUNC(glGetProgramivARB) (GLenum target, GLenum pname, GLint *params) +{ + CHECK_PROC(glGetProgramivARB); + do_opengl_call(glGetProgramivARB_func, NULL, target, pname, params); +} + +void EXT_FUNC(glGetProgramStringARB) (GLenum target, GLenum pname, GLvoid *string) +{ + CHECK_PROC(glGetProgramStringARB); + do_opengl_call(glGetProgramStringARB_func, NULL, target, pname, string); +} + +static int getTexImageFactorFromFormat(int format) +{ + switch (format) + { + case GL_COLOR_INDEX: + case GL_RED: + case GL_GREEN: + case GL_BLUE: + case GL_ALPHA: + case GL_LUMINANCE: + case GL_INTENSITY: + return 1; + break; + + case GL_LUMINANCE_ALPHA: + return 2; + break; + + case GL_RGB: + case GL_BGR: + return 3; + break; + + case GL_RGBA: + case GL_BGRA: + return 4; + break; + + default: + fprintf(stderr, "unknown texture format : %d\n", format); + return 0; + } +} + +void glTexImage1D(GLenum target, + GLint level, + GLint internalFormat, + GLsizei width, + GLint border, + GLenum format, + GLenum type, + const GLvoid *pixels ) +{ + int size = width * getTexImageFactorFromFormat(format); + + if (type != GL_UNSIGNED_BYTE) + { + fprintf(stderr, "unknown pixel type : %d\n", type); + return; + } + + if (pixels == NULL) size = 0; + do_opengl_call(glTexImage1D_func, NULL, target, level, internalFormat, width, border, format, type, size, pixels); + +} + +void glTexImage2D( GLenum target, + GLint level, + GLint internalFormat, + GLsizei width, + GLsizei height, + GLint border, + GLenum format, + GLenum type, + const GLvoid *pixels ) +{ + int size = width * height * getTexImageFactorFromFormat(format); + + if (type != GL_UNSIGNED_BYTE) + { + fprintf(stderr, "unknown pixel type : %d\n", type); + return; + } + + if (pixels == NULL) size = 0; + do_opengl_call(glTexImage2D_func, NULL, target, level, internalFormat, width, height, border, format, type, size, pixels); +} + +void glTexSubImage2D( GLenum target, + GLint level, + GLint xoffset, + GLint yoffset, + GLsizei width, + GLsizei height, + GLenum format, + GLenum type, + const GLvoid *pixels ) +{ + int size = width * height * getTexImageFactorFromFormat(format); + + if (type != GL_UNSIGNED_BYTE) + { + fprintf(stderr, "unknown pixel type : %d\n", type); + return; + } + + do_opengl_call(glTexSubImage2D_func, NULL, target, level, xoffset, yoffset, width, height, format, type, size, pixels); +} + +void glTexImage3D( GLenum target, + GLint level, + GLint internalFormat, + GLsizei width, + GLsizei height, + GLsizei depth, + GLint border, + GLenum format, + GLenum type, + const GLvoid *pixels ) +{ + int size = width * height * depth * getTexImageFactorFromFormat(format); + + if (type != GL_UNSIGNED_BYTE) + { + fprintf(stderr, "unknown pixel type : %d\n", type); + return; + } + + do_opengl_call(glTexImage3D_func, NULL, target, level, internalFormat, width, height, depth, border, format, type, size, pixels); +} + +void glGetTexLevelParameteriv( GLenum target, + GLint level, + GLenum pname, + GLint *params ) +{ + do_opengl_call(glGetTexLevelParameteriv_func, NULL, target, level, pname, params); +} + +void glTexParameterfv( GLenum target, + GLenum pname, + const GLfloat *params ) +{ + int size = (pname == GL_TEXTURE_BORDER_COLOR) ? 4 : 1; + do_opengl_call(glTexParameterfv_func, NULL, target, pname, size, params); +} + +void glTexParameteriv( GLenum target, + GLenum pname, + const GLint *params ) +{ + int size = (pname == GL_TEXTURE_BORDER_COLOR) ? 4 : 1; + do_opengl_call(glTexParameteriv_func, NULL, target, pname, size, params); +} + +void glFogfv( GLenum pname, const GLfloat *params ) +{ + int size; + if (pname == GL_FOG_COLOR) + size = 4; + else + size = 1; + do_opengl_call(glFogfv_func, NULL, pname, size, params); +} + +void glBitmap(GLsizei width, + GLsizei height, + GLfloat xorig, + GLfloat yorig, + GLfloat xmove, + GLfloat ymove, + const GLubyte *bitmap ) +{ + int size = width * height; + //printf("bitmap %d %d %d\n", width, height, size); + do_opengl_call(glBitmap_func, NULL, width, height, xorig, yorig, xmove, ymove, size, bitmap); +} + +void glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params ) +{ + int size = (pname == GL_TEXTURE_GEN_MODE) ? 1 : 4; + do_opengl_call(glTexGenfv_func, NULL, coord, pname, size, params); +} + +void glTexEnvfv( GLenum target, + GLenum pname, + const GLfloat *params ) +{ + int size = (pname == GL_TEXTURE_ENV_MODE) ? 1 : 4; + do_opengl_call(glTexEnvfv_func, NULL, target, pname, size, params); +} + +void glVertexPointer( GLint size, + GLenum type, + GLsizei stride, + const GLvoid *ptr ) +{ + //printf("glVertexPointer %d %d %d %p\n", size, type, stride, ptr); + vertexPointer.size = size; + vertexPointer.type = type; + vertexPointer.stride = stride; + vertexPointer.ptr = ptr; +} + +void glNormalPointer( GLenum type, + GLsizei stride, + const GLvoid *ptr ) +{ + //printf("glNormalPointer %d %d %p\n", type, stride, ptr); + normalPointer.size = 3; + normalPointer.type = type; + normalPointer.stride = stride; + normalPointer.ptr = ptr; +} + +void glColorPointer( GLint size, + GLenum type, + GLsizei stride, + const GLvoid *ptr ) +{ + //printf("glColorPointer %d %d %d %p\n", size, type, stride, ptr); + colorPointer.size = size; + colorPointer.type = type; + colorPointer.stride = stride; + colorPointer.ptr = ptr; +} + +void glTexCoordPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr ) +{ + //printf("glTexCoordPointer %d %d %d %p\n", size, type, stride, ptr); + texCoordPointer[clientActiveTexture].size = size; + texCoordPointer[clientActiveTexture].type = type; + texCoordPointer[clientActiveTexture].stride = stride; + texCoordPointer[clientActiveTexture].ptr = ptr; +} + +static int getMulFactorFromPointerArray(VertexNormalColorPointerStruct* array) +{ + switch(array->type) + { + case GL_BYTE: + case GL_UNSIGNED_BYTE: + return array->stride + array->size; + break; + + case GL_SHORT: + case GL_UNSIGNED_SHORT: + return array->stride + 2 * array->size; + break; + + case GL_INT: + case GL_UNSIGNED_INT: + case GL_FLOAT: + return array->stride + 4 * array->size; + break; + + case GL_DOUBLE: + return array->stride + 8 * array->size; + break; + + default: + fprintf(stderr, "unsupported type = %d\n", array->type); + return 0; + } +} + +void _glArraySend(int func, VertexNormalColorPointerStruct* array, int nbElts) +{ + int data_size = nbElts * getMulFactorFromPointerArray(array); + if (func == glNormalPointer_func) + do_opengl_call(func, NULL, + array->type, array->stride, data_size, data_size, array->ptr); + else + do_opengl_call(func, NULL, + array->size, array->type, array->stride, data_size, data_size, array->ptr); +} + + +void _glArraysSend(int nbElts) +{ + if (pointerArraysEnable[GL_VERTEX_ARRAY - GL_VERTEX_ARRAY]) + { + //printf("vertex enable\n"); + _glArraySend(glVertexPointer_func, &vertexPointer, nbElts); + } + + if (pointerArraysEnable[GL_NORMAL_ARRAY - GL_VERTEX_ARRAY]) + { + //printf("normal enable\n"); + _glArraySend(glNormalPointer_func, &normalPointer, nbElts); + } + + if (pointerArraysEnable[GL_COLOR_ARRAY - GL_VERTEX_ARRAY]) + { + //printf("color enable\n"); + _glArraySend(glColorPointer_func, &colorPointer, nbElts); + } + + //if (pointerArraysEnable[GL_TEXTURE_COORD_ARRAY - GL_VERTEX_ARRAY]) + if (texCoordPointerEnable[clientActiveTexture]) + { + printf("texture enable\n"); + _glArraySend(glTexCoordPointer_func, &texCoordPointer[clientActiveTexture], nbElts); + } +} + +void glDrawArrays( GLenum mode, + GLint first, + GLsizei count ) +{ + _glArraysSend(first + count); + do_opengl_call(glDrawArrays_func, NULL, mode, first, count); +} + + +void glDrawElements( GLenum mode, + GLsizei count, + GLenum type, + const GLvoid *indices ) +{ + int i; + int size = count; + int maxIndice = -1; + + if (count == 0) return; + + switch(type) + { + case GL_UNSIGNED_BYTE: + { + unsigned char* c = indices; + for(i=0;i maxIndice) maxIndice = c[i]; + } + break; + } + + case GL_UNSIGNED_SHORT: + { + size *= 2; + unsigned short* s = indices; + for(i=0;i maxIndice) maxIndice = s[i]; + } + break; + } + + case GL_UNSIGNED_INT: + { + size *= 4; + unsigned int* _int = indices; + for(i=0;i maxIndice) maxIndice = _int[i]; + } + break; + } + + default: + fprintf(stderr, "unsupported type = %d\n", type); + return; + } + + //printf("glDrawElements : %d %d %d %p %d\n", mode, count, type, indices, maxIndice); + +#if 0 + do_opengl_call(glBegin_func, NULL, mode); + if (type == GL_UNSIGNED_INT) + { + for(i=0;i void glShaderSourceARB (GLhandleARB handle , const GLcharARB* prog) */ +static const int glShaderSourceARB_signature[] = { TYPE_NONE, 0, 2, TYPE_INT, TYPE_NULL_TERMINATED_STRING }; + +/* GLint glGetUniformLocationARB (GLhandleARB handle, const GLcharARB *txt) */ +static const int glGetUniformLocationARB_signature[] = { TYPE_INT, 0, 2, TYPE_INT, TYPE_NULL_TERMINATED_STRING }; + +/* void EXT_FUNC(glGetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat *params) */ +static const int glGetVertexAttribfvARB_signature[] = { TYPE_NONE, 1, 3, TYPE_INT, TYPE_INT, TYPE_OUT_FLOAT_ARRAY }; +static const int glGetVertexAttribivARB_signature[] = { TYPE_NONE, 1, 3, TYPE_INT, TYPE_INT, TYPE_OUT_INT_ARRAY }; +static const int glGetVertexAttribdvARB_signature[] = { TYPE_NONE, 1, 3, TYPE_INT, TYPE_INT, TYPE_OUT_DOUBLE_ARRAY }; + +/* void EXT_FUNC(glGetProgramLocalParameterfvARB) (GLenum target, GLuint index, GLfloat *params) */ +static const int glGetProgramLocalParameterfvARB_signature[] = { TYPE_NONE, 1, 3, TYPE_INT, TYPE_INT, TYPE_OUT_FLOAT_ARRAY }; +static const int glGetProgramLocalParameterdvARB_signature[] = { TYPE_NONE, 1, 3, TYPE_INT, TYPE_INT, TYPE_OUT_DOUBLE_ARRAY }; +static const int glGetProgramEnvParameterfvARB_signature[] = { TYPE_NONE, 1, 3, TYPE_INT, TYPE_INT, TYPE_OUT_FLOAT_ARRAY }; +static const int glGetProgramEnvParameterdvARB_signature[] = { TYPE_NONE, 1, 3, TYPE_INT, TYPE_INT, TYPE_OUT_DOUBLE_ARRAY }; + +/* void EXT_FUNC(glGetProgramivARB) (GLenum target, GLenum pname, GLint *params) */ +static const int glGetProgramivARB_signature[] = { TYPE_NONE, 1, 3, TYPE_INT, TYPE_INT, TYPE_OUT_INT_POINTER }; + +/* void EXT_FUNC(glGetProgramStringARB) (GLenum target, GLenum pname, GLvoid *string) */ +static const int glGetProgramStringARB_signature[] = { TYPE_NONE, 1, 3, TYPE_INT, TYPE_INT, TYPE_OUT_CHAR_ARRAY }; + +/*void glVertexPointer( GLint size, + GLenum type, + GLsizei stride, + const GLvoid *ptr )*/ +static const int glVertexPointer_signature[] = { TYPE_NONE, 0, 5, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_ARRAY_CHAR }; +static const int glNormalPointer_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_ARRAY_CHAR }; +static const int glColorPointer_signature[] = { TYPE_NONE, 0, 5, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_ARRAY_CHAR }; +static const int glTexCoordPointer_signature[] = { TYPE_NONE, 0, 5, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_ARRAY_CHAR }; +static const int glDrawArrays_signature[] = { TYPE_NONE, 0, 3, TYPE_INT, TYPE_INT, TYPE_INT }; + +/*void glDrawElements( GLenum mode, + GLsizei count, + GLenum type, + const GLvoid *indices )*/ +static const int glDrawElements_signature[] = { TYPE_NONE, 0, 4, TYPE_INT, TYPE_INT, TYPE_INT, TYPE_ARRAY_CHAR }; + +#include "gl_func.h" diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/target-i386/parse_gl_h.c qemu/target-i386/parse_gl_h.c --- qemu.ori/target-i386/parse_gl_h.c 1970-01-01 01:00:00.000000000 +0100 +++ qemu/target-i386/parse_gl_h.c 2006-11-14 21:54:22.000000000 +0100 @@ -0,0 +1,645 @@ +/* + * Parse gl.h et glx.h to auto-generate source code + * + * Copyright (c) 2006 Even Rouault + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* gcc parse_gl_h.c -o parse_gl_h && ./parse_gl_h */ +#include +#include +#include + +int isExt(const char* name) +{ + return (strstr(name, "ARB") != NULL) || + (strstr(name, "EXT") != NULL) || + (strstr(name, "ATI") != NULL) || + (strstr(name, "NV") != NULL) || + (strstr(name, "MESA") != NULL) || + (strstr(name, "SGI") != NULL); +} + +char* get_arg_type(char* s) +{ + while(*s == ' ' || *s == '\t') s++; + char* n = s; + char* c = strstr(n, "const"); + if (c) + n += 6; + + char* t = strstr(n, " "); + if (t) + { + if (t[1] == '*') + t += 2; + t[0] = 0; + char* ori = t; + t = strstr(t+1, "["); + if (t) + { + memmove(ori, t, strlen(t)); + strstr(ori, "]")[1] = 0; + } + } + return strdup(s); +} + +typedef struct +{ + char* type; + char* name; + int nargs; + char** args; + int ok; +} FuncDesc; + +char* get_type_string(char* type) +{ + if (strstr(type, "[16]")) + { + if (strstr(type, "float")) + return ("TYPE_16FLOAT"); + else if (strstr(type, "double")) + return ("TYPE_16DOUBLE"); + else + { + printf("inconnu %s\n", type); + exit(-1); + } + } + else if (strcmp(type, "void") == 0) + return("TYPE_NONE"); + else if (strcmp(type, "GLbyte") == 0) + return("TYPE_CHAR"); + else if (strcmp(type, "GLubyte") == 0 || + strcmp(type, "GLboolean") == 0) + return("TYPE_UNSIGNED_CHAR"); + else if (strcmp(type, "GLshort") == 0) + return("TYPE_SHORT"); + else if (strcmp(type, "GLushort") == 0 || + strcmp(type, "GLhalfNV") == 0) + return("TYPE_UNSIGNED_SHORT"); + else if (strcmp(type, "GLint") == 0 || + strcmp(type, "GLsizei") == 0) + return("TYPE_INT"); + else if (strcmp(type, "GLenum") == 0 || + strcmp(type, "GLuint") == 0 || + strcmp(type, "GLhandleARB") == 0 || + strcmp(type, "GLbitfield") == 0) + return("TYPE_UNSIGNED_INT"); + else if (strcmp(type, "GLfloat") == 0 || + strcmp(type, "GLclampf") == 0) + return("TYPE_FLOAT"); + else if (strcmp(type, "GLdouble") == 0 || + strcmp(type, "GLclampd") == 0) + return("TYPE_DOUBLE"); + else + { + printf("inconnu %s\n", type); + exit(-1); + } +} + +typedef struct +{ + char* letter; + char* signature_type_name; + char* gl_c_type_name; + char* c_type_name; +} ForIsKnownArgVector; + +int is_known_arg_vector(FuncDesc* desc, char** p_signature_type_name, char** p_c_type_name) +{ + static ForIsKnownArgVector my_tab[] = + { + { "b", "CHAR", "byte", "char" }, + { "s", "SHORT", "short", "short" }, + { "i", "INT", "int", "int" }, + { "ub", "CHAR", "byte", "unsigned char" }, + { "us", "SHORT", "short", "unsigned short" }, + { "ui", "INT", "int", "unsigned int" }, + { "Nb", "CHAR", "byte", "char" }, + { "Ns", "SHORT", "short", "short" }, + { "Ni", "INT", "int", "int" }, + { "Nub", "CHAR", "byte", "unsigned char" }, + { "Nus", "SHORT", "short", "unsigned short" }, + { "Nui", "INT", "int", "unsigned int" }, + + { "f", "FLOAT", "float", "float" }, + { "d", "DOUBLE", "double", "double" }, + }; + + if (desc->nargs == 0) + return 0; + + int i , j; + + static char signatures[14][4][20] = {0}; + char signature[10]; + + for(i=0;i<14;i++) + { + for(j=1;j<=4;j++) + { + sprintf(signature, "%d%sv", j, my_tab[i].letter); + if (strstr(desc->name, signature) && + strstr(desc->args[desc->nargs - 1], my_tab[i].gl_c_type_name) && + strstr(desc->args[desc->nargs - 1], "*")) + { + if (p_signature_type_name) + { + if (signatures[i][j][0] == 0) + sprintf(signatures[i][j], "TYPE_%d%s", j, my_tab[i].signature_type_name); + *p_signature_type_name = signatures[i][j]; + } + if (p_c_type_name) *p_c_type_name = my_tab[i].c_type_name; + return 1; + } + } + } + return 0; +} + +int parse(FILE* f, FuncDesc* funcDesc, int ignoreEXT) +{ + char buffer[256]; + int funcDescCount = 0; + while(fgets(buffer, 256, f)) + { + if (strncmp(buffer, "GLAPI", 5) == 0 && strstr(buffer, "APIENTRY") && strstr(buffer, "(")) + { + if (strstr(buffer, "glDrawArrays")) + { + continue; + } + if (strstr(buffer, "glGetIntegerv")) + { + continue; + } + + char** args = malloc(15 * sizeof(char*)); + int narg = 0; + char* type = buffer + 6; + char* n = strstr(type, "GLAPIENTRY") ? strstr(type, "GLAPIENTRY") : strstr(type, "APIENTRY"); + int skip_length = strstr(type, "GLAPIENTRY") ? 11 : 9; + n[-1] = 0; + type = strdup(type); + n += skip_length; + char* fonc = n; + n = strstr(n, "("); + if (n[-1] == ' ') n[-1] = 0; + n[0] = 0; + fonc = strdup(fonc); + /*if (strstr(fonc, "glLockArraysEXT") || strstr(fonc, "glUnlockArraysEXT")) + { + } + else*/ + if ((ignoreEXT == 1 && isExt(fonc)) || (ignoreEXT == 0 && !isExt(fonc))) + { + free(type); + free(fonc); + continue; + } + n++; + while(1) + { + char* virg = strstr(n, ","); + if (virg) + { + args[narg] = n; + virg[0] = 0; + args[narg] = get_arg_type(args[narg]); + narg++; + n = virg+1; + } + else + break; + } + while (strstr(n, ")") == 0) + { + fgets(buffer, 256, f); + n = buffer; + while(1) + { + char* virg = strstr(n, ","); + if (virg) + { + args[narg] = n; + virg[0] = 0; + args[narg] = get_arg_type(args[narg]); + narg++; + n = virg+1; + } + else + break; + } + } + char* par = strstr(n, ")"); + args[narg] = n; + par[0] = 0; + args[narg] = get_arg_type(args[narg]); + narg++; + int i; + + + /*printf("%s %s (", type, fonc); + for(i=0;i= 0) + { + j = funcDesc[i].nargs-1; + if (strstr(funcDesc[i].args[j], "[16]") == NULL) + { + pointer |= strstr(funcDesc[i].args[j], "*") != NULL; + pointer |= strstr(funcDesc[i].args[j], "[") != NULL; + } + } + } + } + if (pointer && funcDesc[i].nargs == 1 && + (strstr(funcDesc[i].name, "Matrixf") || strstr(funcDesc[i].name, "Matrixd"))) + { + free(funcDesc[i].args[0]); + if (strstr(funcDesc[i].name, "Matrixf")) + funcDesc[i].args[0] = strdup("GLfloat m[16]"); + else + funcDesc[i].args[0] = strdup("GLdouble m[16]"); + pointer = 0; + } + if (pointer == 0) + { + funcDesc[i].ok = 1; + if (first == 1) + { + first = 0; + } + fprintf(header, " %s_func,\n", funcDesc[i].name); + if (funcDesc[i].nargs == 1 && strcmp(funcDesc[i].args[0], "void") == 0) + { + funcDesc[i].nargs = 0; + } + /*printf("%s %s (", funcDesc[i].type, funcDesc[i].name); + for(j=0;jis_jmp = 3; } +extern int enable_gl; + /* an interrupt is different from an exception because of the priviledge checks */ static void gen_interrupt(DisasContext *s, int intno, target_ulong cur_eip, target_ulong next_eip) { + if (enable_gl && intno == 0x99) + { + gen_op_int99(); + } + else + { if (s->cc_op != CC_OP_DYNAMIC) gen_op_set_cc_op(s->cc_op); gen_jmp_im(cur_eip); gen_op_raise_interrupt(intno, (int)(next_eip - cur_eip)); s->is_jmp = 3; + } } static void gen_debug(DisasContext *s, target_ulong cur_eip) diff -Nrup --exclude=CVS --exclude='*~' --exclude='config-host*' --exclude=Makefile --exclude=config.mak --exclude=config.h qemu.ori/vl.c qemu/vl.c --- qemu.ori/vl.c 2006-11-14 00:18:09.000000000 +0100 +++ qemu/vl.c 2006-11-14 21:46:24.000000000 +0100 @@ -162,6 +162,7 @@ int vnc_display = -1; int acpi_enabled = 1; int fd_bootchk = 1; int no_reboot = 0; +int enable_gl = 0; /***********************************************************/ /* x86 ISA bus support */ @@ -842,6 +843,8 @@ static int timer_load(QEMUFile *f, void return 0; } +extern int doing_opengl; + #ifdef _WIN32 void CALLBACK host_alarm_handler(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2) @@ -886,8 +889,9 @@ static void host_alarm_handler(int host_ SetEvent(host_alarm); #endif CPUState *env = cpu_single_env; - if (env) { - /* stop the currently executing cpu because a timer occured */ + if (env && !doing_opengl) { + //printf("alarm handler\n"); + /* stop the currently executing cpu because a timer occured */ cpu_interrupt(env, CPU_INTERRUPT_EXIT); #ifdef USE_KQEMU if (env->kqemu_enabled) { @@ -5792,7 +5796,7 @@ int main_loop(void) } } cur_cpu = env; - + if (shutdown_requested) { ret = EXCP_INTERRUPT; break; @@ -5934,6 +5938,7 @@ void help(void) "-std-vga simulate a standard VGA card with VESA Bochs Extensions\n" " (default is CL-GD5446 PCI VGA)\n" "-no-acpi disable ACPI\n" + "-enable-gl (Experimental !) Enable accelerated OpenGL\n" #endif "-no-reboot exit instead of rebooting\n" "-loadvm file start right away with a saved state (loadvm in monitor)\n" @@ -6017,6 +6022,10 @@ enum { QEMU_OPTION_vnc, QEMU_OPTION_no_acpi, QEMU_OPTION_no_reboot, + +#ifdef TARGET_I386 + QEMU_OPTION_enable_gl, +#endif }; typedef struct QEMUOption { @@ -6094,6 +6103,10 @@ const QEMUOption qemu_options[] = { { "cirrusvga", 0, QEMU_OPTION_cirrusvga }, { "no-acpi", 0, QEMU_OPTION_no_acpi }, { "no-reboot", 0, QEMU_OPTION_no_reboot }, + +#ifdef TARGET_I386 + { "enable-gl", 0, QEMU_OPTION_enable_gl }, +#endif { NULL }, }; @@ -6741,6 +6754,11 @@ int main(int argc, char **argv) case QEMU_OPTION_no_reboot: no_reboot = 1; break; +#ifdef TARGET_I386 + case QEMU_OPTION_enable_gl: + enable_gl = 1; + break; +#endif } } }