From 6aaf217b10ef05e6f27e335b3f0bc673e1359c8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Sat, 18 Nov 2017 13:49:37 +0100 Subject: [PATCH] [OPENGL32] - Implement storing thread data into the TEB CORE-14024 --- dll/opengl/mesa/main/glheader.h | 1 + dll/opengl/opengl32/apistubs.c | 673 ++++++++++++++++--------------- dll/opengl/opengl32/dllmain.c | 3 +- dll/opengl/opengl32/glapi_x86.s | 21 +- dll/opengl/opengl32/opengl32.h | 94 ++++- sdk/include/asm/ks386.template.h | 1 + sdk/include/ndk/i386/asm.h | 1 + 7 files changed, 437 insertions(+), 357 deletions(-) diff --git a/dll/opengl/mesa/main/glheader.h b/dll/opengl/mesa/main/glheader.h index 56d5ab17c5f..6f4a59de554 100644 --- a/dll/opengl/mesa/main/glheader.h +++ b/dll/opengl/mesa/main/glheader.h @@ -48,6 +48,7 @@ # endif /* _STATIC_MESA support */ #endif /* WIN32 / CYGWIN bracket */ +#define WIN32_NO_STATUS #define GL_GLEXT_PROTOTYPES #include diff --git a/dll/opengl/opengl32/apistubs.c b/dll/opengl/opengl32/apistubs.c index 08276e142ed..85c75874e53 100644 --- a/dll/opengl/opengl32/apistubs.c +++ b/dll/opengl/opengl32/apistubs.c @@ -7,1678 +7,1678 @@ #include "opengl32.h" -static void GLAPIENTRY nop_NewList(GLuint list, GLenum mode) +void GLAPIENTRY nop_NewList(GLuint list, GLenum mode) { (void) list; (void) mode; } -static void GLAPIENTRY nop_EndList(void) +void GLAPIENTRY nop_EndList(void) { } -static void GLAPIENTRY nop_CallList(GLuint list) +void GLAPIENTRY nop_CallList(GLuint list) { (void) list; } -static void GLAPIENTRY nop_CallLists(GLsizei n, GLenum type, const GLvoid * lists) +void GLAPIENTRY nop_CallLists(GLsizei n, GLenum type, const GLvoid * lists) { (void) n; (void) type; (void) lists; } -static void GLAPIENTRY nop_DeleteLists(GLuint list, GLsizei range) +void GLAPIENTRY nop_DeleteLists(GLuint list, GLsizei range) { (void) list; (void) range; } -static GLuint GLAPIENTRY nop_GenLists(GLsizei range) +GLuint GLAPIENTRY nop_GenLists(GLsizei range) { (void) range; return 0; } -static void GLAPIENTRY nop_ListBase(GLuint base) +void GLAPIENTRY nop_ListBase(GLuint base) { (void) base; } -static void GLAPIENTRY nop_Begin(GLenum mode) +void GLAPIENTRY nop_Begin(GLenum mode) { (void) mode; } -static void GLAPIENTRY nop_Bitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap) +void GLAPIENTRY nop_Bitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap) { (void) width; (void) height; (void) xorig; (void) yorig; (void) xmove; (void) ymove; (void) bitmap; } -static void GLAPIENTRY nop_Color3b(GLbyte red, GLbyte green, GLbyte blue) +void GLAPIENTRY nop_Color3b(GLbyte red, GLbyte green, GLbyte blue) { (void) red; (void) green; (void) blue; } -static void GLAPIENTRY nop_Color3bv(const GLbyte * v) +void GLAPIENTRY nop_Color3bv(const GLbyte * v) { (void) v; } -static void GLAPIENTRY nop_Color3d(GLdouble red, GLdouble green, GLdouble blue) +void GLAPIENTRY nop_Color3d(GLdouble red, GLdouble green, GLdouble blue) { (void) red; (void) green; (void) blue; } -static void GLAPIENTRY nop_Color3dv(const GLdouble * v) +void GLAPIENTRY nop_Color3dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_Color3f(GLfloat red, GLfloat green, GLfloat blue) +void GLAPIENTRY nop_Color3f(GLfloat red, GLfloat green, GLfloat blue) { (void) red; (void) green; (void) blue; } -static void GLAPIENTRY nop_Color3fv(const GLfloat * v) +void GLAPIENTRY nop_Color3fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_Color3i(GLint red, GLint green, GLint blue) +void GLAPIENTRY nop_Color3i(GLint red, GLint green, GLint blue) { (void) red; (void) green; (void) blue; } -static void GLAPIENTRY nop_Color3iv(const GLint * v) +void GLAPIENTRY nop_Color3iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_Color3s(GLshort red, GLshort green, GLshort blue) +void GLAPIENTRY nop_Color3s(GLshort red, GLshort green, GLshort blue) { (void) red; (void) green; (void) blue; } -static void GLAPIENTRY nop_Color3sv(const GLshort * v) +void GLAPIENTRY nop_Color3sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_Color3ub(GLubyte red, GLubyte green, GLubyte blue) +void GLAPIENTRY nop_Color3ub(GLubyte red, GLubyte green, GLubyte blue) { (void) red; (void) green; (void) blue; } -static void GLAPIENTRY nop_Color3ubv(const GLubyte * v) +void GLAPIENTRY nop_Color3ubv(const GLubyte * v) { (void) v; } -static void GLAPIENTRY nop_Color3ui(GLuint red, GLuint green, GLuint blue) +void GLAPIENTRY nop_Color3ui(GLuint red, GLuint green, GLuint blue) { (void) red; (void) green; (void) blue; } -static void GLAPIENTRY nop_Color3uiv(const GLuint * v) +void GLAPIENTRY nop_Color3uiv(const GLuint * v) { (void) v; } -static void GLAPIENTRY nop_Color3us(GLushort red, GLushort green, GLushort blue) +void GLAPIENTRY nop_Color3us(GLushort red, GLushort green, GLushort blue) { (void) red; (void) green; (void) blue; } -static void GLAPIENTRY nop_Color3usv(const GLushort * v) +void GLAPIENTRY nop_Color3usv(const GLushort * v) { (void) v; } -static void GLAPIENTRY nop_Color4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) +void GLAPIENTRY nop_Color4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { (void) red; (void) green; (void) blue; (void) alpha; } -static void GLAPIENTRY nop_Color4bv(const GLbyte * v) +void GLAPIENTRY nop_Color4bv(const GLbyte * v) { (void) v; } -static void GLAPIENTRY nop_Color4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) +void GLAPIENTRY nop_Color4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { (void) red; (void) green; (void) blue; (void) alpha; } -static void GLAPIENTRY nop_Color4dv(const GLdouble * v) +void GLAPIENTRY nop_Color4dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_Color4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) +void GLAPIENTRY nop_Color4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { (void) red; (void) green; (void) blue; (void) alpha; } -static void GLAPIENTRY nop_Color4fv(const GLfloat * v) +void GLAPIENTRY nop_Color4fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_Color4i(GLint red, GLint green, GLint blue, GLint alpha) +void GLAPIENTRY nop_Color4i(GLint red, GLint green, GLint blue, GLint alpha) { (void) red; (void) green; (void) blue; (void) alpha; } -static void GLAPIENTRY nop_Color4iv(const GLint * v) +void GLAPIENTRY nop_Color4iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_Color4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) +void GLAPIENTRY nop_Color4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { (void) red; (void) green; (void) blue; (void) alpha; } -static void GLAPIENTRY nop_Color4sv(const GLshort * v) +void GLAPIENTRY nop_Color4sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_Color4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) +void GLAPIENTRY nop_Color4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { (void) red; (void) green; (void) blue; (void) alpha; } -static void GLAPIENTRY nop_Color4ubv(const GLubyte * v) +void GLAPIENTRY nop_Color4ubv(const GLubyte * v) { (void) v; } -static void GLAPIENTRY nop_Color4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) +void GLAPIENTRY nop_Color4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { (void) red; (void) green; (void) blue; (void) alpha; } -static void GLAPIENTRY nop_Color4uiv(const GLuint * v) +void GLAPIENTRY nop_Color4uiv(const GLuint * v) { (void) v; } -static void GLAPIENTRY nop_Color4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) +void GLAPIENTRY nop_Color4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { (void) red; (void) green; (void) blue; (void) alpha; } -static void GLAPIENTRY nop_Color4usv(const GLushort * v) +void GLAPIENTRY nop_Color4usv(const GLushort * v) { (void) v; } -static void GLAPIENTRY nop_EdgeFlag(GLboolean flag) +void GLAPIENTRY nop_EdgeFlag(GLboolean flag) { (void) flag; } -static void GLAPIENTRY nop_EdgeFlagv(const GLboolean * flag) +void GLAPIENTRY nop_EdgeFlagv(const GLboolean * flag) { (void) flag; } -static void GLAPIENTRY nop_End(void) +void GLAPIENTRY nop_End(void) { } -static void GLAPIENTRY nop_Indexd(GLdouble c) +void GLAPIENTRY nop_Indexd(GLdouble c) { (void) c; } -static void GLAPIENTRY nop_Indexdv(const GLdouble * c) +void GLAPIENTRY nop_Indexdv(const GLdouble * c) { (void) c; } -static void GLAPIENTRY nop_Indexf(GLfloat c) +void GLAPIENTRY nop_Indexf(GLfloat c) { (void) c; } -static void GLAPIENTRY nop_Indexfv(const GLfloat * c) +void GLAPIENTRY nop_Indexfv(const GLfloat * c) { (void) c; } -static void GLAPIENTRY nop_Indexi(GLint c) +void GLAPIENTRY nop_Indexi(GLint c) { (void) c; } -static void GLAPIENTRY nop_Indexiv(const GLint * c) +void GLAPIENTRY nop_Indexiv(const GLint * c) { (void) c; } -static void GLAPIENTRY nop_Indexs(GLshort c) +void GLAPIENTRY nop_Indexs(GLshort c) { (void) c; } -static void GLAPIENTRY nop_Indexsv(const GLshort * c) +void GLAPIENTRY nop_Indexsv(const GLshort * c) { (void) c; } -static void GLAPIENTRY nop_Normal3b(GLbyte nx, GLbyte ny, GLbyte nz) +void GLAPIENTRY nop_Normal3b(GLbyte nx, GLbyte ny, GLbyte nz) { (void) nx; (void) ny; (void) nz; } -static void GLAPIENTRY nop_Normal3bv(const GLbyte * v) +void GLAPIENTRY nop_Normal3bv(const GLbyte * v) { (void) v; } -static void GLAPIENTRY nop_Normal3d(GLdouble nx, GLdouble ny, GLdouble nz) +void GLAPIENTRY nop_Normal3d(GLdouble nx, GLdouble ny, GLdouble nz) { (void) nx; (void) ny; (void) nz; } -static void GLAPIENTRY nop_Normal3dv(const GLdouble * v) +void GLAPIENTRY nop_Normal3dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_Normal3f(GLfloat nx, GLfloat ny, GLfloat nz) +void GLAPIENTRY nop_Normal3f(GLfloat nx, GLfloat ny, GLfloat nz) { (void) nx; (void) ny; (void) nz; } -static void GLAPIENTRY nop_Normal3fv(const GLfloat * v) +void GLAPIENTRY nop_Normal3fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_Normal3i(GLint nx, GLint ny, GLint nz) +void GLAPIENTRY nop_Normal3i(GLint nx, GLint ny, GLint nz) { (void) nx; (void) ny; (void) nz; } -static void GLAPIENTRY nop_Normal3iv(const GLint * v) +void GLAPIENTRY nop_Normal3iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_Normal3s(GLshort nx, GLshort ny, GLshort nz) +void GLAPIENTRY nop_Normal3s(GLshort nx, GLshort ny, GLshort nz) { (void) nx; (void) ny; (void) nz; } -static void GLAPIENTRY nop_Normal3sv(const GLshort * v) +void GLAPIENTRY nop_Normal3sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos2d(GLdouble x, GLdouble y) +void GLAPIENTRY nop_RasterPos2d(GLdouble x, GLdouble y) { (void) x; (void) y; } -static void GLAPIENTRY nop_RasterPos2dv(const GLdouble * v) +void GLAPIENTRY nop_RasterPos2dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos2f(GLfloat x, GLfloat y) +void GLAPIENTRY nop_RasterPos2f(GLfloat x, GLfloat y) { (void) x; (void) y; } -static void GLAPIENTRY nop_RasterPos2fv(const GLfloat * v) +void GLAPIENTRY nop_RasterPos2fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos2i(GLint x, GLint y) +void GLAPIENTRY nop_RasterPos2i(GLint x, GLint y) { (void) x; (void) y; } -static void GLAPIENTRY nop_RasterPos2iv(const GLint * v) +void GLAPIENTRY nop_RasterPos2iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos2s(GLshort x, GLshort y) +void GLAPIENTRY nop_RasterPos2s(GLshort x, GLshort y) { (void) x; (void) y; } -static void GLAPIENTRY nop_RasterPos2sv(const GLshort * v) +void GLAPIENTRY nop_RasterPos2sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos3d(GLdouble x, GLdouble y, GLdouble z) +void GLAPIENTRY nop_RasterPos3d(GLdouble x, GLdouble y, GLdouble z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_RasterPos3dv(const GLdouble * v) +void GLAPIENTRY nop_RasterPos3dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos3f(GLfloat x, GLfloat y, GLfloat z) +void GLAPIENTRY nop_RasterPos3f(GLfloat x, GLfloat y, GLfloat z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_RasterPos3fv(const GLfloat * v) +void GLAPIENTRY nop_RasterPos3fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos3i(GLint x, GLint y, GLint z) +void GLAPIENTRY nop_RasterPos3i(GLint x, GLint y, GLint z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_RasterPos3iv(const GLint * v) +void GLAPIENTRY nop_RasterPos3iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos3s(GLshort x, GLshort y, GLshort z) +void GLAPIENTRY nop_RasterPos3s(GLshort x, GLshort y, GLshort z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_RasterPos3sv(const GLshort * v) +void GLAPIENTRY nop_RasterPos3sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) +void GLAPIENTRY nop_RasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { (void) x; (void) y; (void) z; (void) w; } -static void GLAPIENTRY nop_RasterPos4dv(const GLdouble * v) +void GLAPIENTRY nop_RasterPos4dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) +void GLAPIENTRY nop_RasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { (void) x; (void) y; (void) z; (void) w; } -static void GLAPIENTRY nop_RasterPos4fv(const GLfloat * v) +void GLAPIENTRY nop_RasterPos4fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos4i(GLint x, GLint y, GLint z, GLint w) +void GLAPIENTRY nop_RasterPos4i(GLint x, GLint y, GLint z, GLint w) { (void) x; (void) y; (void) z; (void) w; } -static void GLAPIENTRY nop_RasterPos4iv(const GLint * v) +void GLAPIENTRY nop_RasterPos4iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_RasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) +void GLAPIENTRY nop_RasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { (void) x; (void) y; (void) z; (void) w; } -static void GLAPIENTRY nop_RasterPos4sv(const GLshort * v) +void GLAPIENTRY nop_RasterPos4sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_Rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) +void GLAPIENTRY nop_Rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { (void) x1; (void) y1; (void) x2; (void) y2; } -static void GLAPIENTRY nop_Rectdv(const GLdouble * v1, const GLdouble * v2) +void GLAPIENTRY nop_Rectdv(const GLdouble * v1, const GLdouble * v2) { (void) v1; (void) v2; } -static void GLAPIENTRY nop_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) +void GLAPIENTRY nop_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { (void) x1; (void) y1; (void) x2; (void) y2; } -static void GLAPIENTRY nop_Rectfv(const GLfloat * v1, const GLfloat * v2) +void GLAPIENTRY nop_Rectfv(const GLfloat * v1, const GLfloat * v2) { (void) v1; (void) v2; } -static void GLAPIENTRY nop_Recti(GLint x1, GLint y1, GLint x2, GLint y2) +void GLAPIENTRY nop_Recti(GLint x1, GLint y1, GLint x2, GLint y2) { (void) x1; (void) y1; (void) x2; (void) y2; } -static void GLAPIENTRY nop_Rectiv(const GLint * v1, const GLint * v2) +void GLAPIENTRY nop_Rectiv(const GLint * v1, const GLint * v2) { (void) v1; (void) v2; } -static void GLAPIENTRY nop_Rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) +void GLAPIENTRY nop_Rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { (void) x1; (void) y1; (void) x2; (void) y2; } -static void GLAPIENTRY nop_Rectsv(const GLshort * v1, const GLshort * v2) +void GLAPIENTRY nop_Rectsv(const GLshort * v1, const GLshort * v2) { (void) v1; (void) v2; } -static void GLAPIENTRY nop_TexCoord1d(GLdouble s) +void GLAPIENTRY nop_TexCoord1d(GLdouble s) { (void) s; } -static void GLAPIENTRY nop_TexCoord1dv(const GLdouble * v) +void GLAPIENTRY nop_TexCoord1dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord1f(GLfloat s) +void GLAPIENTRY nop_TexCoord1f(GLfloat s) { (void) s; } -static void GLAPIENTRY nop_TexCoord1fv(const GLfloat * v) +void GLAPIENTRY nop_TexCoord1fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord1i(GLint s) +void GLAPIENTRY nop_TexCoord1i(GLint s) { (void) s; } -static void GLAPIENTRY nop_TexCoord1iv(const GLint * v) +void GLAPIENTRY nop_TexCoord1iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord1s(GLshort s) +void GLAPIENTRY nop_TexCoord1s(GLshort s) { (void) s; } -static void GLAPIENTRY nop_TexCoord1sv(const GLshort * v) +void GLAPIENTRY nop_TexCoord1sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord2d(GLdouble s, GLdouble t) +void GLAPIENTRY nop_TexCoord2d(GLdouble s, GLdouble t) { (void) s; (void) t; } -static void GLAPIENTRY nop_TexCoord2dv(const GLdouble * v) +void GLAPIENTRY nop_TexCoord2dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord2f(GLfloat s, GLfloat t) +void GLAPIENTRY nop_TexCoord2f(GLfloat s, GLfloat t) { (void) s; (void) t; } -static void GLAPIENTRY nop_TexCoord2fv(const GLfloat * v) +void GLAPIENTRY nop_TexCoord2fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord2i(GLint s, GLint t) +void GLAPIENTRY nop_TexCoord2i(GLint s, GLint t) { (void) s; (void) t; } -static void GLAPIENTRY nop_TexCoord2iv(const GLint * v) +void GLAPIENTRY nop_TexCoord2iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord2s(GLshort s, GLshort t) +void GLAPIENTRY nop_TexCoord2s(GLshort s, GLshort t) { (void) s; (void) t; } -static void GLAPIENTRY nop_TexCoord2sv(const GLshort * v) +void GLAPIENTRY nop_TexCoord2sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord3d(GLdouble s, GLdouble t, GLdouble r) +void GLAPIENTRY nop_TexCoord3d(GLdouble s, GLdouble t, GLdouble r) { (void) s; (void) t; (void) r; } -static void GLAPIENTRY nop_TexCoord3dv(const GLdouble * v) +void GLAPIENTRY nop_TexCoord3dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord3f(GLfloat s, GLfloat t, GLfloat r) +void GLAPIENTRY nop_TexCoord3f(GLfloat s, GLfloat t, GLfloat r) { (void) s; (void) t; (void) r; } -static void GLAPIENTRY nop_TexCoord3fv(const GLfloat * v) +void GLAPIENTRY nop_TexCoord3fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord3i(GLint s, GLint t, GLint r) +void GLAPIENTRY nop_TexCoord3i(GLint s, GLint t, GLint r) { (void) s; (void) t; (void) r; } -static void GLAPIENTRY nop_TexCoord3iv(const GLint * v) +void GLAPIENTRY nop_TexCoord3iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord3s(GLshort s, GLshort t, GLshort r) +void GLAPIENTRY nop_TexCoord3s(GLshort s, GLshort t, GLshort r) { (void) s; (void) t; (void) r; } -static void GLAPIENTRY nop_TexCoord3sv(const GLshort * v) +void GLAPIENTRY nop_TexCoord3sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) +void GLAPIENTRY nop_TexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { (void) s; (void) t; (void) r; (void) q; } -static void GLAPIENTRY nop_TexCoord4dv(const GLdouble * v) +void GLAPIENTRY nop_TexCoord4dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) +void GLAPIENTRY nop_TexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { (void) s; (void) t; (void) r; (void) q; } -static void GLAPIENTRY nop_TexCoord4fv(const GLfloat * v) +void GLAPIENTRY nop_TexCoord4fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord4i(GLint s, GLint t, GLint r, GLint q) +void GLAPIENTRY nop_TexCoord4i(GLint s, GLint t, GLint r, GLint q) { (void) s; (void) t; (void) r; (void) q; } -static void GLAPIENTRY nop_TexCoord4iv(const GLint * v) +void GLAPIENTRY nop_TexCoord4iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_TexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) +void GLAPIENTRY nop_TexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { (void) s; (void) t; (void) r; (void) q; } -static void GLAPIENTRY nop_TexCoord4sv(const GLshort * v) +void GLAPIENTRY nop_TexCoord4sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_Vertex2d(GLdouble x, GLdouble y) +void GLAPIENTRY nop_Vertex2d(GLdouble x, GLdouble y) { (void) x; (void) y; } -static void GLAPIENTRY nop_Vertex2dv(const GLdouble * v) +void GLAPIENTRY nop_Vertex2dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_Vertex2f(GLfloat x, GLfloat y) +void GLAPIENTRY nop_Vertex2f(GLfloat x, GLfloat y) { (void) x; (void) y; } -static void GLAPIENTRY nop_Vertex2fv(const GLfloat * v) +void GLAPIENTRY nop_Vertex2fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_Vertex2i(GLint x, GLint y) +void GLAPIENTRY nop_Vertex2i(GLint x, GLint y) { (void) x; (void) y; } -static void GLAPIENTRY nop_Vertex2iv(const GLint * v) +void GLAPIENTRY nop_Vertex2iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_Vertex2s(GLshort x, GLshort y) +void GLAPIENTRY nop_Vertex2s(GLshort x, GLshort y) { (void) x; (void) y; } -static void GLAPIENTRY nop_Vertex2sv(const GLshort * v) +void GLAPIENTRY nop_Vertex2sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_Vertex3d(GLdouble x, GLdouble y, GLdouble z) +void GLAPIENTRY nop_Vertex3d(GLdouble x, GLdouble y, GLdouble z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_Vertex3dv(const GLdouble * v) +void GLAPIENTRY nop_Vertex3dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_Vertex3f(GLfloat x, GLfloat y, GLfloat z) +void GLAPIENTRY nop_Vertex3f(GLfloat x, GLfloat y, GLfloat z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_Vertex3fv(const GLfloat * v) +void GLAPIENTRY nop_Vertex3fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_Vertex3i(GLint x, GLint y, GLint z) +void GLAPIENTRY nop_Vertex3i(GLint x, GLint y, GLint z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_Vertex3iv(const GLint * v) +void GLAPIENTRY nop_Vertex3iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_Vertex3s(GLshort x, GLshort y, GLshort z) +void GLAPIENTRY nop_Vertex3s(GLshort x, GLshort y, GLshort z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_Vertex3sv(const GLshort * v) +void GLAPIENTRY nop_Vertex3sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_Vertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) +void GLAPIENTRY nop_Vertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { (void) x; (void) y; (void) z; (void) w; } -static void GLAPIENTRY nop_Vertex4dv(const GLdouble * v) +void GLAPIENTRY nop_Vertex4dv(const GLdouble * v) { (void) v; } -static void GLAPIENTRY nop_Vertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) +void GLAPIENTRY nop_Vertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { (void) x; (void) y; (void) z; (void) w; } -static void GLAPIENTRY nop_Vertex4fv(const GLfloat * v) +void GLAPIENTRY nop_Vertex4fv(const GLfloat * v) { (void) v; } -static void GLAPIENTRY nop_Vertex4i(GLint x, GLint y, GLint z, GLint w) +void GLAPIENTRY nop_Vertex4i(GLint x, GLint y, GLint z, GLint w) { (void) x; (void) y; (void) z; (void) w; } -static void GLAPIENTRY nop_Vertex4iv(const GLint * v) +void GLAPIENTRY nop_Vertex4iv(const GLint * v) { (void) v; } -static void GLAPIENTRY nop_Vertex4s(GLshort x, GLshort y, GLshort z, GLshort w) +void GLAPIENTRY nop_Vertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { (void) x; (void) y; (void) z; (void) w; } -static void GLAPIENTRY nop_Vertex4sv(const GLshort * v) +void GLAPIENTRY nop_Vertex4sv(const GLshort * v) { (void) v; } -static void GLAPIENTRY nop_ClipPlane(GLenum plane, const GLdouble * equation) +void GLAPIENTRY nop_ClipPlane(GLenum plane, const GLdouble * equation) { (void) plane; (void) equation; } -static void GLAPIENTRY nop_ColorMaterial(GLenum face, GLenum mode) +void GLAPIENTRY nop_ColorMaterial(GLenum face, GLenum mode) { (void) face; (void) mode; } -static void GLAPIENTRY nop_CullFace(GLenum mode) +void GLAPIENTRY nop_CullFace(GLenum mode) { (void) mode; } -static void GLAPIENTRY nop_Fogf(GLenum pname, GLfloat param) +void GLAPIENTRY nop_Fogf(GLenum pname, GLfloat param) { (void) pname; (void) param; } -static void GLAPIENTRY nop_Fogfv(GLenum pname, const GLfloat * params) +void GLAPIENTRY nop_Fogfv(GLenum pname, const GLfloat * params) { (void) pname; (void) params; } -static void GLAPIENTRY nop_Fogi(GLenum pname, GLint param) +void GLAPIENTRY nop_Fogi(GLenum pname, GLint param) { (void) pname; (void) param; } -static void GLAPIENTRY nop_Fogiv(GLenum pname, const GLint * params) +void GLAPIENTRY nop_Fogiv(GLenum pname, const GLint * params) { (void) pname; (void) params; } -static void GLAPIENTRY nop_FrontFace(GLenum mode) +void GLAPIENTRY nop_FrontFace(GLenum mode) { (void) mode; } -static void GLAPIENTRY nop_Hint(GLenum target, GLenum mode) +void GLAPIENTRY nop_Hint(GLenum target, GLenum mode) { (void) target; (void) mode; } -static void GLAPIENTRY nop_Lightf(GLenum light, GLenum pname, GLfloat param) +void GLAPIENTRY nop_Lightf(GLenum light, GLenum pname, GLfloat param) { (void) light; (void) pname; (void) param; } -static void GLAPIENTRY nop_Lightfv(GLenum light, GLenum pname, const GLfloat * params) +void GLAPIENTRY nop_Lightfv(GLenum light, GLenum pname, const GLfloat * params) { (void) light; (void) pname; (void) params; } -static void GLAPIENTRY nop_Lighti(GLenum light, GLenum pname, GLint param) +void GLAPIENTRY nop_Lighti(GLenum light, GLenum pname, GLint param) { (void) light; (void) pname; (void) param; } -static void GLAPIENTRY nop_Lightiv(GLenum light, GLenum pname, const GLint * params) +void GLAPIENTRY nop_Lightiv(GLenum light, GLenum pname, const GLint * params) { (void) light; (void) pname; (void) params; } -static void GLAPIENTRY nop_LightModelf(GLenum pname, GLfloat param) +void GLAPIENTRY nop_LightModelf(GLenum pname, GLfloat param) { (void) pname; (void) param; } -static void GLAPIENTRY nop_LightModelfv(GLenum pname, const GLfloat * params) +void GLAPIENTRY nop_LightModelfv(GLenum pname, const GLfloat * params) { (void) pname; (void) params; } -static void GLAPIENTRY nop_LightModeli(GLenum pname, GLint param) +void GLAPIENTRY nop_LightModeli(GLenum pname, GLint param) { (void) pname; (void) param; } -static void GLAPIENTRY nop_LightModeliv(GLenum pname, const GLint * params) +void GLAPIENTRY nop_LightModeliv(GLenum pname, const GLint * params) { (void) pname; (void) params; } -static void GLAPIENTRY nop_LineStipple(GLint factor, GLushort pattern) +void GLAPIENTRY nop_LineStipple(GLint factor, GLushort pattern) { (void) factor; (void) pattern; } -static void GLAPIENTRY nop_LineWidth(GLfloat width) +void GLAPIENTRY nop_LineWidth(GLfloat width) { (void) width; } -static void GLAPIENTRY nop_Materialf(GLenum face, GLenum pname, GLfloat param) +void GLAPIENTRY nop_Materialf(GLenum face, GLenum pname, GLfloat param) { (void) face; (void) pname; (void) param; } -static void GLAPIENTRY nop_Materialfv(GLenum face, GLenum pname, const GLfloat * params) +void GLAPIENTRY nop_Materialfv(GLenum face, GLenum pname, const GLfloat * params) { (void) face; (void) pname; (void) params; } -static void GLAPIENTRY nop_Materiali(GLenum face, GLenum pname, GLint param) +void GLAPIENTRY nop_Materiali(GLenum face, GLenum pname, GLint param) { (void) face; (void) pname; (void) param; } -static void GLAPIENTRY nop_Materialiv(GLenum face, GLenum pname, const GLint * params) +void GLAPIENTRY nop_Materialiv(GLenum face, GLenum pname, const GLint * params) { (void) face; (void) pname; (void) params; } -static void GLAPIENTRY nop_PointSize(GLfloat size) +void GLAPIENTRY nop_PointSize(GLfloat size) { (void) size; } -static void GLAPIENTRY nop_PolygonMode(GLenum face, GLenum mode) +void GLAPIENTRY nop_PolygonMode(GLenum face, GLenum mode) { (void) face; (void) mode; } -static void GLAPIENTRY nop_PolygonStipple(const GLubyte * mask) +void GLAPIENTRY nop_PolygonStipple(const GLubyte * mask) { (void) mask; } -static void GLAPIENTRY nop_Scissor(GLint x, GLint y, GLsizei width, GLsizei height) +void GLAPIENTRY nop_Scissor(GLint x, GLint y, GLsizei width, GLsizei height) { (void) x; (void) y; (void) width; (void) height; } -static void GLAPIENTRY nop_ShadeModel(GLenum mode) +void GLAPIENTRY nop_ShadeModel(GLenum mode) { (void) mode; } -static void GLAPIENTRY nop_TexParameterf(GLenum target, GLenum pname, GLfloat param) +void GLAPIENTRY nop_TexParameterf(GLenum target, GLenum pname, GLfloat param) { (void) target; (void) pname; (void) param; } -static void GLAPIENTRY nop_TexParameterfv(GLenum target, GLenum pname, const GLfloat * params) +void GLAPIENTRY nop_TexParameterfv(GLenum target, GLenum pname, const GLfloat * params) { (void) target; (void) pname; (void) params; } -static void GLAPIENTRY nop_TexParameteri(GLenum target, GLenum pname, GLint param) +void GLAPIENTRY nop_TexParameteri(GLenum target, GLenum pname, GLint param) { (void) target; (void) pname; (void) param; } -static void GLAPIENTRY nop_TexParameteriv(GLenum target, GLenum pname, const GLint * params) +void GLAPIENTRY nop_TexParameteriv(GLenum target, GLenum pname, const GLint * params) { (void) target; (void) pname; (void) params; } -static void GLAPIENTRY nop_TexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels) +void GLAPIENTRY nop_TexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels) { (void) target; (void) level; (void) internalformat; (void) width; (void) border; (void) format; (void) type; (void) pixels; } -static void GLAPIENTRY nop_TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels) +void GLAPIENTRY nop_TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels) { (void) target; (void) level; (void) internalformat; (void) width; (void) height; (void) border; (void) format; (void) type; (void) pixels; } -static void GLAPIENTRY nop_TexEnvf(GLenum target, GLenum pname, GLfloat param) +void GLAPIENTRY nop_TexEnvf(GLenum target, GLenum pname, GLfloat param) { (void) target; (void) pname; (void) param; } -static void GLAPIENTRY nop_TexEnvfv(GLenum target, GLenum pname, const GLfloat * params) +void GLAPIENTRY nop_TexEnvfv(GLenum target, GLenum pname, const GLfloat * params) { (void) target; (void) pname; (void) params; } -static void GLAPIENTRY nop_TexEnvi(GLenum target, GLenum pname, GLint param) +void GLAPIENTRY nop_TexEnvi(GLenum target, GLenum pname, GLint param) { (void) target; (void) pname; (void) param; } -static void GLAPIENTRY nop_TexEnviv(GLenum target, GLenum pname, const GLint * params) +void GLAPIENTRY nop_TexEnviv(GLenum target, GLenum pname, const GLint * params) { (void) target; (void) pname; (void) params; } -static void GLAPIENTRY nop_TexGend(GLenum coord, GLenum pname, GLdouble param) +void GLAPIENTRY nop_TexGend(GLenum coord, GLenum pname, GLdouble param) { (void) coord; (void) pname; (void) param; } -static void GLAPIENTRY nop_TexGendv(GLenum coord, GLenum pname, const GLdouble * params) +void GLAPIENTRY nop_TexGendv(GLenum coord, GLenum pname, const GLdouble * params) { (void) coord; (void) pname; (void) params; } -static void GLAPIENTRY nop_TexGenf(GLenum coord, GLenum pname, GLfloat param) +void GLAPIENTRY nop_TexGenf(GLenum coord, GLenum pname, GLfloat param) { (void) coord; (void) pname; (void) param; } -static void GLAPIENTRY nop_TexGenfv(GLenum coord, GLenum pname, const GLfloat * params) +void GLAPIENTRY nop_TexGenfv(GLenum coord, GLenum pname, const GLfloat * params) { (void) coord; (void) pname; (void) params; } -static void GLAPIENTRY nop_TexGeni(GLenum coord, GLenum pname, GLint param) +void GLAPIENTRY nop_TexGeni(GLenum coord, GLenum pname, GLint param) { (void) coord; (void) pname; (void) param; } -static void GLAPIENTRY nop_TexGeniv(GLenum coord, GLenum pname, const GLint * params) +void GLAPIENTRY nop_TexGeniv(GLenum coord, GLenum pname, const GLint * params) { (void) coord; (void) pname; (void) params; } -static void GLAPIENTRY nop_FeedbackBuffer(GLsizei size, GLenum type, GLfloat * buffer) +void GLAPIENTRY nop_FeedbackBuffer(GLsizei size, GLenum type, GLfloat * buffer) { (void) size; (void) type; (void) buffer; } -static void GLAPIENTRY nop_SelectBuffer(GLsizei size, GLuint * buffer) +void GLAPIENTRY nop_SelectBuffer(GLsizei size, GLuint * buffer) { (void) size; (void) buffer; } -static GLint GLAPIENTRY nop_RenderMode(GLenum mode) +GLint GLAPIENTRY nop_RenderMode(GLenum mode) { (void) mode; return 0; } -static void GLAPIENTRY nop_InitNames(void) +void GLAPIENTRY nop_InitNames(void) { } -static void GLAPIENTRY nop_LoadName(GLuint name) +void GLAPIENTRY nop_LoadName(GLuint name) { (void) name; } -static void GLAPIENTRY nop_PassThrough(GLfloat token) +void GLAPIENTRY nop_PassThrough(GLfloat token) { (void) token; } -static void GLAPIENTRY nop_PopName(void) +void GLAPIENTRY nop_PopName(void) { } -static void GLAPIENTRY nop_PushName(GLuint name) +void GLAPIENTRY nop_PushName(GLuint name) { (void) name; } -static void GLAPIENTRY nop_DrawBuffer(GLenum mode) +void GLAPIENTRY nop_DrawBuffer(GLenum mode) { (void) mode; } -static void GLAPIENTRY nop_Clear(GLbitfield mask) +void GLAPIENTRY nop_Clear(GLbitfield mask) { (void) mask; } -static void GLAPIENTRY nop_ClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) +void GLAPIENTRY nop_ClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { (void) red; (void) green; (void) blue; (void) alpha; } -static void GLAPIENTRY nop_ClearIndex(GLfloat c) +void GLAPIENTRY nop_ClearIndex(GLfloat c) { (void) c; } -static void GLAPIENTRY nop_ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) +void GLAPIENTRY nop_ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { (void) red; (void) green; (void) blue; (void) alpha; } -static void GLAPIENTRY nop_ClearStencil(GLint s) +void GLAPIENTRY nop_ClearStencil(GLint s) { (void) s; } -static void GLAPIENTRY nop_ClearDepth(GLclampd depth) +void GLAPIENTRY nop_ClearDepth(GLclampd depth) { (void) depth; } -static void GLAPIENTRY nop_StencilMask(GLuint mask) +void GLAPIENTRY nop_StencilMask(GLuint mask) { (void) mask; } -static void GLAPIENTRY nop_ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) +void GLAPIENTRY nop_ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { (void) red; (void) green; (void) blue; (void) alpha; } -static void GLAPIENTRY nop_DepthMask(GLboolean flag) +void GLAPIENTRY nop_DepthMask(GLboolean flag) { (void) flag; } -static void GLAPIENTRY nop_IndexMask(GLuint mask) +void GLAPIENTRY nop_IndexMask(GLuint mask) { (void) mask; } -static void GLAPIENTRY nop_Accum(GLenum op, GLfloat value) +void GLAPIENTRY nop_Accum(GLenum op, GLfloat value) { (void) op; (void) value; } -static void GLAPIENTRY nop_Disable(GLenum cap) +void GLAPIENTRY nop_Disable(GLenum cap) { (void) cap; } -static void GLAPIENTRY nop_Enable(GLenum cap) +void GLAPIENTRY nop_Enable(GLenum cap) { (void) cap; } -static void GLAPIENTRY nop_Finish(void) +void GLAPIENTRY nop_Finish(void) { } -static void GLAPIENTRY nop_Flush(void) +void GLAPIENTRY nop_Flush(void) { } -static void GLAPIENTRY nop_PopAttrib(void) +void GLAPIENTRY nop_PopAttrib(void) { } -static void GLAPIENTRY nop_PushAttrib(GLbitfield mask) +void GLAPIENTRY nop_PushAttrib(GLbitfield mask) { (void) mask; } -static void GLAPIENTRY nop_Map1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points) +void GLAPIENTRY nop_Map1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points) { (void) target; (void) u1; (void) u2; (void) stride; (void) order; (void) points; } -static void GLAPIENTRY nop_Map1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points) +void GLAPIENTRY nop_Map1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points) { (void) target; (void) u1; (void) u2; (void) stride; (void) order; (void) points; } -static void GLAPIENTRY nop_Map2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points) +void GLAPIENTRY nop_Map2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points) { (void) target; (void) u1; (void) u2; (void) ustride; (void) uorder; (void) v1; (void) v2; (void) vstride; (void) vorder; (void) points; } -static void GLAPIENTRY nop_Map2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points) +void GLAPIENTRY nop_Map2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points) { (void) target; (void) u1; (void) u2; (void) ustride; (void) uorder; (void) v1; (void) v2; (void) vstride; (void) vorder; (void) points; } -static void GLAPIENTRY nop_MapGrid1d(GLint un, GLdouble u1, GLdouble u2) +void GLAPIENTRY nop_MapGrid1d(GLint un, GLdouble u1, GLdouble u2) { (void) un; (void) u1; (void) u2; } -static void GLAPIENTRY nop_MapGrid1f(GLint un, GLfloat u1, GLfloat u2) +void GLAPIENTRY nop_MapGrid1f(GLint un, GLfloat u1, GLfloat u2) { (void) un; (void) u1; (void) u2; } -static void GLAPIENTRY nop_MapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) +void GLAPIENTRY nop_MapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { (void) un; (void) u1; (void) u2; (void) vn; (void) v1; (void) v2; } -static void GLAPIENTRY nop_MapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) +void GLAPIENTRY nop_MapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { (void) un; (void) u1; (void) u2; (void) vn; (void) v1; (void) v2; } -static void GLAPIENTRY nop_EvalCoord1d(GLdouble u) +void GLAPIENTRY nop_EvalCoord1d(GLdouble u) { (void) u; } -static void GLAPIENTRY nop_EvalCoord1dv(const GLdouble * u) +void GLAPIENTRY nop_EvalCoord1dv(const GLdouble * u) { (void) u; } -static void GLAPIENTRY nop_EvalCoord1f(GLfloat u) +void GLAPIENTRY nop_EvalCoord1f(GLfloat u) { (void) u; } -static void GLAPIENTRY nop_EvalCoord1fv(const GLfloat * u) +void GLAPIENTRY nop_EvalCoord1fv(const GLfloat * u) { (void) u; } -static void GLAPIENTRY nop_EvalCoord2d(GLdouble u, GLdouble v) +void GLAPIENTRY nop_EvalCoord2d(GLdouble u, GLdouble v) { (void) u; (void) v; } -static void GLAPIENTRY nop_EvalCoord2dv(const GLdouble * u) +void GLAPIENTRY nop_EvalCoord2dv(const GLdouble * u) { (void) u; } -static void GLAPIENTRY nop_EvalCoord2f(GLfloat u, GLfloat v) +void GLAPIENTRY nop_EvalCoord2f(GLfloat u, GLfloat v) { (void) u; (void) v; } -static void GLAPIENTRY nop_EvalCoord2fv(const GLfloat * u) +void GLAPIENTRY nop_EvalCoord2fv(const GLfloat * u) { (void) u; } -static void GLAPIENTRY nop_EvalMesh1(GLenum mode, GLint i1, GLint i2) +void GLAPIENTRY nop_EvalMesh1(GLenum mode, GLint i1, GLint i2) { (void) mode; (void) i1; (void) i2; } -static void GLAPIENTRY nop_EvalPoint1(GLint i) +void GLAPIENTRY nop_EvalPoint1(GLint i) { (void) i; } -static void GLAPIENTRY nop_EvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) +void GLAPIENTRY nop_EvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { (void) mode; (void) i1; (void) i2; (void) j1; (void) j2; } -static void GLAPIENTRY nop_EvalPoint2(GLint i, GLint j) +void GLAPIENTRY nop_EvalPoint2(GLint i, GLint j) { (void) i; (void) j; } -static void GLAPIENTRY nop_AlphaFunc(GLenum func, GLclampf ref) +void GLAPIENTRY nop_AlphaFunc(GLenum func, GLclampf ref) { (void) func; (void) ref; } -static void GLAPIENTRY nop_BlendFunc(GLenum sfactor, GLenum dfactor) +void GLAPIENTRY nop_BlendFunc(GLenum sfactor, GLenum dfactor) { (void) sfactor; (void) dfactor; } -static void GLAPIENTRY nop_LogicOp(GLenum opcode) +void GLAPIENTRY nop_LogicOp(GLenum opcode) { (void) opcode; } -static void GLAPIENTRY nop_StencilFunc(GLenum func, GLint ref, GLuint mask) +void GLAPIENTRY nop_StencilFunc(GLenum func, GLint ref, GLuint mask) { (void) func; (void) ref; (void) mask; } -static void GLAPIENTRY nop_StencilOp(GLenum fail, GLenum zfail, GLenum zpass) +void GLAPIENTRY nop_StencilOp(GLenum fail, GLenum zfail, GLenum zpass) { (void) fail; (void) zfail; (void) zpass; } -static void GLAPIENTRY nop_DepthFunc(GLenum func) +void GLAPIENTRY nop_DepthFunc(GLenum func) { (void) func; } -static void GLAPIENTRY nop_PixelZoom(GLfloat xfactor, GLfloat yfactor) +void GLAPIENTRY nop_PixelZoom(GLfloat xfactor, GLfloat yfactor) { (void) xfactor; (void) yfactor; } -static void GLAPIENTRY nop_PixelTransferf(GLenum pname, GLfloat param) +void GLAPIENTRY nop_PixelTransferf(GLenum pname, GLfloat param) { (void) pname; (void) param; } -static void GLAPIENTRY nop_PixelTransferi(GLenum pname, GLint param) +void GLAPIENTRY nop_PixelTransferi(GLenum pname, GLint param) { (void) pname; (void) param; } -static void GLAPIENTRY nop_PixelStoref(GLenum pname, GLfloat param) +void GLAPIENTRY nop_PixelStoref(GLenum pname, GLfloat param) { (void) pname; (void) param; } -static void GLAPIENTRY nop_PixelStorei(GLenum pname, GLint param) +void GLAPIENTRY nop_PixelStorei(GLenum pname, GLint param) { (void) pname; (void) param; } -static void GLAPIENTRY nop_PixelMapfv(GLenum map, GLsizei mapsize, const GLfloat * values) +void GLAPIENTRY nop_PixelMapfv(GLenum map, GLsizei mapsize, const GLfloat * values) { (void) map; (void) mapsize; (void) values; } -static void GLAPIENTRY nop_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint * values) +void GLAPIENTRY nop_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint * values) { (void) map; (void) mapsize; (void) values; } -static void GLAPIENTRY nop_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort * values) +void GLAPIENTRY nop_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort * values) { (void) map; (void) mapsize; (void) values; } -static void GLAPIENTRY nop_ReadBuffer(GLenum mode) +void GLAPIENTRY nop_ReadBuffer(GLenum mode) { (void) mode; } -static void GLAPIENTRY nop_CopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) +void GLAPIENTRY nop_CopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { (void) x; (void) y; (void) width; (void) height; (void) type; } -static void GLAPIENTRY nop_ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels) +void GLAPIENTRY nop_ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels) { (void) x; (void) y; (void) width; (void) height; (void) format; (void) type; (void) pixels; } -static void GLAPIENTRY nop_DrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels) +void GLAPIENTRY nop_DrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels) { (void) width; (void) height; (void) format; (void) type; (void) pixels; } -static void GLAPIENTRY nop_GetBooleanv(GLenum pname, GLboolean * params) +void GLAPIENTRY nop_GetBooleanv(GLenum pname, GLboolean * params) { (void) pname; (void) params; } -static void GLAPIENTRY nop_GetClipPlane(GLenum plane, GLdouble * equation) +void GLAPIENTRY nop_GetClipPlane(GLenum plane, GLdouble * equation) { (void) plane; (void) equation; } -static void GLAPIENTRY nop_GetDoublev(GLenum pname, GLdouble * params) +void GLAPIENTRY nop_GetDoublev(GLenum pname, GLdouble * params) { (void) pname; (void) params; } -static GLenum GLAPIENTRY nop_GetError(void) +GLenum GLAPIENTRY nop_GetError(void) { return 0; } -static void GLAPIENTRY nop_GetFloatv(GLenum pname, GLfloat * params) +void GLAPIENTRY nop_GetFloatv(GLenum pname, GLfloat * params) { (void) pname; (void) params; } -static void GLAPIENTRY nop_GetIntegerv(GLenum pname, GLint * params) +void GLAPIENTRY nop_GetIntegerv(GLenum pname, GLint * params) { (void) pname; (void) params; } -static void GLAPIENTRY nop_GetLightfv(GLenum light, GLenum pname, GLfloat * params) +void GLAPIENTRY nop_GetLightfv(GLenum light, GLenum pname, GLfloat * params) { (void) light; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetLightiv(GLenum light, GLenum pname, GLint * params) +void GLAPIENTRY nop_GetLightiv(GLenum light, GLenum pname, GLint * params) { (void) light; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetMapdv(GLenum target, GLenum query, GLdouble * v) +void GLAPIENTRY nop_GetMapdv(GLenum target, GLenum query, GLdouble * v) { (void) target; (void) query; (void) v; } -static void GLAPIENTRY nop_GetMapfv(GLenum target, GLenum query, GLfloat * v) +void GLAPIENTRY nop_GetMapfv(GLenum target, GLenum query, GLfloat * v) { (void) target; (void) query; (void) v; } -static void GLAPIENTRY nop_GetMapiv(GLenum target, GLenum query, GLint * v) +void GLAPIENTRY nop_GetMapiv(GLenum target, GLenum query, GLint * v) { (void) target; (void) query; (void) v; } -static void GLAPIENTRY nop_GetMaterialfv(GLenum face, GLenum pname, GLfloat * params) +void GLAPIENTRY nop_GetMaterialfv(GLenum face, GLenum pname, GLfloat * params) { (void) face; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetMaterialiv(GLenum face, GLenum pname, GLint * params) +void GLAPIENTRY nop_GetMaterialiv(GLenum face, GLenum pname, GLint * params) { (void) face; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetPixelMapfv(GLenum map, GLfloat * values) +void GLAPIENTRY nop_GetPixelMapfv(GLenum map, GLfloat * values) { (void) map; (void) values; } -static void GLAPIENTRY nop_GetPixelMapuiv(GLenum map, GLuint * values) +void GLAPIENTRY nop_GetPixelMapuiv(GLenum map, GLuint * values) { (void) map; (void) values; } -static void GLAPIENTRY nop_GetPixelMapusv(GLenum map, GLushort * values) +void GLAPIENTRY nop_GetPixelMapusv(GLenum map, GLushort * values) { (void) map; (void) values; } -static void GLAPIENTRY nop_GetPolygonStipple(GLubyte * mask) +void GLAPIENTRY nop_GetPolygonStipple(GLubyte * mask) { (void) mask; } -static const GLubyte * GLAPIENTRY nop_GetString(GLenum name) +const GLubyte * GLAPIENTRY nop_GetString(GLenum name) { (void) name; return (const GLubyte*)""; } -static void GLAPIENTRY nop_GetTexEnvfv(GLenum target, GLenum pname, GLfloat * params) +void GLAPIENTRY nop_GetTexEnvfv(GLenum target, GLenum pname, GLfloat * params) { (void) target; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetTexEnviv(GLenum target, GLenum pname, GLint * params) +void GLAPIENTRY nop_GetTexEnviv(GLenum target, GLenum pname, GLint * params) { (void) target; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetTexGendv(GLenum coord, GLenum pname, GLdouble * params) +void GLAPIENTRY nop_GetTexGendv(GLenum coord, GLenum pname, GLdouble * params) { (void) coord; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetTexGenfv(GLenum coord, GLenum pname, GLfloat * params) +void GLAPIENTRY nop_GetTexGenfv(GLenum coord, GLenum pname, GLfloat * params) { (void) coord; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetTexGeniv(GLenum coord, GLenum pname, GLint * params) +void GLAPIENTRY nop_GetTexGeniv(GLenum coord, GLenum pname, GLint * params) { (void) coord; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels) +void GLAPIENTRY nop_GetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels) { (void) target; (void) level; (void) format; (void) type; (void) pixels; } -static void GLAPIENTRY nop_GetTexParameterfv(GLenum target, GLenum pname, GLfloat * params) +void GLAPIENTRY nop_GetTexParameterfv(GLenum target, GLenum pname, GLfloat * params) { (void) target; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetTexParameteriv(GLenum target, GLenum pname, GLint * params) +void GLAPIENTRY nop_GetTexParameteriv(GLenum target, GLenum pname, GLint * params) { (void) target; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat * params) +void GLAPIENTRY nop_GetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat * params) { (void) target; (void) level; (void) pname; (void) params; } -static void GLAPIENTRY nop_GetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint * params) +void GLAPIENTRY nop_GetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint * params) { (void) target; (void) level; (void) pname; (void) params; } -static GLboolean GLAPIENTRY nop_IsEnabled(GLenum cap) +GLboolean GLAPIENTRY nop_IsEnabled(GLenum cap) { (void) cap; return 0; } -static GLboolean GLAPIENTRY nop_IsList(GLuint list) +GLboolean GLAPIENTRY nop_IsList(GLuint list) { (void) list; return 0; } -static void GLAPIENTRY nop_DepthRange(GLclampd zNear, GLclampd zFar) +void GLAPIENTRY nop_DepthRange(GLclampd zNear, GLclampd zFar) { (void) zNear; (void) zFar; } -static void GLAPIENTRY nop_Frustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) +void GLAPIENTRY nop_Frustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { (void) left; (void) right; (void) bottom; (void) top; (void) zNear; (void) zFar; } -static void GLAPIENTRY nop_LoadIdentity(void) +void GLAPIENTRY nop_LoadIdentity(void) { } -static void GLAPIENTRY nop_LoadMatrixf(const GLfloat * m) +void GLAPIENTRY nop_LoadMatrixf(const GLfloat * m) { (void) m; } -static void GLAPIENTRY nop_LoadMatrixd(const GLdouble * m) +void GLAPIENTRY nop_LoadMatrixd(const GLdouble * m) { (void) m; } -static void GLAPIENTRY nop_MatrixMode(GLenum mode) +void GLAPIENTRY nop_MatrixMode(GLenum mode) { (void) mode; } -static void GLAPIENTRY nop_MultMatrixf(const GLfloat * m) +void GLAPIENTRY nop_MultMatrixf(const GLfloat * m) { (void) m; } -static void GLAPIENTRY nop_MultMatrixd(const GLdouble * m) +void GLAPIENTRY nop_MultMatrixd(const GLdouble * m) { (void) m; } -static void GLAPIENTRY nop_Ortho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) +void GLAPIENTRY nop_Ortho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { (void) left; (void) right; (void) bottom; (void) top; (void) zNear; (void) zFar; } -static void GLAPIENTRY nop_PopMatrix(void) +void GLAPIENTRY nop_PopMatrix(void) { } -static void GLAPIENTRY nop_PushMatrix(void) +void GLAPIENTRY nop_PushMatrix(void) { } -static void GLAPIENTRY nop_Rotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) +void GLAPIENTRY nop_Rotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { (void) angle; (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_Rotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) +void GLAPIENTRY nop_Rotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { (void) angle; (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_Scaled(GLdouble x, GLdouble y, GLdouble z) +void GLAPIENTRY nop_Scaled(GLdouble x, GLdouble y, GLdouble z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_Scalef(GLfloat x, GLfloat y, GLfloat z) +void GLAPIENTRY nop_Scalef(GLfloat x, GLfloat y, GLfloat z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_Translated(GLdouble x, GLdouble y, GLdouble z) +void GLAPIENTRY nop_Translated(GLdouble x, GLdouble y, GLdouble z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_Translatef(GLfloat x, GLfloat y, GLfloat z) +void GLAPIENTRY nop_Translatef(GLfloat x, GLfloat y, GLfloat z) { (void) x; (void) y; (void) z; } -static void GLAPIENTRY nop_Viewport(GLint x, GLint y, GLsizei width, GLsizei height) +void GLAPIENTRY nop_Viewport(GLint x, GLint y, GLsizei width, GLsizei height) { (void) x; (void) y; (void) width; (void) height; } -static void GLAPIENTRY nop_ArrayElement(GLint i) +void GLAPIENTRY nop_ArrayElement(GLint i) { (void) i; } -static void GLAPIENTRY nop_BindTexture(GLenum target, GLuint texture) +void GLAPIENTRY nop_BindTexture(GLenum target, GLuint texture) { (void) target; (void) texture; } -static void GLAPIENTRY nop_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) +void GLAPIENTRY nop_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) { (void) size; (void) type; (void) stride; (void) pointer; } -static void GLAPIENTRY nop_DisableClientState(GLenum array) +void GLAPIENTRY nop_DisableClientState(GLenum array) { (void) array; } -static void GLAPIENTRY nop_DrawArrays(GLenum mode, GLint first, GLsizei count) +void GLAPIENTRY nop_DrawArrays(GLenum mode, GLint first, GLsizei count) { (void) mode; (void) first; (void) count; } -static void GLAPIENTRY nop_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices) +void GLAPIENTRY nop_DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices) { (void) mode; (void) count; (void) type; (void) indices; } -static void GLAPIENTRY nop_EdgeFlagPointer(GLsizei stride, const GLvoid * pointer) +void GLAPIENTRY nop_EdgeFlagPointer(GLsizei stride, const GLvoid * pointer) { (void) stride; (void) pointer; } -static void GLAPIENTRY nop_EnableClientState(GLenum array) +void GLAPIENTRY nop_EnableClientState(GLenum array) { (void) array; } -static void GLAPIENTRY nop_IndexPointer(GLenum type, GLsizei stride, const GLvoid * pointer) +void GLAPIENTRY nop_IndexPointer(GLenum type, GLsizei stride, const GLvoid * pointer) { (void) type; (void) stride; (void) pointer; } -static void GLAPIENTRY nop_Indexub(GLubyte c) +void GLAPIENTRY nop_Indexub(GLubyte c) { (void) c; } -static void GLAPIENTRY nop_Indexubv(const GLubyte * c) +void GLAPIENTRY nop_Indexubv(const GLubyte * c) { (void) c; } -static void GLAPIENTRY nop_InterleavedArrays(GLenum format, GLsizei stride, const GLvoid * pointer) +void GLAPIENTRY nop_InterleavedArrays(GLenum format, GLsizei stride, const GLvoid * pointer) { (void) format; (void) stride; (void) pointer; } -static void GLAPIENTRY nop_NormalPointer(GLenum type, GLsizei stride, const GLvoid * pointer) +void GLAPIENTRY nop_NormalPointer(GLenum type, GLsizei stride, const GLvoid * pointer) { (void) type; (void) stride; (void) pointer; } -static void GLAPIENTRY nop_PolygonOffset(GLfloat factor, GLfloat units) +void GLAPIENTRY nop_PolygonOffset(GLfloat factor, GLfloat units) { (void) factor; (void) units; } -static void GLAPIENTRY nop_TexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) +void GLAPIENTRY nop_TexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) { (void) size; (void) type; (void) stride; (void) pointer; } -static void GLAPIENTRY nop_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) +void GLAPIENTRY nop_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) { (void) size; (void) type; (void) stride; (void) pointer; } -static GLboolean GLAPIENTRY nop_AreTexturesResident(GLsizei n, const GLuint * textures, GLboolean * residences) +GLboolean GLAPIENTRY nop_AreTexturesResident(GLsizei n, const GLuint * textures, GLboolean * residences) { (void) n; (void) textures; (void) residences; return 0; } -static void GLAPIENTRY nop_CopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) +void GLAPIENTRY nop_CopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { (void) target; (void) level; (void) internalformat; (void) x; (void) y; (void) width; (void) border; } -static void GLAPIENTRY nop_CopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) +void GLAPIENTRY nop_CopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { (void) target; (void) level; (void) internalformat; (void) x; (void) y; (void) width; (void) height; (void) border; } -static void GLAPIENTRY nop_CopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) +void GLAPIENTRY nop_CopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { (void) target; (void) level; (void) xoffset; (void) x; (void) y; (void) width; } -static void GLAPIENTRY nop_CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) +void GLAPIENTRY nop_CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { (void) target; (void) level; (void) xoffset; (void) yoffset; (void) x; (void) y; (void) width; (void) height; } -static void GLAPIENTRY nop_DeleteTextures(GLsizei n, const GLuint * textures) +void GLAPIENTRY nop_DeleteTextures(GLsizei n, const GLuint * textures) { (void) n; (void) textures; } -static void GLAPIENTRY nop_GenTextures(GLsizei n, GLuint * textures) +void GLAPIENTRY nop_GenTextures(GLsizei n, GLuint * textures) { (void) n; (void) textures; } -static void GLAPIENTRY nop_GetPointerv(GLenum pname, GLvoid ** params) +void GLAPIENTRY nop_GetPointerv(GLenum pname, GLvoid ** params) { (void) pname; (void) params; } -static GLboolean GLAPIENTRY nop_IsTexture(GLuint texture) +GLboolean GLAPIENTRY nop_IsTexture(GLuint texture) { (void) texture; return 0; } -static void GLAPIENTRY nop_PrioritizeTextures(GLsizei n, const GLuint * textures, const GLclampf * priorities) +void GLAPIENTRY nop_PrioritizeTextures(GLsizei n, const GLuint * textures, const GLclampf * priorities) { (void) n; (void) textures; (void) priorities; } -static void GLAPIENTRY nop_TexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels) +void GLAPIENTRY nop_TexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels) { (void) target; (void) level; (void) xoffset; (void) width; (void) format; (void) type; (void) pixels; } -static void GLAPIENTRY nop_TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels) +void GLAPIENTRY nop_TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels) { (void) target; (void) level; (void) xoffset; (void) yoffset; (void) width; (void) height; (void) format; (void) type; (void) pixels; } -static void GLAPIENTRY nop_PopClientAttrib(void) +void GLAPIENTRY nop_PopClientAttrib(void) { } -static void GLAPIENTRY nop_PushClientAttrib(GLbitfield mask) +void GLAPIENTRY nop_PushClientAttrib(GLbitfield mask) { (void) mask; } @@ -2028,6 +2028,7 @@ const GLCLTPROCTABLE StubTable = #ifndef __i386__ + void GLAPIENTRY glNewList(GLuint list, GLenum mode) { IntGetCurrentDispatchTable()->NewList(list, mode); diff --git a/dll/opengl/opengl32/dllmain.c b/dll/opengl/opengl32/dllmain.c index dae16d28c96..6639d0decd4 100644 --- a/dll/opengl/opengl32/dllmain.c +++ b/dll/opengl/opengl32/dllmain.c @@ -48,9 +48,8 @@ DllMain(HINSTANCE hInstance, DWORD Reason, LPVOID Reserved) #ifdef OPENGL32_USE_TLS if (!init_tls_data()) return FALSE; -#else - NtCurrentTeb()->glTable = &StubTable.glDispatchTable; #endif // defined(OPENGL32_USE_TLS) + IntSetCurrentDispatchTable(&StubTable.glDispatchTable); break; case DLL_THREAD_DETACH: diff --git a/dll/opengl/opengl32/glapi_x86.s b/dll/opengl/opengl32/glapi_x86.s index 2bfb61e7f7a..81e697ea097 100644 --- a/dll/opengl/opengl32/glapi_x86.s +++ b/dll/opengl/opengl32/glapi_x86.s @@ -7,9 +7,11 @@ /* X86 opengl API entry points, fast forward to the current thread's dispatch table */ #include +#include .code +#ifdef OPENG32_USE_TLS EXTERN _OglTlsIndex:DWORD EXTERN _TlsGetValue@4:PROC @@ -22,6 +24,23 @@ PUBLIC _gl&name&@&stack jmp dword ptr [eax+4*VAL(offset)] .ENDP ENDM +#else +MACRO(USE_GL_FUNC, name, offset, stack) +EXTERN _nop_&name@&stack:PROC +PUBLIC _gl&name&@&stack +.PROC _gl&name&@&stack + /* Get the TEB */ + mov eax, fs:[TEB_SELF] + /* Get the GL table */ + mov eax, [eax + TEB_GL_TABLE] + /* If we don't have a dispatch table, call the nop */ + test eax, eax + jz _nop_&name&@&stack + /* Jump into the ICD */ + jmp dword ptr [eax+4*VAL(offset)] +.ENDP +ENDM +#endif USE_GL_FUNC Accum, 213, 8 USE_GL_FUNC AlphaFunc, 240, 8 @@ -360,4 +379,4 @@ USE_GL_FUNC Vertex4sv, 149, 4 USE_GL_FUNC VertexPointer, 321, 16 USE_GL_FUNC Viewport, 305, 16 -END \ No newline at end of file +END diff --git a/dll/opengl/opengl32/opengl32.h b/dll/opengl/opengl32/opengl32.h index 0aadd6782a9..b454ac5051a 100644 --- a/dll/opengl/opengl32/opengl32.h +++ b/dll/opengl/opengl32/opengl32.h @@ -17,6 +17,10 @@ #include #include +#ifndef OPENGL32_USE_TLS +#include +#endif + #include #include "icd.h" @@ -124,7 +128,7 @@ C_ASSERT(FIELD_OFFSET(struct Opengl32_ThreadData, glDispatchTable) == 0); /* dllmain.c */ BOOL init_tls_data(void); -static inline +FORCEINLINE void IntMakeCurrent(HGLRC hglrc, HDC hdc, struct wgl_dc_data* dc_data) { @@ -143,7 +147,7 @@ IntMakeCurrent(HGLRC hglrc, HDC hdc, struct wgl_dc_data* dc_data) thread_data->dc_data = dc_data; } -static inline +FORCEINLINE HGLRC IntGetCurrentRC(void) { @@ -151,16 +155,7 @@ IntGetCurrentRC(void) return data ? data->hglrc : NULL; } -static inline -DHGLRC -IntGetCurrentDHGLRC(void) -{ - struct wgl_context* ctx = (struct wgl_context*)IntGetCurrentRC(); - if(!ctx) return NULL; - return ctx->dhglrc; -} - -static inline +FORCEINLINE HDC IntGetCurrentDC(void) { @@ -168,7 +163,7 @@ IntGetCurrentDC(void) return data ? data->hdc : NULL; } -static inline +FORCEINLINE struct wgl_dc_data* IntGetCurrentDcData(void) { @@ -176,7 +171,7 @@ IntGetCurrentDcData(void) return data->dc_data; } -static inline +FORCEINLINE const GLDISPATCHTABLE * IntGetCurrentDispatchTable(void) { @@ -184,7 +179,7 @@ IntGetCurrentDispatchTable(void) return data->glDispatchTable; } -static inline +FORCEINLINE void IntSetCurrentDispatchTable(const GLDISPATCHTABLE* table) { @@ -192,7 +187,7 @@ IntSetCurrentDispatchTable(const GLDISPATCHTABLE* table) data->glDispatchTable = table; } -static inline +FORCEINLINE void IntSetCurrentICDPrivate(void* value) { @@ -200,7 +195,7 @@ IntSetCurrentICDPrivate(void* value) data->icdData = value; } -static inline +FORCEINLINE void* IntGetCurrentICDPrivate(void) { @@ -210,14 +205,77 @@ IntGetCurrentICDPrivate(void) #else -static inline +FORCEINLINE const GLDISPATCHTABLE* IntGetCurrentDispatchTable(void) { return (GLDISPATCHTABLE*)NtCurrentTeb()->glTable; } + +FORCEINLINE +void +IntSetCurrentDispatchTable(const GLDISPATCHTABLE* table) +{ + NtCurrentTeb()->glTable = (void*)table; +} + +FORCEINLINE +void +IntMakeCurrent(HGLRC hglrc, HDC hdc, struct wgl_dc_data* dc_data) +{ + TEB* CurrentTeb = NtCurrentTeb(); + + CurrentTeb->glCurrentRC = hglrc; + CurrentTeb->glReserved2 = hdc; + CurrentTeb->glContext = dc_data; +} + +FORCEINLINE +HGLRC +IntGetCurrentRC(void) +{ + return NtCurrentTeb()->glCurrentRC; +} + +FORCEINLINE +HDC +IntGetCurrentDC(void) +{ + return NtCurrentTeb()->glReserved2; +} + +static inline +struct wgl_dc_data* +IntGetCurrentDcData(void) +{ + return NtCurrentTeb()->glContext; +} + +FORCEINLINE +void +IntSetCurrentICDPrivate(void* value) +{ + NtCurrentTeb()->glReserved1[0] = (ULONG_PTR)value; +} + +FORCEINLINE +void* +IntGetCurrentICDPrivate(void) +{ + return (void*)NtCurrentTeb()->glReserved1[0]; +} + #endif // defined(OPENGL32_USE_TLS) +FORCEINLINE +DHGLRC +IntGetCurrentDHGLRC(void) +{ + struct wgl_context* ctx = (struct wgl_context*)IntGetCurrentRC(); + if(!ctx) return NULL; + return ctx->dhglrc; +} + /* Software implementation functions */ INT sw_DescribePixelFormat(HDC hdc, INT format, UINT size, PIXELFORMATDESCRIPTOR* descr); BOOL sw_SetPixelFormat(HDC hdc, struct wgl_dc_data*, INT format); diff --git a/sdk/include/asm/ks386.template.h b/sdk/include/asm/ks386.template.h index e6d53a39740..dedeefa0aff 100644 --- a/sdk/include/asm/ks386.template.h +++ b/sdk/include/asm/ks386.template.h @@ -736,6 +736,7 @@ OFFSET(TEB_SELF, TEB, NtTib.Self), OFFSET(TEB_PEB, TEB, ProcessEnvironmentBlock), OFFSET(TEB_EXCEPTION_CODE, TEB, ExceptionCode), OFFSET(TEB_ACTIVATION_CONTEXT_STACK_POINTER, TEB, ActivationContextStackPointer), +OFFSET(TEB_GL_TABLE, TEB, glTable), OFFSET(TEB_DEALLOCATION_STACK, TEB, DeallocationStack), OFFSET(TEB_GDI_BATCH_COUNT, TEB, GdiBatchCount), OFFSET(TEB_GUARANTEED_STACK_BYTES, TEB, GuaranteedStackBytes), diff --git a/sdk/include/ndk/i386/asm.h b/sdk/include/ndk/i386/asm.h index 4c5318eaee6..3c203e58904 100644 --- a/sdk/include/ndk/i386/asm.h +++ b/sdk/include/ndk/i386/asm.h @@ -414,6 +414,7 @@ Author: #define TEB_PEB 0x30 #define TEB_EXCEPTION_CODE 0x1A4 #define TEB_ACTIVATION_CONTEXT_STACK_POINTER 0x1A8 +#define TEB_GL_TABLE 0xBE8 #define TEB_DEALLOCATION_STACK 0xE0C #define TEB_GDI_BATCH_COUNT 0xF70 #define TEB_GUARANTEED_STACK_BYTES 0xF78