Added definitions needed for Adobe GPU sniffer to accept SwiftShader as an Nvidia GPU Change-Id: Ieee0dbdf425a0a58652c5ed4223c13f433091f9c Reviewed-on: https://swiftshader-review.googlesource.com/3727 Reviewed-by: Maxime Grégoire <mgregoire@google.com> Tested-by: Maxime Grégoire <mgregoire@google.com>
diff --git a/src/OpenGL/libGL/libGL.cpp b/src/OpenGL/libGL/libGL.cpp index fa3073d..5ab5ceb 100644 --- a/src/OpenGL/libGL/libGL.cpp +++ b/src/OpenGL/libGL/libGL.cpp
@@ -722,6 +722,419 @@ } } +void APIENTRY glVertexAttrib1dv(GLuint index, const GLdouble *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib1sv(GLuint index, const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib2dv(GLuint index, const GLdouble *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} + +void APIENTRY glVertexAttrib2sv(GLuint index, const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib3dv(GLuint index, const GLdouble *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib3sv(GLuint index, const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib4Nbv(GLuint index, const GLbyte *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib4Niv(GLuint index, const GLint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib4Nsv(GLuint index, const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib4Nubv(GLuint index, const GLubyte *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib4Nuiv(GLuint index, const GLuint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib4Nusv(GLuint index, const GLushort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glFogCoordfv(const GLfloat *coord) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glFogCoorddv(const GLdouble *coord) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3bv(const GLbyte *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3dv(const GLdouble *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3fv(const GLfloat *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3i(GLint red, GLint green, GLint blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3iv(const GLint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3sv(const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3ubv(const GLubyte *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3uiv(const GLuint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3usv(const GLushort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glWindowPos2dv(const GLdouble *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glWindowPos2fv(const GLfloat *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glWindowPos2iv(const GLint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glWindowPos2s(GLshort x, GLshort y) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glWindowPos2sv(const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glWindowPos3dv(const GLdouble *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glWindowPos3fv(const GLfloat *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glWindowPos3iv(const GLint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glWindowPos3s(GLshort x, GLshort y, GLshort z) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glWindowPos3sv(const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord1dv(GLenum target, const GLdouble *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord1fv(GLenum target, const GLfloat *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord1i(GLenum target, GLint s) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord1iv(GLenum target, const GLint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord1s(GLenum target, GLshort s) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord1sv(GLenum target, const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord2dv(GLenum target, const GLdouble *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord2fv(GLenum target, const GLfloat *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord2i(GLenum target, GLint s, GLint t) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord2iv(GLenum target, const GLint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord2sv(GLenum target, const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord3dv(GLenum target, const GLdouble *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord3fv(GLenum target, const GLfloat *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord3iv(GLenum target, const GLint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord3sv(GLenum target, const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord4dv(GLenum target, const GLdouble *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord4fv(GLenum target, const GLfloat *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord4iv(GLenum target, const GLint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glMultiTexCoord4sv(GLenum target, const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glBlendEquationEXT(GLenum mode) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3bEXT(GLbyte red, GLbyte green, GLbyte blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3bvEXT(const GLbyte *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3dEXT(GLdouble red, GLdouble green, GLdouble blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3dvEXT(const GLdouble *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3fvEXT(const GLfloat *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3iEXT(GLint red, GLint green, GLint blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3ivEXT(const GLint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3sEXT(GLshort red, GLshort green, GLshort blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3svEXT(const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3ubEXT(GLubyte red, GLubyte green, GLubyte blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3ubvEXT(const GLubyte *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3uiEXT(GLuint red, GLuint green, GLuint blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3uivEXT(const GLuint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3usEXT(GLushort red, GLushort green, GLushort blue) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColor3usvEXT(const GLushort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glSecondaryColorPointerEXT(GLint size, GLenum type, GLsizei stride, const void *pointer) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) +{ + TRACE("*"); + UNIMPLEMENTED(); +} + + void APIENTRY glClearStencil(GLint s) { TRACE("(GLint s = %d)", s); @@ -784,11 +1197,11 @@ } void APIENTRY glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, - GLint border, GLsizei imageSize, const GLvoid* data) + GLint border, GLsizei imageSize, const GLvoid* data) { TRACE("(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, GLsizei width = %d, " - "GLsizei height = %d, GLint border = %d, GLsizei imageSize = %d, const GLvoid* data = %p)", - target, level, internalformat, width, height, border, imageSize, data); + "GLsizei height = %d, GLint border = %d, GLsizei imageSize = %d, const GLvoid* data = %p)", + target, level, internalformat, width, height, border, imageSize, data); if(!validImageSize(level, width, height) || border != 0 || imageSize < 0) { @@ -839,7 +1252,7 @@ { case GL_TEXTURE_2D: if(width > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level) || - height > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level)) + height > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level)) { return error(GL_INVALID_VALUE); } @@ -856,7 +1269,7 @@ } if(width > (gl::IMPLEMENTATION_MAX_CUBE_MAP_TEXTURE_SIZE >> level) || - height > (gl::IMPLEMENTATION_MAX_CUBE_MAP_TEXTURE_SIZE >> level)) + height > (gl::IMPLEMENTATION_MAX_CUBE_MAP_TEXTURE_SIZE >> level)) { return error(GL_INVALID_VALUE); } @@ -907,12 +1320,12 @@ } void APIENTRY glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, - GLenum format, GLsizei imageSize, const GLvoid* data) + GLenum format, GLsizei imageSize, const GLvoid* data) { TRACE("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, " - "GLsizei width = %d, GLsizei height = %d, GLenum format = 0x%X, " - "GLsizei imageSize = %d, const GLvoid* data = %p)", - target, level, xoffset, yoffset, width, height, format, imageSize, data); + "GLsizei width = %d, GLsizei height = %d, GLenum format = 0x%X, " + "GLsizei imageSize = %d, const GLvoid* data = %p)", + target, level, xoffset, yoffset, width, height, format, imageSize, data); if(!gl::IsTextureTarget(target)) { @@ -997,8 +1410,8 @@ void APIENTRY glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { TRACE("(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, " - "GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d, GLint border = %d)", - target, level, internalformat, x, y, width, height, border); + "GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d, GLint border = %d)", + target, level, internalformat, x, y, width, height, border); if(!validImageSize(level, width, height)) { @@ -1023,7 +1436,7 @@ { case GL_TEXTURE_2D: if(width > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level) || - height > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level)) + height > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level)) { return error(GL_INVALID_VALUE); } @@ -1040,7 +1453,7 @@ } if(width > (gl::IMPLEMENTATION_MAX_CUBE_MAP_TEXTURE_SIZE >> level) || - height > (gl::IMPLEMENTATION_MAX_CUBE_MAP_TEXTURE_SIZE >> level)) + height > (gl::IMPLEMENTATION_MAX_CUBE_MAP_TEXTURE_SIZE >> level)) { return error(GL_INVALID_VALUE); } @@ -1068,10 +1481,10 @@ { case GL_ALPHA: if(colorbufferFormat != GL_ALPHA && - colorbufferFormat != GL_RGBA && - colorbufferFormat != GL_RGBA4 && - colorbufferFormat != GL_RGB5_A1 && - colorbufferFormat != GL_RGBA8_EXT) + colorbufferFormat != GL_RGBA && + colorbufferFormat != GL_RGBA4 && + colorbufferFormat != GL_RGB5_A1 && + colorbufferFormat != GL_RGBA8_EXT) { return error(GL_INVALID_OPERATION); } @@ -1079,12 +1492,12 @@ case GL_LUMINANCE: case GL_RGB: if(colorbufferFormat != GL_RGB && - colorbufferFormat != GL_RGB565 && - colorbufferFormat != GL_RGB8_EXT && - colorbufferFormat != GL_RGBA && - colorbufferFormat != GL_RGBA4 && - colorbufferFormat != GL_RGB5_A1 && - colorbufferFormat != GL_RGBA8_EXT) + colorbufferFormat != GL_RGB565 && + colorbufferFormat != GL_RGB8_EXT && + colorbufferFormat != GL_RGBA && + colorbufferFormat != GL_RGBA4 && + colorbufferFormat != GL_RGB5_A1 && + colorbufferFormat != GL_RGBA8_EXT) { return error(GL_INVALID_OPERATION); } @@ -1092,9 +1505,9 @@ case GL_LUMINANCE_ALPHA: case GL_RGBA: if(colorbufferFormat != GL_RGBA && - colorbufferFormat != GL_RGBA4 && - colorbufferFormat != GL_RGB5_A1 && - colorbufferFormat != GL_RGBA8_EXT) + colorbufferFormat != GL_RGBA4 && + colorbufferFormat != GL_RGB5_A1 && + colorbufferFormat != GL_RGBA8_EXT) { return error(GL_INVALID_OPERATION); } @@ -1144,8 +1557,8 @@ void APIENTRY glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { TRACE("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, " - "GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)", - target, level, xoffset, yoffset, x, y, width, height); + "GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)", + target, level, xoffset, yoffset, x, y, width, height); if(!gl::IsTextureTarget(target)) { @@ -1218,10 +1631,10 @@ { case GL_ALPHA: if(colorbufferFormat != GL_ALPHA && - colorbufferFormat != GL_RGBA && - colorbufferFormat != GL_RGBA4 && - colorbufferFormat != GL_RGB5_A1 && - colorbufferFormat != GL_RGBA8_EXT) + colorbufferFormat != GL_RGBA && + colorbufferFormat != GL_RGBA4 && + colorbufferFormat != GL_RGB5_A1 && + colorbufferFormat != GL_RGBA8_EXT) { return error(GL_INVALID_OPERATION); } @@ -1229,12 +1642,12 @@ case GL_LUMINANCE: case GL_RGB: if(colorbufferFormat != GL_RGB && - colorbufferFormat != GL_RGB565 && - colorbufferFormat != GL_RGB8_EXT && - colorbufferFormat != GL_RGBA && - colorbufferFormat != GL_RGBA4 && - colorbufferFormat != GL_RGB5_A1 && - colorbufferFormat != GL_RGBA8_EXT) + colorbufferFormat != GL_RGB565 && + colorbufferFormat != GL_RGB8_EXT && + colorbufferFormat != GL_RGBA && + colorbufferFormat != GL_RGBA4 && + colorbufferFormat != GL_RGB5_A1 && + colorbufferFormat != GL_RGBA8_EXT) { return error(GL_INVALID_OPERATION); } @@ -1242,9 +1655,9 @@ case GL_LUMINANCE_ALPHA: case GL_RGBA: if(colorbufferFormat != GL_RGBA && - colorbufferFormat != GL_RGBA4 && - colorbufferFormat != GL_RGB5_A1 && - colorbufferFormat != GL_RGBA8_EXT) + colorbufferFormat != GL_RGBA4 && + colorbufferFormat != GL_RGB5_A1 && + colorbufferFormat != GL_RGBA8_EXT) { return error(GL_INVALID_OPERATION); } @@ -1316,15 +1729,15 @@ case GL_FRONT: case GL_BACK: case GL_FRONT_AND_BACK: - { - gl::Context *context = gl::getContext(); + { + gl::Context *context = gl::getContext(); - if(context) - { - context->setCullMode(mode); - } + if(context) + { + context->setCullMode(mode); } - break; + } + break; default: return error(GL_INVALID_ENUM); } @@ -1655,30 +2068,30 @@ switch(cap) { - case GL_TEXTURE_1D: context->set1DTextureEnable(false); break; - case GL_CULL_FACE: context->setCullFace(false); break; - case GL_POLYGON_OFFSET_FILL: context->setPolygonOffsetFill(false); break; - case GL_SAMPLE_ALPHA_TO_COVERAGE: context->setSampleAlphaToCoverage(false); break; - case GL_SAMPLE_COVERAGE: context->setSampleCoverage(false); break; - case GL_SCISSOR_TEST: context->setScissorTest(false); break; - case GL_STENCIL_TEST: context->setStencilTest(false); break; - case GL_DEPTH_TEST: context->setDepthTest(false); break; - case GL_BLEND: context->setBlend(false); break; - case GL_DITHER: context->setDither(false); break; - case GL_LIGHTING: context->setLighting(false); break; - case GL_FOG: context->setFog(false); break; - case GL_ALPHA_TEST: context->setAlphaTest(false); break; - case GL_TEXTURE_2D: context->setTexture2D(false); break; - case GL_LIGHT0: context->setLight(0, false); break; - case GL_LIGHT1: context->setLight(1, false); break; - case GL_LIGHT2: context->setLight(2, false); break; - case GL_LIGHT3: context->setLight(3, false); break; - case GL_LIGHT4: context->setLight(4, false); break; - case GL_LIGHT5: context->setLight(5, false); break; - case GL_LIGHT6: context->setLight(6, false); break; - case GL_LIGHT7: context->setLight(7, false); break; - case GL_COLOR_MATERIAL: context->setColorMaterial(false); break; - case GL_RESCALE_NORMAL: context->setNormalizeNormals(false); break; + case GL_CULL_FACE: context->setCullFace(false); break; + case GL_POLYGON_OFFSET_FILL: context->setPolygonOffsetFill(false); break; + case GL_SAMPLE_ALPHA_TO_COVERAGE: context->setSampleAlphaToCoverage(false); break; + case GL_SAMPLE_COVERAGE: context->setSampleCoverage(false); break; + case GL_SCISSOR_TEST: context->setScissorTest(false); break; + case GL_STENCIL_TEST: context->setStencilTest(false); break; + case GL_DEPTH_TEST: context->setDepthTest(false); break; + case GL_BLEND: context->setBlend(false); break; + case GL_DITHER: context->setDither(false); break; + case GL_LIGHTING: context->setLighting(false); break; + case GL_FOG: context->setFog(false); break; + case GL_ALPHA_TEST: context->setAlphaTest(false); break; + case GL_TEXTURE_2D: context->setTexture2D(false); break; + case GL_LIGHT0: context->setLight(0, false); break; + case GL_LIGHT1: context->setLight(1, false); break; + case GL_LIGHT2: context->setLight(2, false); break; + case GL_LIGHT3: context->setLight(3, false); break; + case GL_LIGHT4: context->setLight(4, false); break; + case GL_LIGHT5: context->setLight(5, false); break; + case GL_LIGHT6: context->setLight(6, false); break; + case GL_LIGHT7: context->setLight(7, false); break; + case GL_COLOR_MATERIAL: context->setColorMaterial(false); break; + case GL_RESCALE_NORMAL: context->setNormalizeNormals(false); break; + case GL_TEXTURE_1D: context->set1DTextureEnable(false); break; default: return error(GL_INVALID_ENUM); } @@ -1758,7 +2171,7 @@ void APIENTRY glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices) { TRACE("(GLenum mode = 0x%X, GLsizei count = %d, GLenum type = 0x%X, const GLvoid* indices = %p)", - mode, count, type, indices); + mode, count, type, indices); if(count < 0) { @@ -1803,7 +2216,6 @@ switch(cap) { - case GL_TEXTURE_1D: context->set1DTextureEnable(true); break; case GL_CULL_FACE: context->setCullFace(true); break; case GL_POLYGON_OFFSET_FILL: context->setPolygonOffsetFill(true); break; case GL_SAMPLE_ALPHA_TO_COVERAGE: context->setSampleAlphaToCoverage(true); break; @@ -1827,6 +2239,7 @@ case GL_LIGHT6: context->setLight(6, true); break; case GL_LIGHT7: context->setLight(7, true); break; case GL_RESCALE_NORMAL: context->setNormalizeNormals(true); break; + case GL_TEXTURE_1D: context->set1DTextureEnable(true); break; default: return error(GL_INVALID_ENUM); } @@ -1927,10 +2340,10 @@ void APIENTRY glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { TRACE("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum renderbuffertarget = 0x%X, " - "GLuint renderbuffer = %d)", target, attachment, renderbuffertarget, renderbuffer); + "GLuint renderbuffer = %d)", target, attachment, renderbuffertarget, renderbuffer); if((target != GL_FRAMEBUFFER && target != GL_DRAW_FRAMEBUFFER_EXT && target != GL_READ_FRAMEBUFFER_EXT) || - (renderbuffertarget != GL_RENDERBUFFER && renderbuffer != 0)) + (renderbuffertarget != GL_RENDERBUFFER && renderbuffer != 0)) { return error(GL_INVALID_ENUM); } @@ -1987,7 +2400,7 @@ void APIENTRY glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { TRACE("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum textarget = 0x%X, " - "GLuint texture = %d, GLint level = %d)", target, attachment, textarget, texture, level); + "GLuint texture = %d, GLint level = %d)", target, attachment, textarget, texture, level); if(target != GL_FRAMEBUFFER && target != GL_DRAW_FRAMEBUFFER_EXT && target != GL_READ_FRAMEBUFFER_EXT) { @@ -2100,15 +2513,15 @@ { case GL_CW: case GL_CCW: - { - gl::Context *context = gl::getContext(); + { + gl::Context *context = gl::getContext(); - if(context) - { - context->setFrontFace(mode); - } + if(context) + { + context->setFrontFace(mode); } - break; + } + break; default: return error(GL_INVALID_ENUM); } @@ -2288,8 +2701,8 @@ void APIENTRY glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { TRACE("(GLuint program = %d, GLuint index = %d, GLsizei bufsize = %d, GLsizei *length = %p, " - "GLint *size = %p, GLenum *type = %p, GLchar *name = %p)", - program, index, bufsize, length, size, type, name); + "GLint *size = %p, GLenum *type = %p, GLchar *name = %p)", + program, index, bufsize, length, size, type, name); if(bufsize < 0) { @@ -2326,8 +2739,8 @@ void APIENTRY glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) { TRACE("(GLuint program = %d, GLuint index = %d, GLsizei bufsize = %d, " - "GLsizei* length = %p, GLint* size = %p, GLenum* type = %p, GLchar* name = %s)", - program, index, bufsize, length, size, type, name); + "GLsizei* length = %p, GLint* size = %p, GLenum* type = %p, GLchar* name = %s)", + program, index, bufsize, length, size, type, name); if(bufsize < 0) { @@ -2364,7 +2777,7 @@ void APIENTRY glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) { TRACE("(GLuint program = %d, GLsizei maxcount = %d, GLsizei* count = %p, GLuint* shaders = %p)", - program, maxcount, count, shaders); + program, maxcount, count, shaders); if(maxcount < 0) { @@ -2428,7 +2841,7 @@ void APIENTRY glGetBooleanv(GLenum pname, GLboolean* params) { - TRACE("(GLenum pname = 0x%X, GLboolean* params = %p)", pname, params); + TRACE("(GLenum pname = 0x%X, GLboolean* params = %p)", pname, params); gl::Context *context = gl::getContext(); @@ -2459,7 +2872,7 @@ params[i] = GL_TRUE; } - delete [] floatParams; + delete[] floatParams; } else if(nativeType == GL_INT) { @@ -2476,7 +2889,7 @@ params[i] = GL_TRUE; } - delete [] intParams; + delete[] intParams; } } } @@ -2590,7 +3003,7 @@ params[i] = 1.0f; } - delete [] boolParams; + delete[] boolParams; } else if(nativeType == GL_INT) { @@ -2604,7 +3017,7 @@ params[i] = (GLfloat)intParams[i]; } - delete [] intParams; + delete[] intParams; } } } @@ -2613,7 +3026,7 @@ void APIENTRY glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params) { TRACE("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum pname = 0x%X, GLint* params = %p)", - target, attachment, pname, params); + target, attachment, pname, params); gl::Context *context = gl::getContext(); @@ -2743,7 +3156,9 @@ GLenum nativeType; unsigned int numParams = 0; if(!context->getQueryParameterInfo(pname, &nativeType, &numParams)) + { return error(GL_INVALID_ENUM); + } if(numParams == 0) return; // it is known that pname is valid, but there are no parameters to return @@ -2763,7 +3178,7 @@ params[i] = 1; } - delete [] boolParams; + delete[] boolParams; } else if(nativeType == GL_FLOAT) { @@ -2784,7 +3199,7 @@ } } - delete [] floatParams; + delete[] floatParams; } } } @@ -2843,7 +3258,7 @@ void APIENTRY glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog) { TRACE("(GLuint program = %d, GLsizei bufsize = %d, GLsizei* length = %p, GLchar* infolog = %p)", - program, bufsize, length, infolog); + program, bufsize, length, infolog); if(bufsize < 0) { @@ -3007,7 +3422,7 @@ void APIENTRY glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog) { TRACE("(GLuint shader = %d, GLsizei bufsize = %d, GLsizei* length = %p, GLchar* infolog = %p)", - shader, bufsize, length, infolog); + shader, bufsize, length, infolog); if(bufsize < 0) { @@ -3032,7 +3447,7 @@ void APIENTRY glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) { TRACE("(GLenum shadertype = 0x%X, GLenum precisiontype = 0x%X, GLint* range = %p, GLint* precision = %p)", - shadertype, precisiontype, range, precision); + shadertype, precisiontype, range, precision); switch(shadertype) { @@ -3069,7 +3484,7 @@ void APIENTRY glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) { TRACE("(GLuint shader = %d, GLsizei bufsize = %d, GLsizei* length = %p, GLchar* source = %p)", - shader, bufsize, length, source); + shader, bufsize, length, source); if(bufsize < 0) { @@ -3098,57 +3513,814 @@ switch(name) { case GL_VENDOR: - return (GLubyte*)"TransGaming Inc."; + return (GLubyte*)"NVIDIA Corporation";// "TransGaming Inc."; case GL_RENDERER: - return (GLubyte*)"SwiftShader"; + return (GLubyte*)"Quadro K600/PCIe/SSE2";// "SwiftShader"; case GL_VERSION: - return (GLubyte*)"2.1 SwiftShader "VERSION_STRING; + return (GLubyte*)"2.1.2 NVIDIA 347.62";//"2.1.2 SwiftShader "VERSION_STRING; case GL_SHADING_LANGUAGE_VERSION: - return (GLubyte*)"3.30 SwiftShader "VERSION_STRING; + return (GLubyte*)/*"3.0.0 NVIDIA "VERSION_STRING;*/"4.50 NVIDIA"; case GL_EXTENSIONS: // Keep list sorted in following order: // OES extensions // EXT extensions // Vendor extensions return (GLubyte*) - //"GL_ARB_compressed_texture_pixel_storage " - "GL_ARB_framebuffer_object " - //"GL_ARB_half_float_pixel " + ////1.1 + //"GL_EXT_blend_logic_op " + //"GL_EXT_copy_texture " + //"GL_EXT_polygon_offset " + //"GL_EXT_subtexture " + //"GL_EXT_texture " + //"GL_EXT_texture_object " + ////"GL_EXT_vertex_array " + ////1.2 + //"GL_EXT_bgra " + //"GL_EXT_draw_range_elements " + //"GL_EXT_packed_pixels " + //"GL_EXT_rescale_normal " + //"GL_EXT_separate_specular_color " + //"GL_EXT_texture3D " + //"GL_EXT_texture_edge_clamp " + //"GL_SGIS_texture_edge_clamp " + //"GL_SGIS_texture_lod " + ////1.3 + //"GL_ARB_multisample " + //"GL_ARB_multitexture " + //"GL_ARB_texture_border_clamp " + //"GL_ARB_texture_compression " + //"GL_ARB_texture_cube_map " + //"GL_ARB_texture_env_add " + //"GL_ARB_texture_env_combine " + //"GL_ARB_texture_env_dot3 " + //"GL_ARB_transpose_matrix " + ////1.4 + //"GL_ARB_depth_texture " + //"GL_ARB_point_parameters " + //"GL_ARB_shadow " + //"GL_ARB_texture_env_crossbar " + //"GL_ARB_texture_mirrored_repeat " + //"GL_ARB_windows_pos " + //"GL_EXT_blend_color " + //"GL_EXT_blend_func_separate " + //"GL_EXT_fog_coord " + //"GL_EXT_multi_draw_arrays " + //"GL_EXT_secondary_color " + //"GL_EXT_stencil_wrap " + //"GL_EXT_texture_lod_bias " + //"GL_NV_blend_square " + //"GL_SGIS_generate_mipmap " + ////1.5 + //"GL_ARB_occlusion_query " + //"GL_ARB_vertex_buffer_object " + //"GL_EXT_shadow_funcs " + ////2.0 + //"GL_ARB_draw_buffers " + //"GL_ARB_fragment_shader " + //"GL_ARB_point_sprite " + //"GL_ARB_shader objects " + //"GL_ARB_shading_language_100 " + //"GL_ARB_texture_non_power_of_two " + //"GL_ARB_vertex_shader " + //"GL_EXT_blend_equation_separate " + //"GL_EXT_stencil_two_side " + + ////2.1 //"GL_ARB_pixel_buffer_object " - "GL_EXT_blend_minmax " - "GL_EXT_depth_texture " - "GL_EXT_depth_texture_cube_map " - "GL_EXT_element_index_uint " - "GL_EXT_packed_depth_stencil " - "GL_EXT_rgb8_rgba8 " - //"GL_EXT_pixel_buffer_object " - "GL_EXT_standard_derivatives " - "GL_EXT_texture_float " - "GL_EXT_texture_float_linear " - "GL_EXT_texture_half_float " - "GL_EXT_texture_half_float_linear " - "GL_EXT_texture_npot " - "GL_EXT_occlusion_query_boolean " - "GL_EXT_read_format_bgra " - #if (S3TC_SUPPORT) - "GL_EXT_texture_compression_dxt1 " - #endif + //"GL_EXT_texture_sRGB " + + //"GL_EXT_framebuffer_object " + //"GL_ARB_framebuffer_object " + //"GL_ARB_shader_atomic_counters " + //"GL_ARB_shader_bit_encoding " + //"GL_ARB_shader_draw_parameters " + //"GL_ARB_shader_group_vote " + //"GL_ARB_shader_image_load_store " + //"GL_ARB_shader_image_size " + //"GL_ARB_shader_objects " + //"GL_ARB_shader_precision " + //"GL_ARB_query_buffer_object " + //"GL_ARB_shader_storage_buffer_object " + //"GL_ARB_shader_subroutine " + //"GL_ARB_shader_texture_lod " + //"GL_ARB_shadow " + //"GL_ARB_shading_language_420pack " + //"GL_ARB_shading_language_include " + //"GL_ARB_shading_language_packing "; + + + //NVIDIA CARD EXTENSIONS + "GL_AMD_multi_draw_indirect " + "GL_AMD_seamless_cubemap_per_texture " + "GL_ARB_arrays_of_arrays " + "GL_ARB_base_instance " + "GL_ARB_bindless_texture " + "GL_ARB_blend_func_extended " + "GL_ARB_buffer_storage " + "GL_ARB_clear_buffer_object " + "GL_ARB_clear_texture " + "GL_ARB_clip_control " + "GL_ARB_color_buffer_float " + "GL_ARB_compressed_texture_pixel_storage " + "GL_ARB_compute_shader " + "GL_ARB_compute_variable_group_size " + "GL_ARB_conditional_render_inverted " + "GL_ARB_conservative_depth " + "GL_ARB_copy_buffer " + "GL_ARB_copy_image " + "GL_ARB_cull_distance " + "GL_ARB_debug_output " + "GL_ARB_depth_buffer_float " + "GL_ARB_depth_clamp " + "GL_ARB_depth_texture " + "GL_ARB_derivative_control " + "GL_ARB_direct_state_access " + "GL_ARB_draw_buffers " + "GL_ARB_draw_buffers_blend " + "GL_ARB_draw_elements_base_vertex " + "GL_ARB_draw_indirect " + "GL_ARB_draw_instanced " + "GL_ARB_enhanced_layouts " + "GL_ARB_ES2_compatibility " + "GL_ARB_ES3_1_compatibility " + "GL_ARB_ES3_compatibility " + "GL_ARB_explicit_attrib_location " + "GL_ARB_explicit_uniform_location " + "GL_ARB_fragment_coord_conventions " + "GL_ARB_fragment_layer_viewport " + "GL_ARB_fragment_program " + "GL_ARB_fragment_program_shadow " + "GL_ARB_fragment_shader " + "GL_ARB_framebuffer_no_attachments " + "GL_ARB_framebuffer_object " + "GL_ARB_framebuffer_sRGB " + "GL_ARB_geometry_shader4 " + "GL_ARB_get_program_binary " + "GL_ARB_get_texture_sub_image " + "GL_ARB_gpu_shader5 " + "GL_ARB_gpu_shader_fp64 " + "GL_ARB_half_float_pixel " + "GL_ARB_half_float_vertex " + "GL_ARB_imaging " + "GL_ARB_indirect_parameters " + "GL_ARB_instanced_arrays " + "GL_ARB_internalformat_query " + "GL_ARB_internalformat_query2 " + "GL_ARB_invalidate_subdata " + "GL_ARB_map_buffer_alignment " + "GL_ARB_map_buffer_range " + "GL_ARB_multi_bind " + "GL_ARB_multi_draw_indirect " + "GL_ARB_multisample " + "GL_ARB_multitexture " + "GL_ARB_occlusion_query " + "GL_ARB_occlusion_query2 " + "GL_ARB_pipeline_statistics_query " + "GL_ARB_pixel_buffer_object " + "GL_ARB_point_parameters " + "GL_ARB_point_sprite " + "GL_ARB_program_interface_query " + "GL_ARB_provoking_vertex " + "GL_ARB_query_buffer_object " + "GL_ARB_robust_buffer_access_behavior " + "GL_ARB_robustness " + "GL_ARB_sample_shading " + "GL_ARB_sampler_objects " + "GL_ARB_seamless_cube_map " + "GL_ARB_seamless_cubemap_per_texture " + "GL_ARB_separate_shader_objects " + "GL_ARB_shader_atomic_counters " + "GL_ARB_shader_bit_encoding " + "GL_ARB_shader_draw_parameters " + "GL_ARB_shader_group_vote " + "GL_ARB_shader_image_load_store " + "GL_ARB_shader_image_size " + "GL_ARB_shader_objects " + "GL_ARB_shader_precision " + "GL_ARB_shader_storage_buffer_object " + "GL_ARB_shader_subroutine " + "GL_ARB_shader_texture_image_samples " + "GL_ARB_shader_texture_lod " + "GL_ARB_shading_language_100 " + "GL_ARB_shading_language_420pack " + "GL_ARB_shading_language_include " + "GL_ARB_shading_language_packing " + "GL_ARB_shadow " + "GL_ARB_sparse_buffer " + "GL_ARB_sparse_texture " + "GL_ARB_stencil_texturing " + "GL_ARB_sync " + "GL_ARB_tessellation_shader " + "GL_ARB_texture_barrier " + "GL_ARB_texture_border_clamp " + "GL_ARB_texture_buffer_object " + "GL_ARB_texture_buffer_object_rgb32 " + "GL_ARB_texture_buffer_range " + "GL_ARB_texture_compression " + "GL_ARB_texture_compression_bptc " + "GL_ARB_texture_compression_rgtc " + "GL_ARB_texture_cube_map " + "GL_ARB_texture_cube_map_array " + "GL_ARB_texture_env_add " + "GL_ARB_texture_env_combine " + "GL_ARB_texture_env_crossbar " + "GL_ARB_texture_env_dot3 " + "GL_ARB_texture_float " + "GL_ARB_texture_gather " + "GL_ARB_texture_mirror_clamp_to_edge " + "GL_ARB_texture_mirrored_repeat " + "GL_ARB_texture_multisample " + "GL_ARB_texture_non_power_of_two " + "GL_ARB_texture_query_levels " + "GL_ARB_texture_query_lod " + "GL_ARB_texture_rectangle " + "GL_ARB_texture_rg " + "GL_ARB_texture_rgb10_a2ui " + "GL_ARB_texture_stencil8 " + "GL_ARB_texture_storage " + "GL_ARB_texture_storage_multisample " + "GL_ARB_texture_swizzle " + "GL_ARB_texture_view " + "GL_ARB_timer_query " + "GL_ARB_transform_feedback2 " + "GL_ARB_transform_feedback3 " + "GL_ARB_transform_feedback_instanced " + "GL_ARB_transform_feedback_overflow_query " + "GL_ARB_transpose_matrix " + "GL_ARB_uniform_buffer_object " + "GL_ARB_vertex_array_bgra " + "GL_ARB_vertex_array_object " + "GL_ARB_vertex_attrib_64bit " + "GL_ARB_vertex_attrib_binding " + "GL_ARB_vertex_buffer_object " + "GL_ARB_vertex_program " + "GL_ARB_vertex_shader " + "GL_ARB_vertex_type_10f_11f_11f_rev " + "GL_ARB_vertex_type_2_10_10_10_rev " + "GL_ARB_viewport_array " + "GL_ARB_window_pos " + "GL_ATI_draw_buffers " + "GL_ATI_texture_float " + "GL_ATI_texture_mirror_once " + "GL_EXT_abgr " + "GL_EXT_bgra " + "GL_EXT_bindable_uniform " + "GL_EXT_blend_color " + "GL_EXT_blend_equation_separate " "GL_EXT_blend_func_separate " - "GL_EXT_secondary_color " - "GL_EXT_texture_filter_anisotropic " - //"GL_NV_pixel_data_range " - //"WGL_ARB_pixel_format " - //"WGL_ARB_pixel_format_float " - //"WGL_ATI_pixel_format_float " - //"WGL_EXT_pixel_format_packed_float " - "GL_EXT_texture_format_BGRA8888 " + "GL_EXT_blend_minmax " + "GL_EXT_blend_subtract " + "GL_EXT_Cg_shader " + "GL_EXT_compiled_vertex_array " + "GL_EXT_depth_bounds_test " + "GL_EXT_direct_state_access " + "GL_EXT_draw_buffers2 " + "GL_EXT_draw_instanced " + "GL_EXT_draw_range_elements " + "GL_EXT_fog_coord " "GL_EXT_framebuffer_blit " "GL_EXT_framebuffer_multisample " - #if (S3TC_SUPPORT) - "GL_EXT_texture_compression_dxt3 " - "GL_EXT_texture_compression_dxt5 " - #endif - "GL_NV_fence"; + "GL_EXT_framebuffer_multisample_blit_scaled " + "GL_EXT_framebuffer_object " + "GL_EXT_framebuffer_sRGB " + "GL_EXT_geometry_shader4 " + "GL_EXT_gpu_program_parameters " + "GL_EXT_gpu_shader4 " + "GL_EXT_import_sync_object " + "GL_EXT_multi_draw_arrays " + "GL_EXT_packed_depth_stencil " + "GL_EXT_packed_float " + //"GL_EXT_packed_pixels " + "GL_EXT_pixel_buffer_object " + "GL_EXT_point_parameters " + "GL_EXT_polygon_offset_clamp " + "GL_EXT_provoking_vertex " + "GL_EXT_rescale_normal " + "GL_EXT_secondary_color " + "GL_EXT_separate_shader_objects " + "GL_EXT_separate_specular_color " + "GL_EXT_shader_image_load_store " + "GL_EXT_shader_integer_mix " + "GL_EXT_shadow_funcs " + "GL_EXT_stencil_two_side " + "GL_EXT_stencil_wrap " + "GL_EXT_texture3D " + "GL_EXT_texture_array " + "GL_EXT_texture_buffer_object " + "GL_EXT_texture_compression_dxt1 " + "GL_EXT_texture_compression_latc " + "GL_EXT_texture_compression_rgtc " + "GL_EXT_texture_compression_s3tc " + "GL_EXT_texture_cube_map " + "GL_EXT_texture_edge_clamp " + "GL_EXT_texture_env_add " + "GL_EXT_texture_env_combine " + "GL_EXT_texture_env_dot3 " + "GL_EXT_texture_filter_anisotropic " + "GL_EXT_texture_integer " + "GL_EXT_texture_lod " + "GL_EXT_texture_lod_bias " + "GL_EXT_texture_mirror_clamp " + "GL_EXT_texture_object " + "GL_EXT_texture_shared_exponent " + "GL_EXT_texture_sRGB " + "GL_EXT_texture_sRGB_decode " + "GL_EXT_texture_storage " + "GL_EXT_texture_swizzle " + "GL_EXT_timer_query " + "GL_EXT_transform_feedback2 " + "GL_EXT_vertex_array " + "GL_EXT_vertex_array_bgra " + "GL_EXT_vertex_attrib_64bit " + "GL_EXTX_framebuffer_mixed_formats " + "GL_IBM_rasterpos_clip " + "GL_IBM_texture_mirrored_repeat " + "GL_KHR_blend_equation_advanced " + "GL_KHR_context_flush_control " + "GL_KHR_debug " + "GL_KHR_robust_buffer_access_behavior " + "GL_KHR_robustness " + "GL_KTX_buffer_region " + "GL_NV_bindless_multi_draw_indirect " + "GL_NV_bindless_multi_draw_indirect_count " + "GL_NV_bindless_texture " + "GL_NV_blend_equation_advanced " + "GL_NV_blend_square " + "GL_NV_command_list " + "GL_NV_compute_program5 " + "GL_NV_conditional_render " + "GL_NV_copy_depth_to_color " + "GL_NV_copy_image " + "GL_NV_deep_texture3D " + "GL_NV_depth_buffer_float " + "GL_NV_depth_clamp " + "GL_NV_draw_texture " + "GL_NV_ES1_1_compatibility " + "GL_NV_ES3_1_compatibility " + "GL_NV_explicit_multisample " + "GL_NV_fence " + "GL_NV_float_buffer " + "GL_NV_fog_distance " + "GL_NV_fragment_program " + "GL_NV_fragment_program2 " + "GL_NV_fragment_program_option " + "GL_NV_framebuffer_multisample_coverage " + "GL_NV_geometry_shader4 " + "GL_NV_gpu_program4 " + "GL_NV_gpu_program4_1 " + "GL_NV_gpu_program5 " + "GL_NV_gpu_program5_mem_extended " + "GL_NV_gpu_program_fp64 " + "GL_NV_gpu_shader5 " + "GL_NV_half_float " + "GL_NV_internalformat_sample_query " + "GL_NV_light_max_exponent " + "GL_NV_multisample_coverage " + "GL_NV_multisample_filter_hint " + "GL_NV_occlusion_query " + "GL_NV_packed_depth_stencil " + "GL_NV_parameter_buffer_object " + "GL_NV_parameter_buffer_object2 " + "GL_NV_path_rendering " + "GL_NV_pixel_data_range " + "GL_NV_point_sprite " + "GL_NV_primitive_restart " + "GL_NV_register_combiners " + "GL_NV_register_combiners2 " + "GL_NV_shader_atomic_counters " + "GL_NV_shader_atomic_float " + "GL_NV_shader_buffer_load " + "GL_NV_shader_storage_buffer_object " + "GL_NV_shader_thread_group " + "GL_NV_shader_thread_shuffle " + "GL_NV_texgen_reflection " + "GL_NV_texture_barrier " + "GL_NV_texture_compression_vtc " + "GL_NV_texture_env_combine4 " + "GL_NV_texture_multisample " + "GL_NV_texture_rectangle " + "GL_NV_texture_shader " + "GL_NV_texture_shader2 " + "GL_NV_texture_shader3 " + "GL_NV_transform_feedback " + "GL_NV_transform_feedback2 " + "GL_NV_uniform_buffer_unified_memory " + "GL_NV_vertex_array_range " + "GL_NV_vertex_array_range2 " + "GL_NV_vertex_attrib_integer_64bit " + "GL_NV_vertex_buffer_unified_memory " + "GL_NV_vertex_program " + "GL_NV_vertex_program1_1 " + "GL_NV_vertex_program2 " + "GL_NV_vertex_program2_option " + "GL_NV_vertex_program3 " + "GL_NV_video_capture " + "GL_NVX_conditional_render " + "GL_NVX_gpu_memory_info " + "GL_NVX_nvenc_interop " + "GL_S3_s3tc " + "GL_SGIS_generate_mipmap " + "GL_SGIS_texture_lod " + "GL_SGIX_depth_texture " + "GL_SGIX_shadow " + "GL_SUN_slice_accum " + //"GL_WIN_swap_hint " + "WGL_ARB_buffer_region " + "WGL_ARB_context_flush_control " + "WGL_ARB_create_context " + "WGL_ARB_create_context_profile " + "WGL_ARB_create_context_robustness " + "WGL_ARB_extensions_string " + "WGL_ARB_make_current_read " + "WGL_ARB_multisample " + "WGL_ARB_pbuffer " + "WGL_ARB_pixel_format " + "WGL_ARB_pixel_format_float " + "WGL_ARB_render_texture " + "WGL_ATI_pixel_format_float " + "WGL_EXT_create_context_es2_profile " + "WGL_EXT_create_context_es_profile " + "WGL_EXT_extensions_string " + "WGL_EXT_framebuffer_sRGB " + "WGL_EXT_pixel_format_packed_float " + "WGL_EXT_swap_control " + "WGL_EXT_swap_control_tear " + "WGL_NV_copy_image " + "WGL_NV_delay_before_swap " + "WGL_NV_DX_interop " + "WGL_NV_DX_interop2 " + "WGL_NV_float_buffer " + "WGL_NV_gpu_affinity " + "WGL_NV_multisample_coverage " + "WGL_NV_render_depth_texture " + "WGL_NV_render_texture_rectangle " + "WGL_NV_swap_group " + "WGL_NV_video_capture " + "WGL_NVX_DX_interop"; + + + /*"WGL_ARB_extensions_string " + "GL_ARB_extensions_string " + "WGL_ARB_create_context " + "GL_ARB_create_context " + "GL_ARB_texture_non_power_of_two " + "GL_ARB_framebuffer_object " + "GL_ARB_fragment_shader " + "GL_ARB_vertex_shader " + "GL_ARB_shader_objects " + "GL_ARB_shading_language_100 " + "GL_EXT_framebuffer_object " + "GL_EXT_blend_minmax " + "GL_EXT_depth_texture " + "GL_EXT_depth_texture_cube_map " + "GL_EXT_element_index_uint " + "GL_EXT_packed_depth_stencil " + "GL_EXT_rgb8_rgba8 " + "GL_EXT_standard_derivatives " + "GL_EXT_texture_float " + "GL_EXT_texture_float_linear " + "GL_EXT_texture_half_float " + "GL_EXT_texture_half_float_linear " + "GL_EXT_texture_npot " + "GL_EXT_occlusion_query_boolean " + "GL_EXT_read_format_bgra " + #if (S3TC_SUPPORT) + "GL_EXT_texture_compression_dxt1 " + #endif + "GL_EXT_blend_func_separate " + "GL_EXT_secondary_color " + "GL_EXT_texture_filter_anisotropic " + "GL_EXT_texture_format_BGRA8888 " + "GL_EXT_framebuffer_blit " + "GL_EXT_framebuffer_multisample " + #if (S3TC_SUPPORT) + "GL_EXT_texture_compression_dxt3 " + "GL_EXT_texture_compression_dxt5 " + #endif + "GL_NV_fence";*/ + + + + /*"GL_AMD_multi_draw_indirect " + "GL_AMD_seamless_cubemap_per_texture " + "GL_ARB_arrays_of_arrays " + "GL_ARB_base_instance " + "GL_ARB_bindless_texture " + "GL_ARB_blend_func_extended " + "GL_ARB_buffer_storage " + "GL_ARB_clear_buffer_object " + "GL_ARB_clear_texture " + "GL_ARB_color_buffer_float " + "GL_ARB_compatibility " + "GL_ARB_compressed_texture_pixel_storage " + "GL_ARB_conservative_depth " + "GL_ARB_compute_shader " + "GL_ARB_compute_variable_group_size " + "GL_ARB_copy_buffer " + "GL_ARB_copy_image " + "GL_ARB_debug_output " + "GL_ARB_depth_buffer_float " + "GL_ARB_depth_clamp " + "GL_ARB_depth_texture " + "GL_ARB_draw_buffers " + "GL_ARB_draw_buffers_blend " + "GL_ARB_draw_indirect " + "GL_ARB_draw_elements_base_vertex " + "GL_ARB_draw_instanced " + "GL_ARB_enhanced_layouts " + "GL_ARB_ES2_compatibility " + "GL_ARB_ES3_compatibility " + "GL_ARB_explicit_attrib_location " + "GL_ARB_explicit_uniform_location " + "GL_ARB_fragment_coord_conventions " + "GL_ARB_fragment_layer_viewport " + "GL_ARB_fragment_program " + "GL_ARB_fragment_program_shadow " + "GL_ARB_fragment_shader " + "GL_ARB_framebuffer_no_attachments " + "GL_ARB_framebuffer_object " + "GL_ARB_framebuffer_sRGB " + "GL_ARB_geometry_shader4 " + "GL_ARB_get_program_binary " + "GL_ARB_gpu_shader5 " + "GL_ARB_gpu_shader_fp64 " + "GL_ARB_half_float_pixel " + "GL_ARB_half_float_vertex " + "GL_ARB_indirect_parameters " + "GL_ARB_instanced_arrays " + "GL_ARB_internalformat_query " + "GL_ARB_internalformat_query2 " + "GL_ARB_invalidate_subdata " + "GL_ARB_map_buffer_alignment " + "GL_ARB_map_buffer_range " + "GL_ARB_multi_bind " + "GL_ARB_multi_draw_indirect " + "GL_ARB_multisample " + "GL_ARB_multitexture " + "GL_ARB_occlusion_query " + "GL_ARB_occlusion_query2 " + "GL_ARB_pixel_buffer_object " + "GL_ARB_point_parameters " + "GL_ARB_point_sprite " + "GL_ARB_program_interface_query " + "GL_ARB_provoking_vertex " + "GL_ARB_robust_buffer_access_behavior " + "GL_ARB_robustness " + "GL_ARB_sample_shading " + "GL_ARB_sampler_objects " + "GL_ARB_seamless_cube_map " + "GL_ARB_seamless_cubemap_per_texture " + "GL_ARB_separate_shader_objects " + "GL_ARB_shader_atomic_counters " + "GL_ARB_shader_bit_encoding " + "GL_ARB_shader_draw_parameters " + "GL_ARB_shader_group_vote " + "GL_ARB_shader_image_load_store " + "GL_ARB_shader_image_size " + "GL_ARB_shader_objects " + "GL_ARB_shader_precision " + "GL_ARB_query_buffer_object " + "GL_ARB_shader_storage_buffer_object " + "GL_ARB_shader_subroutine " + "GL_ARB_shader_texture_lod " + "GL_ARB_shading_language_100 " + "GL_ARB_shading_language_420pack " + "GL_ARB_shading_language_include " + "GL_ARB_shading_language_packing " + "GL_ARB_shadow " + "GL_ARB_sparse_texture " + "GL_ARB_stencil_texturing " + "GL_ARB_sync " + "GL_ARB_tessellation_shader " + "GL_ARB_texture_border_clamp " + "GL_ARB_texture_buffer_object " + "GL_ARB_texture_buffer_object_rgb32 " + "GL_ARB_texture_buffer_range " + "GL_ARB_texture_compression " + "GL_ARB_texture_compression_bptc " + "GL_ARB_texture_compression_rgtc " + "GL_ARB_texture_cube_map " + "GL_ARB_texture_cube_map_array " + "GL_ARB_texture_env_add " + "GL_ARB_texture_env_combine " + "GL_ARB_texture_env_crossbar " + "GL_ARB_texture_env_dot3 " + "GL_ARB_texture_float " + "GL_ARB_texture_gather " + "GL_ARB_texture_mirror_clamp_to_edge " + "GL_ARB_texture_mirrored_repeat " + "GL_ARB_texture_multisample " + "GL_ARB_texture_non_power_of_two " + "GL_ARB_texture_query_levels " + "GL_ARB_texture_query_lod " + "GL_ARB_texture_rectangle " + "GL_ARB_texture_rg " + "GL_ARB_texture_rgb10_a2ui " + "GL_ARB_texture_stencil8 " + "GL_ARB_texture_storage " + "GL_ARB_texture_storage_multisample " + "GL_ARB_texture_swizzle " + "GL_ARB_texture_view " + "GL_ARB_timer_query " + "GL_ARB_transform_feedback2 " + "GL_ARB_transform_feedback3 " + "GL_ARB_transform_feedback_instanced " + "GL_ARB_transpose_matrix " + "GL_ARB_uniform_buffer_object " + "GL_ARB_vertex_array_bgra " + "GL_ARB_vertex_array_object " + "GL_ARB_vertex_attrib_64bit " + "GL_ARB_vertex_attrib_binding " + "GL_ARB_vertex_buffer_object " + "GL_ARB_vertex_program " + "GL_ARB_vertex_shader " + "GL_ARB_vertex_type_10f_11f_11f_rev " + "GL_ARB_vertex_type_2_10_10_10_rev " + "GL_ARB_viewport_array " + "GL_ARB_window_pos " + "GL_ATI_draw_buffers " + "GL_ATI_texture_float " + "GL_ATI_texture_mirror_once " + "GL_S3_s3tc " + "GL_EXT_abgr " + "GL_EXT_bgra " + "GL_EXT_bindable_uniform " + "GL_EXT_blend_color " + "GL_EXT_blend_equation_separate " + "GL_EXT_blend_func_separate " + "GL_EXT_blend_minmax " + "GL_EXT_blend_subtract " + "GL_EXT_compiled_vertex_array " + "GL_EXT_Cg_shader " + "GL_EXT_depth_bounds_test " + "GL_EXT_direct_state_access " + "GL_EXT_draw_buffers2 " + "GL_EXT_draw_instanced " + "GL_EXT_draw_range_elements " + "GL_EXT_fog_coord " + "GL_EXT_framebuffer_blit " + "GL_EXT_framebuffer_multisample " + "GL_EXT_framebuffer_multisample_blit_scaled " + "GL_EXT_framebuffer_object " + "GL_EXT_framebuffer_sRGB " + "GL_EXT_geometry_shader4 " + "GL_EXT_gpu_program_parameters " + "GL_EXT_gpu_shader4 " + "GL_EXT_multi_draw_arrays " + "GL_EXT_packed_depth_stencil " + "GL_EXT_packed_float " + "GL_EXT_packed_pixels " + "GL_EXT_pixel_buffer_object " + "GL_EXT_point_parameters " + "GL_EXT_post_depth_coverage " + "GL_EXT_provoking_vertex " + "GL_EXT_rescale_normal " + "GL_EXT_raster_multisample " + "GL_EXT_secondary_color " + "GL_EXT_separate_shader_objects " + "GL_EXT_separate_specular_color " + "GL_EXT_shader_image_load_formatted " + "GL_EXT_shader_image_load_store " + "GL_EXT_shader_integer_mix " + "GL_EXT_shadow_funcs " + "GL_EXT_sparse_texture2 " + "GL_EXT_stencil_two_side " + "GL_EXT_stencil_wrap " + "GL_EXT_texture3D " + "GL_EXT_texture_array " + "GL_EXT_texture_buffer_object " + "GL_EXT_texture_compression_dxt1 " + "GL_EXT_texture_compression_latc " + "GL_EXT_texture_compression_rgtc " + "GL_EXT_texture_compression_s3tc " + "GL_EXT_texture_cube_map " + "GL_EXT_texture_edge_clamp " + "GL_EXT_texture_env_add " + "GL_EXT_texture_env_combine " + "GL_EXT_texture_env_dot3 " + "GL_EXT_texture_filter_anisotropic " + "GL_EXT_texture_filter_minmax " + "GL_EXT_texture_integer " + "GL_EXT_texture_lod_bias " + "GL_EXT_texture_mirror_clamp " + "GL_EXT_texture_object " + "GL_EXT_texture_shared_exponent " + "GL_EXT_texture_sRGB " + "GL_EXT_texture_sRGB_decode " + "GL_EXT_texture_swizzle " + "GL_EXT_timer_query " + "GL_EXT_transform_feedback2 " + "GL_EXT_vertex_array " + "GL_EXT_vertex_array_bgra " + "GL_EXT_vertex_attrib_64bit " + "GL_EXT_import_sync_object " + "GL_KHR_debug " + "GL_NV_bindless_multi_draw_indirect " + "GL_NV_bindless_texture " + "GL_NV_blend_equation_advanced " + "GL_NV_blend_square " + "GL_NV_command_list " + "GL_NV_compute_program5 " + "GL_NV_conditional_render " + "GL_NV_conservative_raster " + "GL_NV_copy_depth_to_color " + "GL_NV_copy_image " + "GL_NV_deep_texture3D " + "GL_NV_depth_buffer_float " + "GL_NV_depth_clamp " + "GL_NV_draw_texture " + "GL_NV_explicit_multisample " + "GL_NV_fence " + "GL_NV_fill_rectangle " + "GL_NV_float_buffer " + "GL_NV_fog_distance " + "GL_NV_fragment_coverage_to_color " + "GL_NV_fragment_program " + "GL_NV_fragment_program_option " + "GL_NV_fragment_program2 " + "GL_NV_fragment_shader_interlock " + "GL_NV_framebuffer_mixed_samples " + "GL_NV_framebuffer_multisample_coverage " + "GL_NV_geometry_shader_passthrough " + "GL_NV_geometry_shader4 " + "GL_NV_gpu_program4 " + "GL_NV_gpu_program5 " + "GL_NV_gpu_program5_mem_extended " + "GL_NV_gpu_shader5 " + "GL_NV_half_float " + "GL_NV_light_max_exponent " + "GL_NV_multisample_coverage " + "GL_NV_multisample_filter_hint " + "GL_NV_occlusion_query " + "GL_NV_packed_depth_stencil " + "GL_NV_parameter_buffer_object " + "GL_NV_parameter_buffer_object2 " + "GL_NV_path_rendering " + "GL_NV_path_rendering_shared_edge " + "GL_NV_pixel_data_range " + "GL_NV_point_sprite " + "GL_NV_primitive_restart " + "GL_NV_register_combiners " + "GL_NV_register_combiners2 " + "GL_NV_sample_locations " + "GL_NV_sample_mask_override_coverage " + "GL_NV_shader_atomic_counters " + "GL_NV_shader_atomic_fp16_vector " + "GL_NV_shader_atomic_float " + "GL_NV_shader_buffer_load " + "GL_NV_shader_storage_buffer_object " + "GL_NV_shader_thread_group " + "GL_NV_shader_thread_shuffle " + "GL_NV_texgen_reflection " + "GL_NV_texture_barrier " + "GL_NV_texture_compression_vtc " + "GL_NV_texture_env_combine4 " + "GL_NV_texture_expand_normal " + "GL_NV_texture_multisample " + "GL_NV_texture_rectangle " + "GL_NV_texture_shader " + "GL_NV_texture_shader2 " + "GL_NV_texture_shader3 " + "GL_NV_transform_feedback " + "GL_NV_transform_feedback2 " + "GL_NV_vertex_array_range " + "GL_NV_vertex_array_range2 " + "GL_NV_vertex_attrib_integer_64bit " + "GL_NV_vertex_buffer_unified_memory " + "GL_NV_vertex_program " + "GL_NV_vertex_program1_1 " + "GL_NV_vertex_program2 " + "GL_NV_vertex_program2_option " + "GL_NV_vertex_program3 " + "GL_NV_video_capture " + "GL_NVX_conditional_render " + "GL_NVX_gpu_memory_info " + "GL_SGIS_generate_mipmap " + "GL_SGIS_texture_lod " + "GL_SGIX_depth_texture " + "GL_SGIX_shadow " + "GL_SUN_slice_accum " + "WGL_ARB_buffer_region " + "WGL_ARB_create_context " + "WGL_ARB_extensions_string " + "WGL_ARB_pbuffer " + "WGL_ARB_pixel_format " + "WGL ARB render texture " + "WGL ATI pixel_format_float " + "WGL_EXT_extensions_string " + "WGL_EXT_pbuffer " + "WGL_EXT_pixel_format " + "WGL_EXT_swap_control " + "WGL_EXT_swap_control_tear " + "WGL_NV_dx_interop " + "WGL_NV_gpu_affinity " + "WGL NV render depth texture " + "WGL NV render texture rectangle " + "WGL_NV_swap_group " + "WGL_NV_video_out";*/ + + + default: return error(GL_INVALID_ENUM, (GLubyte*)NULL); } @@ -3249,7 +4421,7 @@ void APIENTRY glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) { TRACE("(GLuint program = %d, GLint location = %d, GLsizei bufSize = %d, GLfloat* params = %p)", - program, location, bufSize, params); + program, location, bufSize, params); if(bufSize < 0) { @@ -3309,7 +4481,7 @@ void APIENTRY glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint* params) { TRACE("(GLuint program = %d, GLint location = %d, GLsizei bufSize = %d, GLint* params = %p)", - program, location, bufSize, params); + program, location, bufSize, params); if(bufSize < 0) { @@ -3839,11 +5011,11 @@ } void APIENTRY glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, - GLenum format, GLenum type, GLsizei bufSize, GLvoid *data) + GLenum format, GLenum type, GLsizei bufSize, GLvoid *data) { TRACE("(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d, " - "GLenum format = 0x%X, GLenum type = 0x%X, GLsizei bufSize = 0x%d, GLvoid *data = %p)", - x, y, width, height, format, type, bufSize, data); + "GLenum format = 0x%X, GLenum type = 0x%X, GLsizei bufSize = 0x%d, GLvoid *data = %p)", + x, y, width, height, format, type, bufSize, data); if(width < 0 || height < 0 || bufSize < 0) { @@ -3871,8 +5043,8 @@ void APIENTRY glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels) { TRACE("(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d, " - "GLenum format = 0x%X, GLenum type = 0x%X, GLvoid* pixels = %p)", - x, y, width, height, format, type, pixels); + "GLenum format = 0x%X, GLenum type = 0x%X, GLvoid* pixels = %p)", + x, y, width, height, format, type, pixels); if(width < 0 || height < 0) { @@ -3902,7 +5074,7 @@ void APIENTRY glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { TRACE("(GLenum target = 0x%X, GLsizei samples = %d, GLenum internalformat = 0x%X, GLsizei width = %d, GLsizei height = %d)", - target, samples, internalformat, width, height); + target, samples, internalformat, width, height); switch(target) { @@ -3931,9 +5103,9 @@ UNIMPLEMENTED(); } - if(width > gl::IMPLEMENTATION_MAX_RENDERBUFFER_SIZE || - height > gl::IMPLEMENTATION_MAX_RENDERBUFFER_SIZE || - samples > gl::IMPLEMENTATION_MAX_SAMPLES) + if(width > gl::IMPLEMENTATION_MAX_RENDERBUFFER_SIZE || + height > gl::IMPLEMENTATION_MAX_RENDERBUFFER_SIZE || + samples > gl::IMPLEMENTATION_MAX_SAMPLES) { return error(GL_INVALID_VALUE); } @@ -4045,8 +5217,8 @@ void APIENTRY glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length) { TRACE("(GLsizei n = %d, const GLuint* shaders = %p, GLenum binaryformat = 0x%X, " - "const GLvoid* binary = %p, GLsizei length = %d)", - n, shaders, binaryformat, binary, length); + "const GLvoid* binary = %p, GLsizei length = %d)", + n, shaders, binaryformat, binary, length); // No binary shader formats are supported. return error(GL_INVALID_ENUM); @@ -4055,7 +5227,7 @@ void APIENTRY glShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length) { TRACE("(GLuint shader = %d, GLsizei count = %d, const GLchar** string = %p, const GLint* length = %p)", - shader, count, string, length); + shader, count, string, length); if(count < 0) { @@ -4192,7 +5364,7 @@ void APIENTRY glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) { TRACE("(GLenum face = 0x%X, GLenum fail = 0x%X, GLenum zfail = 0x%X, GLenum zpas = 0x%Xs)", - face, fail, zfail, zpass); + face, fail, zfail, zpass); switch(face) { @@ -4297,11 +5469,11 @@ } void APIENTRY glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, - GLint border, GLenum format, GLenum type, const GLvoid* pixels) + GLint border, GLenum format, GLenum type, const GLvoid* pixels) { TRACE("(GLenum target = 0x%X, GLint level = %d, GLint internalformat = %d, GLsizei width = %d, GLsizei height = %d, " - "GLint border = %d, GLenum format = 0x%X, GLenum type = 0x%X, const GLvoid* pixels = %p)", - target, level, internalformat, width, height, border, format, type, pixels); + "GLint border = %d, GLenum format = 0x%X, GLenum type = 0x%X, const GLvoid* pixels = %p)", + target, level, internalformat, width, height, border, format, type, pixels); if(!validImageSize(level, width, height)) { @@ -4402,8 +5574,9 @@ { case GL_TEXTURE_1D: case GL_TEXTURE_2D: + case GL_TEXTURE_RECTANGLE: if(width > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level) || - height > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level)) + height > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level)) { return error(GL_INVALID_VALUE); } @@ -4420,7 +5593,7 @@ } if(width > (gl::IMPLEMENTATION_MAX_CUBE_MAP_TEXTURE_SIZE >> level) || - height > (gl::IMPLEMENTATION_MAX_CUBE_MAP_TEXTURE_SIZE >> level)) + height > (gl::IMPLEMENTATION_MAX_CUBE_MAP_TEXTURE_SIZE >> level)) { return error(GL_INVALID_VALUE); } @@ -4429,7 +5602,7 @@ pixels = 0; if(width > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level) || - height > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level)) + height > (gl::IMPLEMENTATION_MAX_TEXTURE_SIZE >> level)) { //UNIMPLEMENTED(); width = 0; @@ -4446,9 +5619,9 @@ } if(format == GL_COMPRESSED_RGB_S3TC_DXT1_EXT || - format == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT || - format == GL_COMPRESSED_RGBA_S3TC_DXT3_EXT || - format == GL_COMPRESSED_RGBA_S3TC_DXT5_EXT) + format == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT || + format == GL_COMPRESSED_RGBA_S3TC_DXT3_EXT || + format == GL_COMPRESSED_RGBA_S3TC_DXT5_EXT) { if(S3TC_SUPPORT) { @@ -4480,7 +5653,7 @@ texture->setImage(level, width, height, format, type, context->getUnpackAlignment(), pixels); } - else if(target == GL_TEXTURE_2D || target == GL_PROXY_TEXTURE_2D) + else if(target == GL_TEXTURE_2D || target == GL_PROXY_TEXTURE_2D || target == GL_TEXTURE_RECTANGLE) { gl::Texture2D *texture = context->getTexture2D(target); @@ -4669,12 +5842,12 @@ } void APIENTRY glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, - GLenum format, GLenum type, const GLvoid* pixels) + GLenum format, GLenum type, const GLvoid* pixels) { TRACE("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, " - "GLsizei width = %d, GLsizei height = %d, GLenum format = 0x%X, GLenum type = 0x%X, " - "const GLvoid* pixels = %p)", - target, level, xoffset, yoffset, width, height, format, type, pixels); + "GLsizei width = %d, GLsizei height = %d, GLenum format = 0x%X, GLenum type = 0x%X, " + "const GLvoid* pixels = %p)", + target, level, xoffset, yoffset, width, height, format, type, pixels); if(!gl::IsTextureTarget(target)) { @@ -4714,7 +5887,6 @@ { return error(GL_INVALID_VALUE); } - if(target == GL_TEXTURE_1D) { gl::Texture1D *texture = context->getTexture1D(); @@ -4724,7 +5896,7 @@ texture->subImage(level, xoffset, yoffset, width, height, format, type, context->getUnpackAlignment(), pixels); } } - else if(target == GL_TEXTURE_2D) + else if(target == GL_TEXTURE_2D || target == GL_TEXTURE_RECTANGLE) { gl::Texture2D *texture = context->getTexture2D(target); @@ -4835,7 +6007,7 @@ void APIENTRY glUniform2f(GLint location, GLfloat x, GLfloat y) { - GLfloat xy[2] = {x, y}; + GLfloat xy[2] = { x, y }; glUniform2fv(location, 1, (GLfloat*)&xy); } @@ -4879,7 +6051,7 @@ void APIENTRY glUniform2i(GLint location, GLint x, GLint y) { - GLint xy[4] = {x, y}; + GLint xy[4] = { x, y }; glUniform2iv(location, 1, (GLint*)&xy); } @@ -4923,7 +6095,7 @@ void APIENTRY glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) { - GLfloat xyz[3] = {x, y, z}; + GLfloat xyz[3] = { x, y, z }; glUniform3fv(location, 1, (GLfloat*)&xyz); } @@ -4967,7 +6139,7 @@ void APIENTRY glUniform3i(GLint location, GLint x, GLint y, GLint z) { - GLint xyz[3] = {x, y, z}; + GLint xyz[3] = { x, y, z }; glUniform3iv(location, 1, (GLint*)&xyz); } @@ -5011,7 +6183,7 @@ void APIENTRY glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - GLfloat xyzw[4] = {x, y, z, w}; + GLfloat xyzw[4] = { x, y, z, w }; glUniform4fv(location, 1, (GLfloat*)&xyzw); } @@ -5055,7 +6227,7 @@ void APIENTRY glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) { - GLint xyzw[4] = {x, y, z, w}; + GLint xyzw[4] = { x, y, z, w }; glUniform4iv(location, 1, (GLint*)&xyzw); } @@ -5100,7 +6272,7 @@ void APIENTRY glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { TRACE("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %d, const GLfloat* value = %p)", - location, count, transpose, value); + location, count, transpose, value); if(count < 0 || transpose != GL_FALSE) { @@ -5138,7 +6310,7 @@ void APIENTRY glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { TRACE("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %d, const GLfloat* value = %p)", - location, count, transpose, value); + location, count, transpose, value); if(count < 0 || transpose != GL_FALSE) { @@ -5176,7 +6348,7 @@ void APIENTRY glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { TRACE("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %d, const GLfloat* value = %p)", - location, count, transpose, value); + location, count, transpose, value); if(count < 0 || transpose != GL_FALSE) { @@ -5459,8 +6631,8 @@ void APIENTRY glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr) { TRACE("(GLuint index = %d, GLint size = %d, GLenum type = 0x%X, " - "GLboolean normalized = %d, GLsizei stride = %d, const GLvoid* ptr = %p)", - index, size, type, normalized, stride, ptr); + "GLboolean normalized = %d, GLsizei stride = %d, const GLvoid* ptr = %p)", + index, size, type, normalized, stride, ptr); if(index >= gl::MAX_VERTEX_ATTRIBS) { @@ -5521,12 +6693,12 @@ } void APIENTRY glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, - GLbitfield mask, GLenum filter) + GLbitfield mask, GLenum filter) { TRACE("(GLint srcX0 = %d, GLint srcY0 = %d, GLint srcX1 = %d, GLint srcY1 = %d, " - "GLint dstX0 = %d, GLint dstY0 = %d, GLint dstX1 = %d, GLint dstY1 = %d, " - "GLbitfield mask = 0x%X, GLenum filter = 0x%X)", - srcX0, srcY0, srcX1, srcX1, dstX0, dstY0, dstX1, dstY1, mask, filter); + "GLint dstX0 = %d, GLint dstY0 = %d, GLint dstX1 = %d, GLint dstY1 = %d, " + "GLbitfield mask = 0x%X, GLenum filter = 0x%X)", + srcX0, srcY0, srcX1, srcX1, dstX0, dstY0, dstX1, dstY1, mask, filter); switch(filter) { @@ -5567,12 +6739,12 @@ } void APIENTRY glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, - GLint border, GLenum format, GLenum type, const GLvoid* pixels) + GLint border, GLenum format, GLenum type, const GLvoid* pixels) { TRACE("(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, " - "GLsizei width = %d, GLsizei height = %d, GLsizei depth = %d, GLint border = %d, " - "GLenum format = 0x%X, GLenum type = 0x%x, const GLvoid* pixels = %p)", - target, level, internalformat, width, height, depth, border, format, type, pixels); + "GLsizei width = %d, GLsizei height = %d, GLsizei depth = %d, GLint border = %d, " + "GLenum format = 0x%X, GLenum type = 0x%x, const GLvoid* pixels = %p)", + target, level, internalformat, width, height, depth, border, format, type, pixels); UNIMPLEMENTED(); // FIXME } @@ -5615,7 +6787,7 @@ void APIENTRY glAlphaFunc(GLenum func, GLclampf ref) { TRACE("(GLenum func = 0x%X, GLclampf ref = %f)", func, ref); - + gl::Context *context = gl::getContext(); if(context) @@ -5643,7 +6815,7 @@ void APIENTRY glBegin(GLenum mode) { TRACE("(GLenum mode = 0x%X)", mode); - + switch(mode) { case GL_POINTS: @@ -5735,7 +6907,7 @@ void APIENTRY glClearDepth(GLclampd depth) { TRACE("(GLclampd depth = %d)", depth); - + glClearDepthf((float)depth); // FIXME } @@ -5772,7 +6944,7 @@ void APIENTRY glColor3f(GLfloat red, GLfloat green, GLfloat blue) { TRACE("(GLfloat red = %f, GLfloat green = %f, GLfloat blue = %f)", red, green, blue); - + gl::Context *context = gl::getContext(); if(context) @@ -5866,7 +7038,7 @@ void APIENTRY glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { TRACE("(GLfloat red = %f, GLfloat green = %f, GLfloat blue = %f, GLfloat alpha = %f)", red, green, blue, alpha); - + gl::Context *context = gl::getContext(); if(context) @@ -6022,7 +7194,7 @@ void APIENTRY glDisableClientState(GLenum array) { TRACE("(GLenum array = 0x%X)", array); - + gl::Context *context = gl::getContext(); if(context) @@ -6068,7 +7240,7 @@ void APIENTRY glEnableClientState(GLenum array) { TRACE("(GLenum array = 0x%X)", array); - + gl::Context *context = gl::getContext(); if(context) @@ -6089,7 +7261,7 @@ void APIENTRY glEnd() { TRACE("()"); - + gl::Context *context = gl::getContext(); if(context) @@ -6106,7 +7278,7 @@ void APIENTRY glEndList() { TRACE("()"); - + gl::Context *context = gl::getContext(); if(context) @@ -6222,11 +7394,11 @@ switch(pname) { case GL_FOG_COLOR: - { - gl::Device *device = gl::getDevice(); // FIXME - device->setFogColor(sw::Color<float>(params[0], params[1], params[2], params[3])); - } - break; + { + gl::Device *device = gl::getDevice(); // FIXME + device->setFogColor(sw::Color<float>(params[0], params[1], params[2], params[3])); + } + break; default: UNIMPLEMENTED(); return error(GL_INVALID_ENUM); @@ -6250,17 +7422,17 @@ switch(pname) { case GL_FOG_MODE: + { + gl::Device *device = gl::getDevice(); // FIXME + switch(param) { - gl::Device *device = gl::getDevice(); // FIXME - switch(param) - { - case GL_LINEAR: device->setVertexFogMode(sw::FOG_LINEAR); break; - default: - UNIMPLEMENTED(); - return error(GL_INVALID_ENUM); - } + case GL_LINEAR: device->setVertexFogMode(sw::FOG_LINEAR); break; + default: + UNIMPLEMENTED(); + return error(GL_INVALID_ENUM); } - break; + } + break; default: UNIMPLEMENTED(); return error(GL_INVALID_ENUM); @@ -6434,7 +7606,7 @@ memcpy(pixels, source, image->getPitch() * image->getHeight()); image->unlock(); } - else + else { UNIMPLEMENTED(); } @@ -6449,7 +7621,7 @@ void APIENTRY glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { TRACE("(GLenum target = 0x%X, GLint level = %d, GLenum pname = 0x%X, GLint *params = %p)", target, level, pname, params); - + gl::Context *context = gl::getContext(); if(context) @@ -6491,7 +7663,7 @@ *params = texture->getHeight(target, level); break; case GL_TEXTURE_INTERNAL_FORMAT: - *params = texture->getInternalFormat(target, level); + *params = texture->getInternalFormat(target, level); break; case GL_TEXTURE_BORDER_COLOR: UNIMPLEMENTED(); @@ -6592,7 +7764,7 @@ void APIENTRY glLightModelfv(GLenum pname, const GLfloat *params) { TRACE("(GLenum pname = 0x%X, const GLint *params)", pname); - + gl::Context *context = gl::getContext(); if(context) @@ -6635,7 +7807,7 @@ void APIENTRY glLightfv(GLenum light, GLenum pname, const GLfloat *params) { TRACE("(GLenum light = 0x%X, GLenum pname = 0x%X, const GLint *params)", light, pname); - + gl::Context *context = gl::getContext(); if(context) @@ -6903,7 +8075,7 @@ void APIENTRY glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { TRACE("(GLfloat nx = %f, GLfloat ny = %f, GLfloat nz = %f)", nx, ny, nz); - + gl::Context *context = gl::getContext(); if(context) @@ -7024,18 +8196,19 @@ void APIENTRY glPopAttrib(void) { + TRACE("()"); UNIMPLEMENTED(); } void APIENTRY glPopClientAttrib(void) { - UNIMPLEMENTED(); + TRACE("()"); } void APIENTRY glPopMatrix(void) { TRACE("()"); - + gl::Context *context = gl::getContext(); if(context) @@ -7061,18 +8234,19 @@ void APIENTRY glPushAttrib(GLbitfield mask) { - UNIMPLEMENTED(); + TRACE("(GLbitfield mask = %u)", mask); + //UNIMPLEMENTED(); } void APIENTRY glPushClientAttrib(GLbitfield mask) { - UNIMPLEMENTED(); + TRACE("(GLbitfield mask = %u)", mask); } void APIENTRY glPushMatrix(void) { TRACE("()"); - + gl::Context *context = gl::getContext(); if(context) @@ -7270,7 +8444,7 @@ void APIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { TRACE("(*)"); - + gl::Context *context = gl::getContext(); if(context) @@ -7292,7 +8466,7 @@ void APIENTRY glScalef(GLfloat x, GLfloat y, GLfloat z) { TRACE("(GLfloat x = %f, GLfloat y = %f, GLfloat z = %f)", x, y, z); - + gl::Context *context = gl::getContext(); if(context) @@ -7314,7 +8488,7 @@ void APIENTRY glShadeModel(GLenum mode) { TRACE("(*)"); - + gl::Context *context = gl::getContext(); if(context) @@ -7381,7 +8555,7 @@ void APIENTRY glTexCoord2f(GLfloat s, GLfloat t) { TRACE("(GLfloat s = %f, GLfloat t = %f)", s, t); - + gl::Context *context = gl::getContext(); if(context) @@ -7528,7 +8702,25 @@ void APIENTRY glTexEnvi(GLenum target, GLenum pname, GLint param) { - UNIMPLEMENTED(); + TRACE("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint param = %d)", target, pname, param); + + if(target != GL_TEXTURE_ENV || pname != GL_TEXTURE_ENV_MODE) + { + return error(GL_INVALID_ENUM); + } + + switch((GLenum)param) + { + case GL_REPLACE: + case GL_MODULATE: + case GL_DECAL: + case GL_BLEND: + break; + default: + error(GL_INVALID_ENUM); + } + + gl::Context *context = gl::getContext(); } void APIENTRY glTexEnviv(GLenum target, GLenum pname, const GLint *params) @@ -7587,7 +8779,7 @@ void APIENTRY glTranslated(GLdouble x, GLdouble y, GLdouble z) { TRACE("(*)"); - + gl::Context *context = gl::getContext(); if(context) @@ -7604,7 +8796,7 @@ void APIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z) { TRACE("(GLfloat x = %f, GLfloat y = %f, GLfloat z = %f)", x, y, z); - + gl::Context *context = gl::getContext(); if(context) @@ -7671,7 +8863,7 @@ void APIENTRY glVertex3f(GLfloat x, GLfloat y, GLfloat z) { TRACE("(GLfloat x = %f, GLfloat y = %f, GLfloat z = %f)", x, y, z); - + gl::Context *context = gl::getContext(); if(context) @@ -7690,6 +8882,11 @@ UNIMPLEMENTED(); } +GLAPI void APIENTRY glVertexAttrib4dv(GLuint index, const GLdouble *v) +{ + UNIMPLEMENTED(); +} + void APIENTRY glVertex3i(GLint x, GLint y, GLint z) { UNIMPLEMENTED(); @@ -7757,15 +8954,15 @@ glVertexAttribPointer(sw::Position, size, type, false, stride, pointer); } -void APIENTRY glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices) {UNIMPLEMENTED();} -void APIENTRY glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) {UNIMPLEMENTED();} -void APIENTRY glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) {UNIMPLEMENTED();} -void APIENTRY glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {UNIMPLEMENTED();} +void APIENTRY glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices) { UNIMPLEMENTED(); } +void APIENTRY glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) { UNIMPLEMENTED(); } +void APIENTRY glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) { UNIMPLEMENTED(); } +void APIENTRY glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { UNIMPLEMENTED(); } void APIENTRY glClientActiveTexture(GLenum texture) { TRACE("(GLenum texture = 0x%X)", texture); - + switch(texture) { case GL_TEXTURE0: @@ -7784,18 +8981,18 @@ } } -void APIENTRY glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data) {UNIMPLEMENTED();} -void APIENTRY glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data) {UNIMPLEMENTED();} -void APIENTRY glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data) {UNIMPLEMENTED();} -void APIENTRY glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) {UNIMPLEMENTED();} -void APIENTRY glGetCompressedTexImage(GLenum target, GLint level, void *img) {UNIMPLEMENTED();} -void APIENTRY glMultiTexCoord1f(GLenum target, GLfloat s) {UNIMPLEMENTED();} -void APIENTRY glMultiTexCoord1d(GLenum target, GLdouble s) {UNIMPLEMENTED();} +void APIENTRY glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data) { UNIMPLEMENTED(); } +void APIENTRY glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data) { UNIMPLEMENTED(); } +void APIENTRY glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data) { UNIMPLEMENTED(); } +void APIENTRY glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) { UNIMPLEMENTED(); } +void APIENTRY glGetCompressedTexImage(GLenum target, GLint level, void *img) { UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1f(GLenum target, GLfloat s) { UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1d(GLenum target, GLdouble s) { UNIMPLEMENTED(); } void APIENTRY glMultiTexCoord2f(GLenum texture, GLfloat s, GLfloat t) { TRACE("(GLenum texture = 0x%X, GLfloat s = %f, GLfloat t = %f)", texture, s, t); - + gl::Context *context = gl::getContext(); if(context) @@ -7810,67 +9007,988 @@ } } -void APIENTRY glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) {UNIMPLEMENTED();} -void APIENTRY glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) {UNIMPLEMENTED();} -void APIENTRY glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) {UNIMPLEMENTED();} -void APIENTRY glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) {UNIMPLEMENTED();} -void APIENTRY glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) {UNIMPLEMENTED();} -void APIENTRY glLoadTransposeMatrixf(const GLfloat *m) {UNIMPLEMENTED();} -void APIENTRY glLoadTransposeMatrixd(const GLdouble *m) {UNIMPLEMENTED();} -void APIENTRY glMultTransposeMatrixf(const GLfloat *m) {UNIMPLEMENTED();} -void APIENTRY glMultTransposeMatrixd(const GLdouble *m) {UNIMPLEMENTED();} -void APIENTRY glFogCoordf(GLfloat coord) {UNIMPLEMENTED();} -void APIENTRY glFogCoordd(GLdouble coord) {UNIMPLEMENTED();} -void APIENTRY glFogCoordPointer(GLenum type, GLsizei stride, const void *pointer) {UNIMPLEMENTED();} -void APIENTRY glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) {UNIMPLEMENTED();} -void APIENTRY glPointParameteri(GLenum pname, GLint param) {UNIMPLEMENTED();} -void APIENTRY glPointParameterf(GLenum pname, GLfloat param) {UNIMPLEMENTED();} -void APIENTRY glPointParameteriv(GLenum pname, const GLint *params) {UNIMPLEMENTED();} -void APIENTRY glPointParameterfv(GLenum pname, const GLfloat *params) {UNIMPLEMENTED();} -void APIENTRY glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) {UNIMPLEMENTED();} -void APIENTRY glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) {UNIMPLEMENTED();} -void APIENTRY glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) {UNIMPLEMENTED();} -void APIENTRY glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) {UNIMPLEMENTED();} -void APIENTRY glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer) {UNIMPLEMENTED();} -void APIENTRY glWindowPos2f(GLfloat x, GLfloat y) {UNIMPLEMENTED();} -void APIENTRY glWindowPos2d(GLdouble x, GLdouble y) {UNIMPLEMENTED();} -void APIENTRY glWindowPos2i(GLint x, GLint y) {UNIMPLEMENTED();} -void APIENTRY glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) {UNIMPLEMENTED();} -void APIENTRY glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) {UNIMPLEMENTED();} -void APIENTRY glWindowPos3i(GLint x, GLint y, GLint z) {UNIMPLEMENTED();} -void APIENTRY glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data) {UNIMPLEMENTED();} -void *APIENTRY glMapBuffer(GLenum target, GLenum access) {UNIMPLEMENTED(); return 0;} -GLboolean APIENTRY glUnmapBuffer(GLenum target) {UNIMPLEMENTED(); return GL_FALSE;} -void APIENTRY glGetBufferPointerv(GLenum target, GLenum pname, void **params) {UNIMPLEMENTED();} -void APIENTRY glGenQueries(GLsizei n, GLuint *ids) {UNIMPLEMENTED();} -void APIENTRY glDeleteQueries(GLsizei n, const GLuint *ids) {UNIMPLEMENTED();} -GLboolean APIENTRY glIsQuery(GLuint id) {UNIMPLEMENTED(); return 0;} -void APIENTRY glBeginQuery(GLenum target, GLuint id) {UNIMPLEMENTED();} -void APIENTRY glEndQuery(GLenum target) {UNIMPLEMENTED();} -void APIENTRY glGetQueryiv(GLenum target, GLenum pname, GLint *params) {UNIMPLEMENTED();} -void APIENTRY glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) {UNIMPLEMENTED();} -void APIENTRY glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) {UNIMPLEMENTED();} -void APIENTRY glVertexAttrib1s(GLuint index, GLshort x) {UNIMPLEMENTED();} -void APIENTRY glVertexAttrib1d(GLuint index, GLdouble x) {UNIMPLEMENTED();} -void APIENTRY glVertexAttrib2s(GLuint index, GLshort x, GLshort y) {UNIMPLEMENTED();} -void APIENTRY glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) {UNIMPLEMENTED();} -void APIENTRY glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) {UNIMPLEMENTED();} -void APIENTRY glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) {UNIMPLEMENTED();} -void APIENTRY glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) {UNIMPLEMENTED();} -void APIENTRY glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) {UNIMPLEMENTED();} -void APIENTRY glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) {UNIMPLEMENTED();} -void APIENTRY glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) {UNIMPLEMENTED();} -void APIENTRY glDrawBuffers(GLsizei n, const GLenum *bufs) {UNIMPLEMENTED();} -void APIENTRY glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {UNIMPLEMENTED();} -void APIENTRY glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {UNIMPLEMENTED();} -void APIENTRY glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {UNIMPLEMENTED();} -void APIENTRY glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {UNIMPLEMENTED();} -void APIENTRY glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {UNIMPLEMENTED();} -void APIENTRY glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {UNIMPLEMENTED();} +void APIENTRY glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { UNIMPLEMENTED(); } +void APIENTRY glLoadTransposeMatrixf(const GLfloat *m) { UNIMPLEMENTED(); } +void APIENTRY glLoadTransposeMatrixd(const GLdouble *m) { UNIMPLEMENTED(); } +void APIENTRY glMultTransposeMatrixf(const GLfloat *m) { UNIMPLEMENTED(); } +void APIENTRY glMultTransposeMatrixd(const GLdouble *m) { UNIMPLEMENTED(); } +void APIENTRY glFogCoordf(GLfloat coord) { UNIMPLEMENTED(); } +void APIENTRY glFogCoordd(GLdouble coord) { UNIMPLEMENTED(); } +void APIENTRY glFogCoordPointer(GLenum type, GLsizei stride, const void *pointer) { UNIMPLEMENTED(); } +void APIENTRY glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { UNIMPLEMENTED(); } +void APIENTRY glPointParameteri(GLenum pname, GLint param) { UNIMPLEMENTED(); } +void APIENTRY glPointParameterf(GLenum pname, GLfloat param) { UNIMPLEMENTED(); } +void APIENTRY glPointParameteriv(GLenum pname, const GLint *params) { UNIMPLEMENTED(); } +void APIENTRY glPointParameterfv(GLenum pname, const GLfloat *params) { UNIMPLEMENTED(); } +void APIENTRY glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { UNIMPLEMENTED(); } +void APIENTRY glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { UNIMPLEMENTED(); } +void APIENTRY glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { UNIMPLEMENTED(); } +void APIENTRY glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { UNIMPLEMENTED(); } +void APIENTRY glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer) { UNIMPLEMENTED(); } +void APIENTRY glWindowPos2f(GLfloat x, GLfloat y) { UNIMPLEMENTED(); } +void APIENTRY glWindowPos2d(GLdouble x, GLdouble y) { UNIMPLEMENTED(); } +void APIENTRY glWindowPos2i(GLint x, GLint y) { UNIMPLEMENTED(); } +void APIENTRY glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { UNIMPLEMENTED(); } +void APIENTRY glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { UNIMPLEMENTED(); } +void APIENTRY glWindowPos3i(GLint x, GLint y, GLint z) { UNIMPLEMENTED(); } +void APIENTRY glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data) { UNIMPLEMENTED(); } +void *APIENTRY glMapBuffer(GLenum target, GLenum access) { UNIMPLEMENTED(); return 0; } +GLboolean APIENTRY glUnmapBuffer(GLenum target) { UNIMPLEMENTED(); return GL_FALSE; } +void APIENTRY glGetBufferPointerv(GLenum target, GLenum pname, void **params) { UNIMPLEMENTED(); } +void APIENTRY glGenQueries(GLsizei n, GLuint *ids) { UNIMPLEMENTED(); } +void APIENTRY glDeleteQueries(GLsizei n, const GLuint *ids) { UNIMPLEMENTED(); } +GLboolean APIENTRY glIsQuery(GLuint id) { UNIMPLEMENTED(); return 0; } +void APIENTRY glBeginQuery(GLenum target, GLuint id) { UNIMPLEMENTED(); } +void APIENTRY glEndQuery(GLenum target) { UNIMPLEMENTED(); } +void APIENTRY glGetQueryiv(GLenum target, GLenum pname, GLint *params) { UNIMPLEMENTED(); } +void APIENTRY glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { UNIMPLEMENTED(); } +void APIENTRY glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1s(GLuint index, GLshort x) { UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1d(GLuint index, GLdouble x) { UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { UNIMPLEMENTED(); } +void APIENTRY glDrawBuffers(GLsizei n, const GLenum *bufs) { UNIMPLEMENTED(); } +void APIENTRY glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { UNIMPLEMENTED(); } +void APIENTRY glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { UNIMPLEMENTED(); } +void APIENTRY glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { UNIMPLEMENTED(); } +void APIENTRY glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { UNIMPLEMENTED(); } +void APIENTRY glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { UNIMPLEMENTED(); } +void APIENTRY glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { UNIMPLEMENTED(); } -void APIENTRY glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) {UNIMPLEMENTED();} -void APIENTRY glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {UNIMPLEMENTED();} -void APIENTRY glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) {UNIMPLEMENTED();} +void APIENTRY glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { UNIMPLEMENTED(); } +void APIENTRY glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { UNIMPLEMENTED(); } +void APIENTRY glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { UNIMPLEMENTED(); } + +void WINAPI glBindAttribLocationARB(GLhandleARB programObj, GLuint index, const GLcharARB *name) { UNIMPLEMENTED(); } +void WINAPI glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name) { UNIMPLEMENTED(); } +GLint WINAPI glGetAttribLocationARB(GLhandleARB programObj, const GLcharARB *name) { UNIMPLEMENTED(); return 0; } +GLAPI void APIENTRY glDeleteObjectARB(GLhandleARB obj){ UNIMPLEMENTED(); } +GLAPI GLhandleARB APIENTRY glGetHandleARB(GLenum pname){ UNIMPLEMENTED(); return 0; } +GLAPI void APIENTRY glDetachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj){ UNIMPLEMENTED(); } +GLAPI GLhandleARB APIENTRY glCreateShaderObjectARB(GLenum shaderType){ UNIMPLEMENTED(); return 0; } +GLAPI void APIENTRY glShaderSourceARB(GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glCompileShaderARB(GLhandleARB shaderObj){ UNIMPLEMENTED(); } +GLAPI GLhandleARB APIENTRY glCreateProgramObjectARB(void){ UNIMPLEMENTED(); return 0; } +GLAPI void APIENTRY glAttachObjectARB(GLhandleARB containerObj, GLhandleARB obj){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glLinkProgramARB(GLhandleARB programObj){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUseProgramObjectARB(GLhandleARB programObj){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glValidateProgramARB(GLhandleARB programObj){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform1fARB(GLint location, GLfloat v0){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform2fARB(GLint location, GLfloat v0, GLfloat v1){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform1iARB(GLint location, GLint v0){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform2iARB(GLint location, GLint v0, GLint v1){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform3iARB(GLint location, GLint v0, GLint v1, GLint v2){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform1fvARB(GLint location, GLsizei count, const GLfloat *value){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform2fvARB(GLint location, GLsizei count, const GLfloat *value){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform3fvARB(GLint location, GLsizei count, const GLfloat *value){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform4fvARB(GLint location, GLsizei count, const GLfloat *value){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform1ivARB(GLint location, GLsizei count, const GLint *value){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform2ivARB(GLint location, GLsizei count, const GLint *value){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform3ivARB(GLint location, GLsizei count, const GLint *value){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniform4ivARB(GLint location, GLsizei count, const GLint *value){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glUniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, GLfloat *params){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, GLint *params){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj){ UNIMPLEMENTED(); } +GLAPI GLint APIENTRY glGetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name){ UNIMPLEMENTED(); return 0; } +GLAPI void APIENTRY glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glGetUniformfvARB(GLhandleARB programObj, GLint location, GLfloat *params){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glGetUniformivARB(GLhandleARB programObj, GLint location, GLint *params){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source){ UNIMPLEMENTED(); } + +GLAPI GLboolean APIENTRY glIsRenderbufferEXT(GLuint renderbuffer){ UNIMPLEMENTED(); return 0; } +GLAPI void APIENTRY glBindRenderbufferEXT(GLenum target, GLuint renderbuffer){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glDeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glGenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params){ UNIMPLEMENTED(); } +GLAPI GLboolean APIENTRY glIsFramebufferEXT(GLuint framebuffer){ UNIMPLEMENTED(); return 0; } +GLAPI void APIENTRY glBindFramebufferEXT(GLenum target, GLuint framebuffer){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glDeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers) +{ + TRACE("(GLsizei n = %d, const GLuint* framebuffers = %p)", n, framebuffers); + + glDeleteFramebuffers(n, framebuffers); +} +GLAPI void APIENTRY glGenFramebuffersEXT(GLsizei n, GLuint *framebuffers) +{ + TRACE("(GLsizei n = %d, GLuint* framebuffers = %p)", n, framebuffers); + + glGenFramebuffers(n, framebuffers); +} +GLAPI GLenum APIENTRY glCheckFramebufferStatusEXT(GLenum target){ UNIMPLEMENTED(); return 0; } +GLAPI void APIENTRY glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params){ UNIMPLEMENTED(); } +GLAPI void APIENTRY glGenerateMipmapEXT(GLenum target){ UNIMPLEMENTED(); } + +HGLRC WINAPI wglCreateContextAttribsARB(HDC hDC, HGLRC hShareContext, const int *attribList) +{ + return wglCreateContext(hDC); +} + +HANDLE WINAPI wglCreateBufferRegionARB(HDC hDC, int iLayerPlane, UINT uType) { UNIMPLEMENTED(); return 0; } +VOID WINAPI wglDeleteBufferRegionARB(HANDLE hRegion) { UNIMPLEMENTED(); } +BOOL WINAPI wglSaveBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height) { UNIMPLEMENTED(); return FALSE; } +BOOL WINAPI wglRestoreBufferRegionARB(HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc) { UNIMPLEMENTED(); return FALSE; } + +void APIENTRY glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetBooleani_v(GLenum target, GLuint index, GLboolean *data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetIntegeri_v(GLenum target, GLuint index, GLint *data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEnablei(GLenum target, GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDisablei(GLenum target, GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glIsEnabledi(GLenum target, GLuint index){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glBeginTransformFeedback(GLenum primitiveMode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEndTransformFeedback(void){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBindBufferBase(GLenum target, GLuint index, GLuint buffer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClampColor(GLenum target, GLenum clamp){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBeginConditionalRender(GLuint id, GLenum mode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEndConditionalRender(void){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI1i(GLuint index, GLint x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI2i(GLuint index, GLint x, GLint y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI1ui(GLuint index, GLuint x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI2ui(GLuint index, GLuint x, GLuint y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI1iv(GLuint index, const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI2iv(GLuint index, const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI3iv(GLuint index, const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4iv(GLuint index, const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI1uiv(GLuint index, const GLuint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI2uiv(GLuint index, const GLuint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI3uiv(GLuint index, const GLuint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4uiv(GLuint index, const GLuint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4bv(GLuint index, const GLbyte *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4sv(GLuint index, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4ubv(GLuint index, const GLubyte *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4usv(GLuint index, const GLushort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetUniformuiv(GLuint program, GLint location, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name){ TRACE("*"); UNIMPLEMENTED(); } +GLint APIENTRY glGetFragDataLocation(GLuint program, const GLchar *name){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glUniform1ui(GLint location, GLuint v0){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform2ui(GLint location, GLuint v0, GLuint v1){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform1uiv(GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform2uiv(GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform3uiv(GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform4uiv(GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexParameterIiv(GLenum target, GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil){ TRACE("*"); UNIMPLEMENTED(); } +const GLubyte *APIENTRY glGetStringi(GLenum name, GLuint index){ TRACE("*"); UNIMPLEMENTED(); return (GLubyte*)""; return 0; } +void *APIENTRY glMapNamedBufferEXT(GLuint buffer, GLenum access){ TRACE("*"); UNIMPLEMENTED(); return 0; } +GLboolean APIENTRY glUnmapNamedBufferEXT(GLuint buffer){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glGetNamedBufferParameterivEXT(GLuint buffer, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTextureImageEXT(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glcuR0d4nX(GLint* i1) +{ + i1[1] = 0; +} +// +//000007FEE763807A lea rax, [rsp + 20h] +//000007FEE763807F lea rcx, [rsp + 38h] +//000007FEE7638084 mov qword ptr[rsp + 20h], rbp +//000007FEE7638089 mov qword ptr[rsp + 28h], rsi +//000007FEE763808E mov dword ptr[rsp + 38h], 0Dh +//000007FEE7638096 mov dword ptr[rsp + 3Ch], 8 +//000007FEE763809E mov qword ptr[rsp + 50h], rax +//000007FEE76380A3 mov dword ptr[rsp + 48h], 7 +//000007FEE76380AB mov qword ptr[rsp + 40h], 0 +//000007FEE76380B4 call qword ptr[7FEE81F6890h] + +void APIENTRY glCopyTexImage1DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyTexImage2DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glPolygonOffsetEXT(GLfloat factor, GLfloat bias) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexImage3DEXT(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) { TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glAreTexturesResidentEXT(GLsizei n, const GLuint *textures, GLboolean *residences) { TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glBindTextureEXT(GLenum target, GLuint texture) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDeleteTexturesEXT(GLsizei n, const GLuint *textures) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGenTexturesEXT(GLsizei n, GLuint *textures) { TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glIsTextureEXT(GLuint texture) { TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glPrioritizeTexturesEXT(GLsizei n, const GLuint *textures, const GLclampf *priorities) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glSampleCoverageARB(GLfloat value, GLboolean invert) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glActiveTextureARB(GLenum texture) +{ + TRACE("(GLenum texture = 0x%X)", texture); + glActiveTexture(texture); +} +void APIENTRY glClientActiveTextureARB(GLenum texture) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1dARB(GLenum target, GLdouble s) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1dvARB(GLenum target, const GLdouble *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1fARB(GLenum target, GLfloat s) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1fvARB(GLenum target, const GLfloat *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1iARB(GLenum target, GLint s) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1ivARB(GLenum target, const GLint *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1sARB(GLenum target, GLshort s) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1svARB(GLenum target, const GLshort *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord2dvARB(GLenum target, const GLdouble *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord2fvARB(GLenum target, const GLfloat *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord2iARB(GLenum target, GLint s, GLint t) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord2ivARB(GLenum target, const GLint *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord2svARB(GLenum target, const GLshort *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3dvARB(GLenum target, const GLdouble *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3fvARB(GLenum target, const GLfloat *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3ivARB(GLenum target, const GLint *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3svARB(GLenum target, const GLshort *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4dvARB(GLenum target, const GLdouble *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4fvARB(GLenum target, const GLfloat *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetCompressedTexImageARB(GLenum target, GLint level, void *img) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glPointParameterfARB(GLenum pname, GLfloat param) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glPointParameterfvARB(GLenum pname, const GLfloat *params) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBlendColorEXT(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFogCoordfEXT(GLfloat coord) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFogCoordfvEXT(const GLfloat *coord) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFogCoorddEXT(GLdouble coord) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFogCoorddvEXT(const GLdouble *coord) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFogCoordPointerEXT(GLenum type, GLsizei stride, const void *pointer) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiDrawArraysEXT(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGenQueriesARB(GLsizei n, GLuint *ids) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDeleteQueriesARB(GLsizei n, const GLuint *ids) { TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glIsQueryARB(GLuint id) { TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glBeginQueryARB(GLenum target, GLuint id) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEndQueryARB(GLenum target) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetQueryivARB(GLenum target, GLenum pname, GLint *params) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetQueryObjectivARB(GLuint id, GLenum pname, GLint *params) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBindBufferARB(GLenum target, GLuint buffer) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDeleteBuffersARB(GLsizei n, const GLuint *buffers) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGenBuffersARB(GLsizei n, GLuint *buffers) { TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glIsBufferARB(GLuint buffer) { TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glBufferDataARB(GLenum target, GLsizeiptrARB size, const void *data, GLenum usage) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void *data) { TRACE("*"); UNIMPLEMENTED(); } +void *APIENTRY glMapBufferARB(GLenum target, GLenum access) { TRACE("*"); UNIMPLEMENTED(); return 0; } +GLboolean APIENTRY glUnmapBufferARB(GLenum target) { TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glGetBufferParameterivARB(GLenum target, GLenum pname, GLint *params) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetBufferPointervARB(GLenum target, GLenum pname, void **params) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDrawBuffersARB(GLsizei n, const GLenum *bufs) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glActiveStencilFaceEXT(GLenum face) { TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClampColorARB(GLenum target, GLenum clamp){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDrawArraysInstancedARB(GLenum mode, GLint first, GLsizei count, GLsizei primcount){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramParameteriARB(GLuint program, GLenum pname, GLint value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFramebufferTextureARB(GLenum target, GLenum attachment, GLuint texture, GLint level){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFramebufferTextureLayerARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFramebufferTextureFaceARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetColorTable(GLenum target, GLenum format, GLenum type, void *table){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glConvolutionParameteri(GLenum target, GLenum pname, GLint params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, void *image){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetSeparableFilter(GLenum target, GLenum format, GLenum type, void *row, void *column, void *span){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, void *values){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, void *values){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMinmax(GLenum target, GLenum internalformat, GLboolean sink){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glResetHistogram(GLenum target){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glResetMinmax(GLenum target){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribDivisorARB(GLuint index, GLuint divisor){ TRACE("*"); UNIMPLEMENTED(); } +void *APIENTRY glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexBufferARB(GLenum target, GLenum internalformat, GLuint buffer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBindVertexArray(GLuint array){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDeleteVertexArrays(GLsizei n, const GLuint *arrays){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGenVertexArrays(GLsizei n, GLuint *arrays){ TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glIsVertexArray(GLuint array){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glProgramStringARB(GLenum target, GLenum format, GLsizei len, const void *string){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBindProgramARB(GLenum target, GLuint program){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDeleteProgramsARB(GLsizei n, const GLuint *programs){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGenProgramsARB(GLsizei n, GLuint *programs){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramEnvParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramEnvParameter4dvARB(GLenum target, GLuint index, const GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramEnvParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramEnvParameter4fvARB(GLenum target, GLuint index, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramLocalParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramLocalParameter4dvARB(GLenum target, GLuint index, const GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramLocalParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramEnvParameterdvARB(GLenum target, GLuint index, GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramivARB(GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramStringARB(GLenum target, GLenum pname, void *string){ TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glIsProgramARB(GLuint program){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glEnableVertexAttribArrayARB(GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDisableVertexAttribArrayARB(GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribivARB(GLuint index, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribPointervARB(GLuint index, GLenum pname, void **pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1dARB(GLuint index, GLdouble x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1dvARB(GLuint index, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1fARB(GLuint index, GLfloat x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1fvARB(GLuint index, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1sARB(GLuint index, GLshort x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1svARB(GLuint index, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2dvARB(GLuint index, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2fvARB(GLuint index, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2sARB(GLuint index, GLshort x, GLshort y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2svARB(GLuint index, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3dvARB(GLuint index, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3fvARB(GLuint index, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3svARB(GLuint index, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4NbvARB(GLuint index, const GLbyte *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4NivARB(GLuint index, const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4NsvARB(GLuint index, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4NubvARB(GLuint index, const GLubyte *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4NuivARB(GLuint index, const GLuint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4NusvARB(GLuint index, const GLushort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4bvARB(GLuint index, const GLbyte *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4dvARB(GLuint index, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4fvARB(GLuint index, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4ivARB(GLuint index, const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4svARB(GLuint index, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4ubvARB(GLuint index, const GLubyte *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4uivARB(GLuint index, const GLuint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4usvARB(GLuint index, const GLushort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos2dARB(GLdouble x, GLdouble y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos2dvARB(const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos2fARB(GLfloat x, GLfloat y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos2fvARB(const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos2iARB(GLint x, GLint y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos2ivARB(const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos2sARB(GLshort x, GLshort y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos2svARB(const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos3dvARB(const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos3fARB(GLfloat x, GLfloat y, GLfloat z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos3fvARB(const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos3iARB(GLint x, GLint y, GLint z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos3ivARB(const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos3sARB(GLshort x, GLshort y, GLshort z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glWindowPos3svARB(const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDrawBuffersATI(GLsizei n, const GLenum *bufs){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniformBufferEXT(GLuint program, GLint location, GLuint buffer){ TRACE("*"); UNIMPLEMENTED(); } +GLint APIENTRY glGetUniformBufferSizeEXT(GLuint program, GLint location){ TRACE("*"); UNIMPLEMENTED(); return 0; } +GLintptr APIENTRY glGetUniformOffsetEXT(GLuint program, GLint location){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glLockArraysEXT(GLint first, GLsizei count){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUnlockArraysEXT(void){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDepthBoundsEXT(GLclampd zmin, GLclampd zmax){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixLoadfEXT(GLenum mode, const GLfloat *m){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixLoaddEXT(GLenum mode, const GLdouble *m){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixMultfEXT(GLenum mode, const GLfloat *m){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixMultdEXT(GLenum mode, const GLdouble *m){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixLoadIdentityEXT(GLenum mode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixRotatefEXT(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixRotatedEXT(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixScalefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixScaledEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixTranslatefEXT(GLenum mode, GLfloat x, GLfloat y, GLfloat z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixTranslatedEXT(GLenum mode, GLdouble x, GLdouble y, GLdouble z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixFrustumEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixOrthoEXT(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixPopEXT(GLenum mode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixPushEXT(GLenum mode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClientAttribDefaultEXT(GLbitfield mask){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glPushClientAttribDefaultEXT(GLbitfield mask){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureParameterfEXT(GLuint texture, GLenum target, GLenum pname, GLfloat param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureParameteriEXT(GLuint texture, GLenum target, GLenum pname, GLint param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTextureParameterfvEXT(GLuint texture, GLenum target, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTextureParameterivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTextureLevelParameterfvEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTextureLevelParameterivEXT(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBindMultiTextureEXT(GLenum texunit, GLenum target, GLuint texture){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexEnvfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexEnviEXT(GLenum texunit, GLenum target, GLenum pname, GLint param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexGendEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexGenfEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexGeniEXT(GLenum texunit, GLenum coord, GLenum pname, GLint param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexEnvfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexEnvivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexGendvEXT(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexGenfvEXT(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexGenivEXT(GLenum texunit, GLenum coord, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexParameteriEXT(GLenum texunit, GLenum target, GLenum pname, GLint param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexParameterfEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexImageEXT(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexParameterfvEXT(GLenum texunit, GLenum target, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexParameterivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexLevelParameterfvEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexLevelParameterivEXT(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEnableClientStateIndexedEXT(GLenum array, GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDisableClientStateIndexedEXT(GLenum array, GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetFloatIndexedvEXT(GLenum target, GLuint index, GLfloat *data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetDoubleIndexedvEXT(GLenum target, GLuint index, GLdouble *data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetPointerIndexedvEXT(GLenum target, GLuint index, void **data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEnableIndexedEXT(GLenum target, GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDisableIndexedEXT(GLenum target, GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glIsEnabledIndexedEXT(GLenum target, GLuint index){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glGetIntegerIndexedvEXT(GLenum target, GLuint index, GLint *data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetBooleanIndexedvEXT(GLenum target, GLuint index, GLboolean *data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetCompressedTextureImageEXT(GLuint texture, GLenum target, GLint lod, void *img){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetCompressedMultiTexImageEXT(GLenum texunit, GLenum target, GLint lod, void *img){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixLoadTransposefEXT(GLenum mode, const GLfloat *m){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixLoadTransposedEXT(GLenum mode, const GLdouble *m){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixMultTransposefEXT(GLenum mode, const GLfloat *m){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMatrixMultTransposedEXT(GLenum mode, const GLdouble *m){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedBufferDataEXT(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedBufferPointervEXT(GLuint buffer, GLenum pname, void **params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedBufferSubDataEXT(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform1fEXT(GLuint program, GLint location, GLfloat v0){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform2fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform3fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform4fEXT(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform1iEXT(GLuint program, GLint location, GLint v0){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform2iEXT(GLuint program, GLint location, GLint v0, GLint v1){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform3iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform4iEXT(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix2x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix3x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix2x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix4x2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix3x4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix4x3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureBufferEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexBufferEXT(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, const GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTextureParameterIivEXT(GLuint texture, GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTextureParameterIuivEXT(GLuint texture, GLenum target, GLenum pname, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, const GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexParameterIivEXT(GLenum texunit, GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultiTexParameterIuivEXT(GLenum texunit, GLenum target, GLenum pname, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform1uiEXT(GLuint program, GLint location, GLuint v0){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform2uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform3uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform4uiEXT(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform1uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform2uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform3uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform4uivEXT(GLuint program, GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramLocalParameters4fvEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramLocalParameterI4iEXT(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramLocalParameterI4ivEXT(GLuint program, GLenum target, GLuint index, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramLocalParametersI4ivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramLocalParameterI4uiEXT(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramLocalParameterI4uivEXT(GLuint program, GLenum target, GLuint index, const GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramLocalParametersI4uivEXT(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedProgramLocalParameterIivEXT(GLuint program, GLenum target, GLuint index, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedProgramLocalParameterIuivEXT(GLuint program, GLenum target, GLuint index, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEnableClientStateiEXT(GLenum array, GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDisableClientStateiEXT(GLenum array, GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetFloati_vEXT(GLenum pname, GLuint index, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetDoublei_vEXT(GLenum pname, GLuint index, GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetPointeri_vEXT(GLenum pname, GLuint index, void **params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramStringEXT(GLuint program, GLenum target, GLenum format, GLsizei len, const void *string){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramLocalParameter4dEXT(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramLocalParameter4dvEXT(GLuint program, GLenum target, GLuint index, const GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramLocalParameter4fEXT(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedProgramLocalParameter4fvEXT(GLuint program, GLenum target, GLuint index, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedProgramLocalParameterdvEXT(GLuint program, GLenum target, GLuint index, GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedProgramLocalParameterfvEXT(GLuint program, GLenum target, GLuint index, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedProgramivEXT(GLuint program, GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedProgramStringEXT(GLuint program, GLenum target, GLenum pname, void *string){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedRenderbufferStorageEXT(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedRenderbufferParameterivEXT(GLuint renderbuffer, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedRenderbufferStorageMultisampleEXT(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedRenderbufferStorageMultisampleCoverageEXT(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height){ TRACE("*"); UNIMPLEMENTED(); } +GLenum APIENTRY glCheckNamedFramebufferStatusEXT(GLuint framebuffer, GLenum target){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glNamedFramebufferTexture1DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedFramebufferTexture2DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedFramebufferTexture3DEXT(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedFramebufferRenderbufferEXT(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedFramebufferAttachmentParameterivEXT(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGenerateTextureMipmapEXT(GLuint texture, GLenum target){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGenerateMultiTexMipmapEXT(GLenum texunit, GLenum target){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFramebufferDrawBufferEXT(GLuint framebuffer, GLenum mode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFramebufferDrawBuffersEXT(GLuint framebuffer, GLsizei n, const GLenum *bufs){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFramebufferReadBufferEXT(GLuint framebuffer, GLenum mode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedCopyBufferSubDataEXT(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedFramebufferTextureEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedFramebufferTextureLayerEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedFramebufferTextureFaceEXT(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureRenderbufferEXT(GLuint texture, GLenum target, GLuint renderbuffer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexRenderbufferEXT(GLenum texunit, GLenum target, GLuint renderbuffer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayVertexOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayEdgeFlagOffsetEXT(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayIndexOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayNormalOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayMultiTexCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayFogCoordOffsetEXT(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArraySecondaryColorOffsetEXT(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayVertexAttribOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayVertexAttribIOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEnableVertexArrayEXT(GLuint vaobj, GLenum array){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDisableVertexArrayEXT(GLuint vaobj, GLenum array){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEnableVertexArrayAttribEXT(GLuint vaobj, GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDisableVertexArrayAttribEXT(GLuint vaobj, GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexArrayPointervEXT(GLuint vaobj, GLenum pname, void **param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexArrayIntegeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, GLint *param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexArrayPointeri_vEXT(GLuint vaobj, GLuint index, GLenum pname, void **param){ TRACE("*"); UNIMPLEMENTED(); } +void *APIENTRY glMapNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glFlushMappedNamedBufferRangeEXT(GLuint buffer, GLintptr offset, GLsizeiptr length){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedBufferStorageEXT(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClearNamedBufferDataEXT(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClearNamedBufferSubDataEXT(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNamedFramebufferParameteriEXT(GLuint framebuffer, GLenum pname, GLint param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedFramebufferParameterivEXT(GLuint framebuffer, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform1dEXT(GLuint program, GLint location, GLdouble x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform2dEXT(GLuint program, GLint location, GLdouble x, GLdouble y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform3dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform4dEXT(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform1dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform2dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform3dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniform4dvEXT(GLuint program, GLint location, GLsizei count, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix2x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix2x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix3x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix3x4dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix4x2dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformMatrix4x3dvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureBufferRangeEXT(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureStorage2DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTextureStorage3DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayBindVertexBufferEXT(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayVertexAttribFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayVertexAttribIFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayVertexAttribLFormatEXT(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayVertexAttribBindingEXT(GLuint vaobj, GLuint attribindex, GLuint bindingindex){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayVertexBindingDivisorEXT(GLuint vaobj, GLuint bindingindex, GLuint divisor){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexturePageCommitmentEXT(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayVertexAttribDivisorEXT(GLuint vaobj, GLuint index, GLuint divisor){ TRACE("*"); UNIMPLEMENTED(); } + + +void APIENTRY glColorMaskIndexedEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramParameteriEXT(GLuint program, GLenum pname, GLint value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFramebufferTextureFaceEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramEnvParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramLocalParameters4fvEXT(GLenum target, GLuint index, GLsizei count, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetUniformuivEXT(GLuint program, GLint location, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBindFragDataLocationEXT(GLuint program, GLuint color, const GLchar *name){ TRACE("*"); UNIMPLEMENTED(); } +GLint APIENTRY glGetFragDataLocationEXT(GLuint program, const GLchar *name){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glUniform1uiEXT(GLint location, GLuint v0){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform2uiEXT(GLint location, GLuint v0, GLuint v1){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform3uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform4uiEXT(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform1uivEXT(GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform2uivEXT(GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform3uivEXT(GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniform4uivEXT(GLint location, GLsizei count, const GLuint *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI1iEXT(GLuint index, GLint x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI2iEXT(GLuint index, GLint x, GLint y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI3iEXT(GLuint index, GLint x, GLint y, GLint z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4iEXT(GLuint index, GLint x, GLint y, GLint z, GLint w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI1uiEXT(GLuint index, GLuint x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI2uiEXT(GLuint index, GLuint x, GLuint y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI3uiEXT(GLuint index, GLuint x, GLuint y, GLuint z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4uiEXT(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI1ivEXT(GLuint index, const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI2ivEXT(GLuint index, const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI3ivEXT(GLuint index, const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4ivEXT(GLuint index, const GLint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI1uivEXT(GLuint index, const GLuint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI2uivEXT(GLuint index, const GLuint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI3uivEXT(GLuint index, const GLuint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4uivEXT(GLuint index, const GLuint *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4bvEXT(GLuint index, const GLbyte *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4svEXT(GLuint index, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4ubvEXT(GLuint index, const GLubyte *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribI4usvEXT(GLuint index, const GLushort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribIPointerEXT(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribIivEXT(GLuint index, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribIuivEXT(GLuint index, GLenum pname, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glPointParameterfEXT(GLenum pname, GLfloat param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glPointParameterfvEXT(GLenum pname, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexParameterIivEXT(GLenum target, GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClearColorIiEXT(GLint red, GLint green, GLint blue, GLint alpha){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClearColorIuiEXT(GLuint red, GLuint green, GLuint blue, GLuint alpha){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64 *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64 *params){ TRACE("*"); UNIMPLEMENTED(); } +#define GL_GLEXT_PROTOTYPES +void APIENTRY glArrayElementEXT(GLint i){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDrawArraysEXT(GLenum mode, GLint first, GLsizei count){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetPointervEXT(GLenum pname, void **params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glIndexPointerEXT(GLenum type, GLsizei stride, GLsizei count, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBeginConditionalRenderNV(GLuint id, GLenum mode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEndConditionalRenderNV(void){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDepthRangedNV(GLdouble zNear, GLdouble zFar){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glClearDepthdNV(GLdouble depth){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDepthBoundsdNV(GLdouble zmin, GLdouble zmax){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetMultisamplefvNV(GLenum pname, GLuint index, GLfloat *val){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glSampleMaskIndexedNV(GLuint index, GLbitfield mask){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexRenderbufferNV(GLenum target, GLuint renderbuffer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glRenderbufferStorageMultisampleCoverageNV(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramLocalParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramLocalParameterI4ivNV(GLenum target, GLuint index, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramLocalParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramLocalParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramLocalParameterI4uivNV(GLenum target, GLuint index, const GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramLocalParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramEnvParameterI4iNV(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramEnvParameterI4ivNV(GLenum target, GLuint index, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramEnvParametersI4ivNV(GLenum target, GLuint index, GLsizei count, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramEnvParameterI4uiNV(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramEnvParameterI4uivNV(GLenum target, GLuint index, const GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramEnvParametersI4uivNV(GLenum target, GLuint index, GLsizei count, const GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramLocalParameterIivNV(GLenum target, GLuint index, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramLocalParameterIuivNV(GLenum target, GLuint index, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramEnvParameterIivNV(GLenum target, GLuint index, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramEnvParameterIuivNV(GLenum target, GLuint index, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertex2hNV(GLhalfNV x, GLhalfNV y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertex2hvNV(const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertex3hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertex3hvNV(const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertex4hNV(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertex4hvNV(const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNormal3hNV(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNormal3hvNV(const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glColor3hvNV(const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glColor4hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glColor4hvNV(const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexCoord1hNV(GLhalfNV s){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexCoord1hvNV(const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexCoord2hNV(GLhalfNV s, GLhalfNV t){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexCoord2hvNV(const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexCoord3hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexCoord3hvNV(const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexCoord4hNV(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexCoord4hvNV(const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1hNV(GLenum target, GLhalfNV s){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord1hvNV(GLenum target, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord2hNV(GLenum target, GLhalfNV s, GLhalfNV t){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord2hvNV(GLenum target, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord3hvNV(GLenum target, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4hNV(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMultiTexCoord4hvNV(GLenum target, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFogCoordhNV(GLhalfNV fog){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFogCoordhvNV(const GLhalfNV *fog){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glSecondaryColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glSecondaryColor3hvNV(const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexWeighthNV(GLhalfNV weight){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexWeighthvNV(const GLhalfNV *weight){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1hNV(GLuint index, GLhalfNV x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1hvNV(GLuint index, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2hNV(GLuint index, GLhalfNV x, GLhalfNV y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2hvNV(GLuint index, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3hvNV(GLuint index, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4hNV(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4hvNV(GLuint index, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs1hvNV(GLuint index, GLsizei n, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs2hvNV(GLuint index, GLsizei n, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs3hvNV(GLuint index, GLsizei n, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs4hvNV(GLuint index, GLsizei n, const GLhalfNV *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBeginOcclusionQueryNV(GLuint id){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEndOcclusionQueryNV(void){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetOcclusionQueryivNV(GLuint id, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetOcclusionQueryuivNV(GLuint id, GLenum pname, GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGenOcclusionQueriesNV(GLsizei n, GLuint *ids){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDeleteOcclusionQueriesNV(GLsizei n, const GLuint *ids){ TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glIsOcclusionQueryNV(GLuint id){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glProgramBufferParametersfvNV(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramBufferParametersIivNV(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramBufferParametersIuivNV(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glPixelDataRangeNV(GLenum target, GLsizei length, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFlushPixelDataRangeNV(GLenum target){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glPointParameteriNV(GLenum pname, GLint param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glPointParameterivNV(GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glPrimitiveRestartNV(void){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glPrimitiveRestartIndexNV(GLuint index){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCombinerParameterfvNV(GLenum pname, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCombinerParameterfNV(GLenum pname, GLfloat param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCombinerParameterivNV(GLenum pname, const GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCombinerParameteriNV(GLenum pname, GLint param){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCombinerInputNV(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCombinerOutputNV(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFinalCombinerInputNV(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetCombinerInputParameterfvNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetCombinerInputParameterivNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetCombinerOutputParameterfvNV(GLenum stage, GLenum portion, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetCombinerOutputParameterivNV(GLenum stage, GLenum portion, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetFinalCombinerInputParameterfvNV(GLenum variable, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetFinalCombinerInputParameterivNV(GLenum variable, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glCombinerStageParameterfvNV(GLenum stage, GLenum pname, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetCombinerStageParameterfvNV(GLenum stage, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMakeBufferResidentNV(GLenum target, GLenum access){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMakeBufferNonResidentNV(GLenum target){ TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glIsBufferResidentNV(GLenum target){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glMakeNamedBufferResidentNV(GLuint buffer, GLenum access){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glMakeNamedBufferNonResidentNV(GLuint buffer){ TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glIsNamedBufferResidentNV(GLuint buffer){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glGetBufferParameterui64vNV(GLenum target, GLenum pname, GLuint64EXT *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetNamedBufferParameterui64vNV(GLuint buffer, GLenum pname, GLuint64EXT *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetIntegerui64vNV(GLenum value, GLuint64EXT *result){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniformui64NV(GLint location, GLuint64EXT value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glUniformui64vNV(GLint location, GLsizei count, const GLuint64EXT *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetUniformui64vNV(GLuint program, GLint location, GLuint64EXT *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformui64NV(GLuint program, GLint location, GLuint64EXT value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramUniformui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBeginTransformFeedbackNV(GLenum primitiveMode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEndTransformFeedbackNV(void){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTransformFeedbackAttribsNV(GLuint count, const GLint *attribs, GLenum bufferMode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBindBufferOffsetNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTransformFeedbackVaryingsNV(GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glActiveVaryingNV(GLuint program, const GLchar *name){ TRACE("*"); UNIMPLEMENTED(); } +GLint APIENTRY glGetVaryingLocationNV(GLuint program, const GLchar *name){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTransformFeedbackVaryingNV(GLuint program, GLuint index, GLint *location){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTransformFeedbackStreamAttribsNV(GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFlushVertexArrayRangeNV(void){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexArrayRangeNV(GLsizei length, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glBufferAddressRangeNV(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexFormatNV(GLint size, GLenum type, GLsizei stride){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glNormalFormatNV(GLenum type, GLsizei stride){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glColorFormatNV(GLint size, GLenum type, GLsizei stride){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glIndexFormatNV(GLenum type, GLsizei stride){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTexCoordFormatNV(GLint size, GLenum type, GLsizei stride){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glEdgeFlagFormatNV(GLsizei stride){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glSecondaryColorFormatNV(GLint size, GLenum type, GLsizei stride){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glFogCoordFormatNV(GLenum type, GLsizei stride){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribFormatNV(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribIFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetIntegerui64i_vNV(GLenum value, GLuint index, GLuint64EXT *result){ TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glAreProgramsResidentNV(GLsizei n, const GLuint *programs, GLboolean *residences){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glBindProgramNV(GLenum target, GLuint id){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glDeleteProgramsNV(GLsizei n, const GLuint *programs){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGenProgramsNV(GLsizei n, GLuint *programs){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramivNV(GLuint id, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetProgramStringNV(GLuint id, GLenum pname, GLubyte *program){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribivNV(GLuint index, GLenum pname, GLint *params){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glGetVertexAttribPointervNV(GLuint index, GLenum pname, void **pointer){ TRACE("*"); UNIMPLEMENTED(); } +GLboolean APIENTRY glIsProgramNV(GLuint id){ TRACE("*"); UNIMPLEMENTED(); return 0; } +void APIENTRY glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte *program){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramParameter4dNV(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramParameter4dvNV(GLenum target, GLuint index, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramParameter4fNV(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramParameters4dvNV(GLenum target, GLuint index, GLsizei count, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glProgramParameters4fvNV(GLenum target, GLuint index, GLsizei count, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glRequestResidentProgramsNV(GLsizei n, const GLuint *programs){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribPointerNV(GLuint index, GLint fsize, GLenum type, GLsizei stride, const void *pointer){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1dNV(GLuint index, GLdouble x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1dvNV(GLuint index, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1fNV(GLuint index, GLfloat x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1fvNV(GLuint index, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1sNV(GLuint index, GLshort x){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib1svNV(GLuint index, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2dvNV(GLuint index, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2fvNV(GLuint index, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib2svNV(GLuint index, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3dvNV(GLuint index, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3fvNV(GLuint index, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib3svNV(GLuint index, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4dvNV(GLuint index, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4fvNV(GLuint index, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4svNV(GLuint index, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttrib4ubvNV(GLuint index, const GLubyte *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs1dvNV(GLuint index, GLsizei count, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs1fvNV(GLuint index, GLsizei count, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs1svNV(GLuint index, GLsizei count, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs2dvNV(GLuint index, GLsizei count, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs2fvNV(GLuint index, GLsizei count, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs2svNV(GLuint index, GLsizei count, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs3dvNV(GLuint index, GLsizei count, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs3fvNV(GLuint index, GLsizei count, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs3svNV(GLuint index, GLsizei count, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs4dvNV(GLuint index, GLsizei count, const GLdouble *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs4fvNV(GLuint index, GLsizei count, const GLfloat *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs4svNV(GLuint index, GLsizei count, const GLshort *v){ TRACE("*"); UNIMPLEMENTED(); } +void APIENTRY glVertexAttribs4ubvNV(GLuint index, GLsizei count, const GLubyte *v){ TRACE("*"); UNIMPLEMENTED(); } + +GLboolean APIENTRY wgl1fx34c0da() +{ + return -1;// UNIMPLEMENTED(); +} BOOL WINAPI wglSwapIntervalEXT(int interval) { @@ -7881,11 +9999,18 @@ drawSurface->setSwapInterval(interval); return TRUE; } - + SetLastError(ERROR_DC_NOT_FOUND); return FALSE; } +int WINAPI wglGetSwapIntervalEXT(void) +{ + TRACE("(*)"); + UNIMPLEMENTED(); + return 1; +} + int WINAPI wglChoosePixelFormat(HDC hdc, const PIXELFORMATDESCRIPTOR *ppfd) { TRACE("(*)"); @@ -7928,7 +10053,7 @@ return TRUE; } - return FALSE; + return TRUE;// FALSE; } BOOL WINAPI wglDescribeLayerPlane(HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR) @@ -7937,6 +10062,40 @@ return FALSE; } + + +void APIENTRY glVertexAttrib4bv(GLuint index, const GLbyte *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib4iv(GLuint index, const GLint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib4sv(GLuint index, const GLshort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib4ubv(GLuint index, const GLubyte *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib4uiv(GLuint index, const GLuint *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} +void APIENTRY glVertexAttrib4usv(GLuint index, const GLushort *v) +{ + TRACE("*"); + UNIMPLEMENTED(); +} + + int WINAPI wglDescribePixelFormat(HDC hdc, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd) { TRACE("(*)"); @@ -8006,9 +10165,16 @@ { TRACE("(*)"); - return "GL_ARB_framebuffer_object " - "WGL_EXT_extensions_string " - "WGL_EXT_swap_control"; + return "GL_ARB_texture_non_power_of_two " + "GL_ARB_framebuffer_object " + "GL_ARB_fragment_shader " + "GL_ARB_vertex_shader " + "GL_ARB_shader_objects " + "GL_ARB_shading_language_100 " + "GL_EXT_framebuffer_object"; + //"wglCreateContextAttribsARB"; + //NVIDIA CARD + "WGL_ARB_buffer_region WGL_ARB_create_context WGL_ARB_create_context_profile WGL_ARB_create_context_robustness WGL_ARB_context_flush_control WGL_ARB_extensions_string WGL_ARB_make_current_read WGL_ARB_multisample WGL_ARB_pbuffer WGL_ARB_pixel_format WGL_ARB_pixel_format_float WGL_ARB_render_texture WGL_ATI_pixel_format_float WGL_EXT_create_context_es_profile WGL_EXT_create_context_es2_profile WGL_EXT_extensions_string WGL_EXT_framebuffer_sRGB WGL_EXT_pixel_format_packed_float WGL_EXT_swap_control WGL_EXT_swap_control_tear WGL_NVX_DX_interop WGL_NV_DX_interop WGL_NV_DX_interop2 WGL_NV_copy_image WGL_NV_delay_before_swap WGL_NV_float_buffer WGL_NV_gpu_affinity WGL_NV_multisample_coverage WGL_NV_render_depth_texture WGL_NV_render_texture_rectangle WGL_NV_swap_group WGL_NV_video_capture"; } const char *WINAPI wglGetExtensionsStringEXT() @@ -8029,8 +10195,8 @@ static const Extension glExtensions[] = { - #define EXT(function) {#function, (PROC)function} - +#define EXT(function) {#function, (PROC)function} + // Core 2.1 EXT(glDrawRangeElements), EXT(glTexImage3D), @@ -8182,7 +10348,7 @@ EXT(glFinishFenceNV), EXT(glIsFenceNV), EXT(glGetFenceivNV), - + EXT(glIsRenderbuffer), EXT(glBindRenderbuffer), EXT(glDeleteRenderbuffers), @@ -8206,6 +10372,999 @@ EXT(glDepthRangef), EXT(glClearDepthf), + // UNIMPLEMENTED + EXT(glVertexAttrib1dv), + EXT(glVertexAttrib1fv), + EXT(glVertexAttrib1sv), + EXT(glVertexAttrib2dv), + EXT(glVertexAttrib2fv), + EXT(glVertexAttrib2sv), + EXT(glVertexAttrib3dv), + EXT(glVertexAttrib3fv), + EXT(glVertexAttrib3sv), + EXT(glVertexAttrib4Nbv), + EXT(glVertexAttrib4Niv), + EXT(glVertexAttrib4Nsv), + EXT(glVertexAttrib4Nubv), + EXT(glVertexAttrib4Nuiv), + EXT(glVertexAttrib4Nusv), + EXT(glVertexAttrib4bv), + EXT(glVertexAttrib4dv), + EXT(glVertexAttrib4iv), + EXT(glVertexAttrib4sv), + EXT(glVertexAttrib4ubv), + EXT(glVertexAttrib4uiv), + EXT(glVertexAttrib4usv), + EXT(glVertexAttrib4fv), + EXT(glFogCoordfv), + EXT(glFogCoorddv), + EXT(glMultiDrawElements), + EXT(glSecondaryColor3bv), + EXT(glSecondaryColor3dv), + EXT(glSecondaryColor3fv), + EXT(glSecondaryColor3i), + EXT(glSecondaryColor3iv), + EXT(glSecondaryColor3s), + EXT(glSecondaryColor3sv), + EXT(glSecondaryColor3ubv), + EXT(glSecondaryColor3ui), + EXT(glSecondaryColor3uiv), + EXT(glSecondaryColor3us), + EXT(glSecondaryColor3usv), + EXT(glWindowPos2s), + EXT(glWindowPos2dv), + EXT(glWindowPos2fv), + EXT(glWindowPos2iv), + EXT(glWindowPos2sv), + EXT(glWindowPos3s), + EXT(glWindowPos3dv), + EXT(glWindowPos3fv), + EXT(glWindowPos3iv), + EXT(glWindowPos3sv), + EXT(glMultiTexCoord1dv), + EXT(glMultiTexCoord1fv), + EXT(glMultiTexCoord1i), + EXT(glMultiTexCoord1iv), + EXT(glMultiTexCoord1s), + EXT(glMultiTexCoord1sv), + EXT(glMultiTexCoord2dv), + EXT(glMultiTexCoord2fv), + EXT(glMultiTexCoord2i), + EXT(glMultiTexCoord2iv), + EXT(glMultiTexCoord2s), + EXT(glMultiTexCoord2sv), + EXT(glMultiTexCoord3dv), + EXT(glMultiTexCoord3fv), + EXT(glMultiTexCoord3i), + EXT(glMultiTexCoord3iv), + EXT(glMultiTexCoord3s), + EXT(glMultiTexCoord3sv), + EXT(glMultiTexCoord4dv), + EXT(glMultiTexCoord4fv), + EXT(glMultiTexCoord4i), + EXT(glMultiTexCoord4iv), + EXT(glMultiTexCoord4s), + EXT(glMultiTexCoord4sv), + EXT(glBlendEquationEXT), + EXT(glBlendFuncSeparateEXT), + EXT(glSecondaryColor3bEXT), + EXT(glSecondaryColor3bvEXT), + EXT(glSecondaryColor3dEXT), + EXT(glSecondaryColor3dvEXT), + EXT(glSecondaryColor3fEXT), + EXT(glSecondaryColor3fvEXT), + EXT(glSecondaryColor3iEXT), + EXT(glSecondaryColor3ivEXT), + EXT(glSecondaryColor3sEXT), + EXT(glSecondaryColor3svEXT), + EXT(glSecondaryColor3ubEXT), + EXT(glSecondaryColor3ubvEXT), + EXT(glSecondaryColor3uiEXT), + EXT(glSecondaryColor3uivEXT), + EXT(glSecondaryColor3usEXT), + EXT(glSecondaryColor3usvEXT), + EXT(glSecondaryColorPointerEXT), + EXT(glBlitFramebufferEXT), + EXT(glRenderbufferStorageMultisampleEXT), + EXT(glSecondaryColor3i), + EXT(glSecondaryColor3s), + EXT(glSecondaryColor3ui), + EXT(glSecondaryColor3us), + EXT(glSecondaryColor3bv), + EXT(glSecondaryColor3fv), + EXT(glSecondaryColor3dv), + EXT(glSecondaryColor3ubv), + EXT(glSecondaryColor3iv), + EXT(glSecondaryColor3sv), + EXT(glSecondaryColor3uiv), + EXT(glSecondaryColor3usv), + EXT(glBindAttribLocationARB), + EXT(glGetActiveAttribARB), + EXT(glGetAttribLocationARB), + EXT(glAttachObjectARB), + EXT(glCompileShaderARB), + EXT(glCreateProgramObjectARB), + EXT(glCreateShaderObjectARB), + EXT(glDeleteObjectARB), + EXT(glDetachObjectARB), + EXT(glGetActiveUniformARB), + EXT(glGetAttachedObjectsARB), + EXT(glGetHandleARB), + EXT(glGetInfoLogARB), + EXT(glGetObjectParameterfvARB), + EXT(glGetObjectParameterivARB), + EXT(glGetShaderSourceARB), + EXT(glGetUniformLocationARB), + EXT(glGetUniformfvARB), + EXT(glGetUniformivARB), + EXT(glLinkProgramARB), + EXT(glShaderSourceARB), + EXT(glUniform1fARB), + EXT(glUniform1fvARB), + EXT(glUniform1iARB), + EXT(glUniform1ivARB), + EXT(glUniform2fARB), + EXT(glUniform2fvARB), + EXT(glUniform2iARB), + EXT(glUniform2ivARB), + EXT(glUniform3fARB), + EXT(glUniform3fvARB), + EXT(glUniform3iARB), + EXT(glUniform3ivARB), + EXT(glUniform4fARB), + EXT(glUniform4fvARB), + EXT(glUniform4iARB), + EXT(glUniform4ivARB), + EXT(glUniformMatrix2fvARB), + EXT(glUniformMatrix3fvARB), + EXT(glUniformMatrix4fvARB), + EXT(glUseProgramObjectARB), + EXT(glValidateProgramARB), + EXT(glIsRenderbufferEXT), + EXT(glBindRenderbufferEXT), + EXT(glDeleteRenderbuffersEXT), + EXT(glGenRenderbuffersEXT), + EXT(glRenderbufferStorageEXT), + EXT(glGetRenderbufferParameterivEXT), + EXT(glIsFramebufferEXT), + EXT(glBindFramebufferEXT), + EXT(glDeleteFramebuffersEXT), + EXT(glGenFramebuffersEXT), + EXT(glCheckFramebufferStatusEXT), + EXT(glFramebufferTexture1DEXT), + EXT(glFramebufferTexture2DEXT), + EXT(glFramebufferTexture3DEXT), + EXT(glFramebufferRenderbufferEXT), + EXT(glGetFramebufferAttachmentParameterivEXT), + EXT(glGenerateMipmapEXT), + EXT(glColorMaski), + EXT(glGetBooleani_v), + EXT(glGetIntegeri_v), + EXT(glEnablei), + EXT(glIsEnabledi), + EXT(glDisablei), + EXT(glBeginTransformFeedback), + EXT(glEndTransformFeedback), + EXT(glBindBufferRange), + EXT(glBindBufferBase), + EXT(glTransformFeedbackVaryings), + EXT(glGetTransformFeedbackVarying), + EXT(glClampColor), + EXT(glBeginConditionalRender), + EXT(glEndConditionalRender), + EXT(glVertexAttribIPointer), + EXT(glGetVertexAttribIiv), + EXT(glGetVertexAttribIuiv), + EXT(glVertexAttribI2i), + EXT(glVertexAttribI1i), + EXT(glVertexAttribI3i), + EXT(glVertexAttribI4i), + EXT(glVertexAttribI1ui), + EXT(glVertexAttribI2ui), + EXT(glVertexAttribI3ui), + EXT(glVertexAttribI4ui), + EXT(glVertexAttribI1iv), + EXT(glVertexAttribI2iv), + EXT(glVertexAttribI3iv), + EXT(glVertexAttribI4iv), + EXT(glVertexAttribI1uiv), + EXT(glVertexAttribI2uiv), + EXT(glVertexAttribI3uiv), + EXT(glVertexAttribI4uiv), + EXT(glVertexAttribI4bv), + EXT(glVertexAttribI4sv), + EXT(glVertexAttribI4ubv), + EXT(glVertexAttribI4usv), + EXT(glGetUniformuiv), + EXT(glBindFragDataLocation), + EXT(glGetFragDataLocation), + EXT(glUniform1ui), + EXT(glUniform2ui), + EXT(glUniform3ui), + EXT(glUniform4ui), + EXT(glUniform1uiv), + EXT(glUniform2uiv), + EXT(glUniform3uiv), + EXT(glUniform4uiv), + EXT(glTexParameterIiv), + EXT(glTexParameterIuiv), + EXT(glGetTexParameterIiv), + EXT(glGetTexParameterIuiv), + EXT(glClearBufferiv), + EXT(glClearBufferuiv), + EXT(glClearBufferfv), + EXT(glClearBufferfi), + EXT(glGetStringi), + //EXT(wglCreateContextAttribsARB), + EXT(glMapNamedBufferEXT), + EXT(glUnmapNamedBufferEXT), + EXT(glGetNamedBufferParameterivEXT), + EXT(glGetTextureImageEXT), + EXT(glTextureSubImage2DEXT), + EXT(glTextureSubImage3DEXT), + + + EXT(glcuR0d4nX), + EXT(wgl1fx34c0da), + + + //MORE unimplemented() + EXT(glCopyTexImage1DEXT), + EXT(glCopyTexImage2DEXT), + EXT(glCopyTexSubImage1DEXT), + EXT(glCopyTexSubImage2DEXT), + EXT(glCopyTexSubImage3DEXT), + EXT(glPolygonOffsetEXT), + EXT(glTexSubImage1DEXT), + EXT(glTexSubImage2DEXT), + EXT(glTexImage3DEXT), + EXT(glTexSubImage3DEXT), + EXT(glAreTexturesResidentEXT), + EXT(glBindTextureEXT), + EXT(glDeleteTexturesEXT), + EXT(glGenTexturesEXT), + EXT(glIsTextureEXT), + EXT(glPrioritizeTexturesEXT), + EXT(glDrawRangeElementsEXT), + EXT(glSampleCoverageARB), + EXT(glActiveTextureARB), + EXT(glClientActiveTextureARB), + EXT(glMultiTexCoord1dARB), + EXT(glMultiTexCoord1dvARB), + EXT(glMultiTexCoord1fARB), + EXT(glMultiTexCoord1fvARB), + EXT(glMultiTexCoord1iARB), + EXT(glMultiTexCoord1ivARB), + EXT(glMultiTexCoord1sARB), + EXT(glMultiTexCoord1svARB), + EXT(glMultiTexCoord2dARB), + EXT(glMultiTexCoord2dvARB), + EXT(glMultiTexCoord2fARB), + EXT(glMultiTexCoord2fvARB), + EXT(glMultiTexCoord2iARB), + EXT(glMultiTexCoord2ivARB), + EXT(glMultiTexCoord2sARB), + EXT(glMultiTexCoord2svARB), + EXT(glMultiTexCoord3dARB), + EXT(glMultiTexCoord3dvARB), + EXT(glMultiTexCoord3fARB), + EXT(glMultiTexCoord3fvARB), + EXT(glMultiTexCoord3iARB), + EXT(glMultiTexCoord3ivARB), + EXT(glMultiTexCoord3sARB), + EXT(glMultiTexCoord3svARB), + EXT(glMultiTexCoord4dARB), + EXT(glMultiTexCoord4dvARB), + EXT(glMultiTexCoord4fARB), + EXT(glMultiTexCoord4fvARB), + EXT(glMultiTexCoord4iARB), + EXT(glMultiTexCoord4ivARB), + EXT(glMultiTexCoord4sARB), + EXT(glMultiTexCoord4svARB), + EXT(glCompressedTexImage3DARB), + EXT(glCompressedTexImage2DARB), + EXT(glCompressedTexImage1DARB), + EXT(glCompressedTexSubImage3DARB), + EXT(glCompressedTexSubImage2DARB), + EXT(glCompressedTexSubImage1DARB), + EXT(glGetCompressedTexImageARB), + EXT(glPointParameterfARB), + EXT(glPointParameterfvARB), + EXT(glBlendColorEXT), + EXT(glFogCoordfEXT), + EXT(glFogCoordfvEXT), + EXT(glFogCoorddEXT), + EXT(glFogCoorddvEXT), + EXT(glFogCoordPointerEXT), + EXT(glMultiDrawArraysEXT), + EXT(glMultiDrawElementsEXT), + EXT(glGenQueriesARB), + EXT(glDeleteQueriesARB), + EXT(glIsQueryARB), + EXT(glBeginQueryARB), + EXT(glEndQueryARB), + EXT(glGetQueryivARB), + EXT(glGetQueryObjectivARB), + EXT(glGetQueryObjectuivARB), + EXT(glBindBufferARB), + EXT(glDeleteBuffersARB), + EXT(glGenBuffersARB), + EXT(glIsBufferARB), + EXT(glBufferDataARB), + EXT(glBufferSubDataARB), + EXT(glGetBufferSubDataARB), + EXT(glMapBufferARB), + EXT(glUnmapBufferARB), + EXT(glGetBufferParameterivARB), + EXT(glGetBufferPointervARB), + EXT(glDrawBuffersARB), + EXT(glBlendEquationSeparateEXT), + EXT(glActiveStencilFaceEXT), + EXT(glClampColorARB), + EXT(glDrawArraysInstancedARB), + EXT(glDrawElementsInstancedARB), + EXT(glProgramParameteriARB), + EXT(glFramebufferTextureARB), + EXT(glFramebufferTextureLayerARB), + EXT(glFramebufferTextureFaceARB), + EXT(glColorTable), + EXT(glColorTableParameterfv), + EXT(glColorTableParameteriv), + EXT(glCopyColorTable), + EXT(glGetColorTable), + EXT(glGetColorTableParameterfv), + EXT(glGetColorTableParameteriv), + EXT(glColorSubTable), + EXT(glCopyColorSubTable), + EXT(glConvolutionFilter1D), + EXT(glConvolutionFilter2D), + EXT(glConvolutionParameterf), + EXT(glConvolutionParameterfv), + EXT(glConvolutionParameteri), + EXT(glConvolutionParameteriv), + EXT(glCopyConvolutionFilter1D), + EXT(glCopyConvolutionFilter2D), + EXT(glGetConvolutionFilter), + EXT(glGetConvolutionParameterfv), + EXT(glGetConvolutionParameteriv), + EXT(glGetSeparableFilter), + EXT(glSeparableFilter2D), + EXT(glGetHistogram), + EXT(glGetHistogramParameterfv), + EXT(glGetHistogramParameteriv), + EXT(glGetMinmax), + EXT(glGetMinmaxParameterfv), + EXT(glGetMinmaxParameteriv), + EXT(glHistogram), + EXT(glMinmax), + EXT(glResetHistogram), + EXT(glResetMinmax), + EXT(glVertexAttribDivisorARB), + EXT(glMapBufferRange), + EXT(glFlushMappedBufferRange), + EXT(glTexBufferARB), + EXT(glBindVertexArray), + EXT(glDeleteVertexArrays), + EXT(glGenVertexArrays), + EXT(glIsVertexArray), + EXT(glProgramStringARB), + EXT(glBindProgramARB), + EXT(glDeleteProgramsARB), + EXT(glGenProgramsARB), + EXT(glProgramEnvParameter4dARB), + EXT(glProgramEnvParameter4dvARB), + EXT(glProgramEnvParameter4fARB), + EXT(glProgramEnvParameter4fvARB), + EXT(glProgramLocalParameter4dARB), + EXT(glProgramLocalParameter4dvARB), + EXT(glProgramLocalParameter4fARB), + EXT(glProgramLocalParameter4fvARB), + EXT(glGetProgramEnvParameterdvARB), + EXT(glGetProgramEnvParameterfvARB), + EXT(glGetProgramLocalParameterdvARB), + EXT(glGetProgramLocalParameterfvARB), + EXT(glGetProgramivARB), + EXT(glGetProgramStringARB), + EXT(glIsProgramARB), + EXT(glEnableVertexAttribArrayARB), + EXT(glDisableVertexAttribArrayARB), + EXT(glGetVertexAttribdvARB), + EXT(glGetVertexAttribfvARB), + EXT(glGetVertexAttribivARB), + EXT(glGetVertexAttribPointervARB), + EXT(glVertexAttrib1dARB), + EXT(glVertexAttrib1dvARB), + EXT(glVertexAttrib1fARB), + EXT(glVertexAttrib1fvARB), + EXT(glVertexAttrib1sARB), + EXT(glVertexAttrib1svARB), + EXT(glVertexAttrib2dARB), + EXT(glVertexAttrib2dvARB), + EXT(glVertexAttrib2fARB), + EXT(glVertexAttrib2fvARB), + EXT(glVertexAttrib2sARB), + EXT(glVertexAttrib2svARB), + EXT(glVertexAttrib3dARB), + EXT(glVertexAttrib3dvARB), + EXT(glVertexAttrib3fARB), + EXT(glVertexAttrib3fvARB), + EXT(glVertexAttrib3sARB), + EXT(glVertexAttrib3svARB), + EXT(glVertexAttrib4NbvARB), + EXT(glVertexAttrib4NivARB), + EXT(glVertexAttrib4NsvARB), + EXT(glVertexAttrib4NubARB), + EXT(glVertexAttrib4NubvARB), + EXT(glVertexAttrib4NuivARB), + EXT(glVertexAttrib4NusvARB), + EXT(glVertexAttrib4bvARB), + EXT(glVertexAttrib4dARB), + EXT(glVertexAttrib4dvARB), + EXT(glVertexAttrib4fARB), + EXT(glVertexAttrib4fvARB), + EXT(glVertexAttrib4ivARB), + EXT(glVertexAttrib4sARB), + EXT(glVertexAttrib4svARB), + EXT(glVertexAttrib4ubvARB), + EXT(glVertexAttrib4uivARB), + EXT(glVertexAttrib4usvARB), + EXT(glVertexAttribPointerARB), + EXT(glEnableVertexAttribArrayARB), + EXT(glDisableVertexAttribArrayARB), + EXT(glWindowPos2dARB), + EXT(glWindowPos2dvARB), + EXT(glWindowPos2fARB), + EXT(glWindowPos2fvARB), + EXT(glWindowPos2iARB), + EXT(glWindowPos2ivARB), + EXT(glWindowPos2sARB), + EXT(glWindowPos2svARB), + EXT(glWindowPos3dARB), + EXT(glWindowPos3dvARB), + EXT(glWindowPos3fARB), + EXT(glWindowPos3fvARB), + EXT(glWindowPos3iARB), + EXT(glWindowPos3ivARB), + EXT(glWindowPos3sARB), + EXT(glWindowPos3svARB), + EXT(glDrawBuffersATI), + EXT(glUniformBufferEXT), + EXT(glGetUniformBufferSizeEXT), + EXT(glGetUniformOffsetEXT), + EXT(glLockArraysEXT), + EXT(glUnlockArraysEXT), + EXT(glDepthBoundsEXT), + EXT(glMatrixLoadfEXT), + EXT(glMatrixLoaddEXT), + EXT(glMatrixMultfEXT), + EXT(glMatrixMultdEXT), + EXT(glMatrixLoadIdentityEXT), + EXT(glMatrixRotatefEXT), + EXT(glMatrixRotatedEXT), + EXT(glMatrixScalefEXT), + EXT(glMatrixScaledEXT), + EXT(glMatrixTranslatefEXT), + EXT(glMatrixTranslatedEXT), + EXT(glMatrixFrustumEXT), + EXT(glMatrixOrthoEXT), + EXT(glMatrixPopEXT), + EXT(glMatrixPushEXT), + EXT(glClientAttribDefaultEXT), + EXT(glPushClientAttribDefaultEXT), + EXT(glTextureParameterfEXT), + EXT(glTextureParameterfvEXT), + EXT(glTextureParameteriEXT), + EXT(glTextureParameterivEXT), + EXT(glTextureImage1DEXT), + EXT(glTextureImage2DEXT), + EXT(glTextureSubImage1DEXT), + EXT(glTextureSubImage2DEXT), + EXT(glCopyTextureImage1DEXT), + EXT(glCopyTextureImage2DEXT), + EXT(glCopyTextureSubImage1DEXT), + EXT(glCopyTextureSubImage2DEXT), + EXT(glGetTextureImageEXT), + EXT(glGetTextureParameterfvEXT), + EXT(glGetTextureParameterivEXT), + EXT(glGetTextureLevelParameterfvEXT), + EXT(glGetTextureLevelParameterivEXT), + EXT(glTextureImage3DEXT), + EXT(glTextureSubImage3DEXT), + EXT(glCopyTextureSubImage3DEXT), + EXT(glBindMultiTextureEXT), + EXT(glMultiTexCoordPointerEXT), + EXT(glMultiTexEnvfEXT), + EXT(glMultiTexEnvfvEXT), + EXT(glMultiTexEnviEXT), + EXT(glMultiTexEnvivEXT), + EXT(glMultiTexGendEXT), + EXT(glMultiTexGendvEXT), + EXT(glMultiTexGenfEXT), + EXT(glMultiTexGenfvEXT), + EXT(glMultiTexGeniEXT), + EXT(glMultiTexGenivEXT), + EXT(glGetMultiTexEnvfvEXT), + EXT(glGetMultiTexEnvivEXT), + EXT(glGetMultiTexGendvEXT), + EXT(glGetMultiTexGenfvEXT), + EXT(glGetMultiTexGenivEXT), + EXT(glMultiTexParameteriEXT), + EXT(glMultiTexParameterivEXT), + EXT(glMultiTexParameterfEXT), + EXT(glMultiTexParameterfvEXT), + EXT(glMultiTexImage1DEXT), + EXT(glMultiTexImage2DEXT), + EXT(glMultiTexSubImage1DEXT), + EXT(glMultiTexSubImage2DEXT), + EXT(glCopyMultiTexImage1DEXT), + EXT(glCopyMultiTexImage2DEXT), + EXT(glCopyMultiTexSubImage1DEXT), + EXT(glCopyMultiTexSubImage2DEXT), + EXT(glGetMultiTexImageEXT), + EXT(glGetMultiTexParameterfvEXT), + EXT(glGetMultiTexParameterivEXT), + EXT(glGetMultiTexLevelParameterfvEXT), + EXT(glGetMultiTexLevelParameterivEXT), + EXT(glMultiTexImage3DEXT), + EXT(glMultiTexSubImage3DEXT), + EXT(glCopyMultiTexSubImage3DEXT), + EXT(glEnableClientStateIndexedEXT), + EXT(glDisableClientStateIndexedEXT), + EXT(glGetFloatIndexedvEXT), + EXT(glGetDoubleIndexedvEXT), + EXT(glGetPointerIndexedvEXT), + EXT(glEnableIndexedEXT), + EXT(glDisableIndexedEXT), + EXT(glIsEnabledIndexedEXT), + EXT(glGetIntegerIndexedvEXT), + EXT(glGetBooleanIndexedvEXT), + EXT(glCompressedTextureImage3DEXT), + EXT(glCompressedTextureImage2DEXT), + EXT(glCompressedTextureImage1DEXT), + EXT(glCompressedTextureSubImage3DEXT), + EXT(glCompressedTextureSubImage2DEXT), + EXT(glCompressedTextureSubImage1DEXT), + EXT(glGetCompressedTextureImageEXT), + EXT(glCompressedMultiTexImage3DEXT), + EXT(glCompressedMultiTexImage2DEXT), + EXT(glCompressedMultiTexImage1DEXT), + EXT(glCompressedMultiTexSubImage3DEXT), + EXT(glCompressedMultiTexSubImage2DEXT), + EXT(glCompressedMultiTexSubImage1DEXT), + EXT(glGetCompressedMultiTexImageEXT), + EXT(glMatrixLoadTransposefEXT), + EXT(glMatrixLoadTransposedEXT), + EXT(glMatrixMultTransposefEXT), + EXT(glMatrixMultTransposedEXT), + EXT(glNamedBufferDataEXT), + EXT(glNamedBufferSubDataEXT), + EXT(glMapNamedBufferEXT), + EXT(glUnmapNamedBufferEXT), + EXT(glGetNamedBufferParameterivEXT), + EXT(glGetNamedBufferPointervEXT), + EXT(glGetNamedBufferSubDataEXT), + EXT(glProgramUniform1fEXT), + EXT(glProgramUniform2fEXT), + EXT(glProgramUniform3fEXT), + EXT(glProgramUniform4fEXT), + EXT(glProgramUniform1iEXT), + EXT(glProgramUniform2iEXT), + EXT(glProgramUniform3iEXT), + EXT(glProgramUniform4iEXT), + EXT(glProgramUniform1fvEXT), + EXT(glProgramUniform2fvEXT), + EXT(glProgramUniform3fvEXT), + EXT(glProgramUniform4fvEXT), + EXT(glProgramUniform1ivEXT), + EXT(glProgramUniform2ivEXT), + EXT(glProgramUniform3ivEXT), + EXT(glProgramUniform4ivEXT), + EXT(glProgramUniformMatrix2fvEXT), + EXT(glProgramUniformMatrix3fvEXT), + EXT(glProgramUniformMatrix4fvEXT), + EXT(glProgramUniformMatrix2x3fvEXT), + EXT(glProgramUniformMatrix3x2fvEXT), + EXT(glProgramUniformMatrix2x4fvEXT), + EXT(glProgramUniformMatrix4x2fvEXT), + EXT(glProgramUniformMatrix3x4fvEXT), + EXT(glProgramUniformMatrix4x3fvEXT), + EXT(glTextureBufferEXT), + EXT(glMultiTexBufferEXT), + EXT(glTextureParameterIivEXT), + EXT(glTextureParameterIuivEXT), + EXT(glGetTextureParameterIivEXT), + EXT(glGetTextureParameterIuivEXT), + EXT(glMultiTexParameterIivEXT), + EXT(glMultiTexParameterIuivEXT), + EXT(glGetMultiTexParameterIivEXT), + EXT(glGetMultiTexParameterIuivEXT), + EXT(glProgramUniform1uiEXT), + EXT(glProgramUniform2uiEXT), + EXT(glProgramUniform3uiEXT), + EXT(glProgramUniform4uiEXT), + EXT(glProgramUniform1uivEXT), + EXT(glProgramUniform2uivEXT), + EXT(glProgramUniform3uivEXT), + EXT(glProgramUniform4uivEXT), + EXT(glNamedProgramLocalParameters4fvEXT), + EXT(glNamedProgramLocalParameterI4iEXT), + EXT(glNamedProgramLocalParameterI4ivEXT), + EXT(glNamedProgramLocalParametersI4ivEXT), + EXT(glNamedProgramLocalParameterI4uiEXT), + EXT(glNamedProgramLocalParameterI4uivEXT), + EXT(glNamedProgramLocalParametersI4uivEXT), + EXT(glGetNamedProgramLocalParameterIivEXT), + EXT(glGetNamedProgramLocalParameterIuivEXT), + EXT(glEnableClientStateiEXT), + EXT(glDisableClientStateiEXT), + EXT(glGetFloati_vEXT), + EXT(glGetDoublei_vEXT), + EXT(glGetPointeri_vEXT), + EXT(glNamedProgramStringEXT), + EXT(glNamedProgramLocalParameter4dEXT), + EXT(glNamedProgramLocalParameter4dvEXT), + EXT(glNamedProgramLocalParameter4fEXT), + EXT(glNamedProgramLocalParameter4fvEXT), + EXT(glGetNamedProgramLocalParameterdvEXT), + EXT(glGetNamedProgramLocalParameterfvEXT), + EXT(glGetNamedProgramivEXT), + EXT(glGetNamedProgramStringEXT), + EXT(glNamedRenderbufferStorageEXT), + EXT(glGetNamedRenderbufferParameterivEXT), + EXT(glNamedRenderbufferStorageMultisampleEXT), + EXT(glNamedRenderbufferStorageMultisampleCoverageEXT), + EXT(glCheckNamedFramebufferStatusEXT), + EXT(glNamedFramebufferTexture1DEXT), + EXT(glNamedFramebufferTexture2DEXT), + EXT(glNamedFramebufferTexture3DEXT), + EXT(glNamedFramebufferRenderbufferEXT), + EXT(glGetNamedFramebufferAttachmentParameterivEXT), + EXT(glGenerateTextureMipmapEXT), + EXT(glGenerateMultiTexMipmapEXT), + EXT(glFramebufferDrawBufferEXT), + EXT(glFramebufferDrawBuffersEXT), + EXT(glFramebufferReadBufferEXT), + EXT(glGetFramebufferParameterivEXT), + EXT(glNamedCopyBufferSubDataEXT), + EXT(glNamedFramebufferTextureEXT), + EXT(glNamedFramebufferTextureLayerEXT), + EXT(glNamedFramebufferTextureFaceEXT), + EXT(glTextureRenderbufferEXT), + EXT(glMultiTexRenderbufferEXT), + EXT(glVertexArrayVertexOffsetEXT), + EXT(glVertexArrayColorOffsetEXT), + EXT(glVertexArrayEdgeFlagOffsetEXT), + EXT(glVertexArrayIndexOffsetEXT), + EXT(glVertexArrayNormalOffsetEXT), + EXT(glVertexArrayTexCoordOffsetEXT), + EXT(glVertexArrayMultiTexCoordOffsetEXT), + EXT(glVertexArrayFogCoordOffsetEXT), + EXT(glVertexArraySecondaryColorOffsetEXT), + EXT(glVertexArrayVertexAttribOffsetEXT), + EXT(glVertexArrayVertexAttribIOffsetEXT), + EXT(glEnableVertexArrayEXT), + EXT(glDisableVertexArrayEXT), + EXT(glEnableVertexArrayAttribEXT), + EXT(glDisableVertexArrayAttribEXT), + EXT(glGetVertexArrayIntegervEXT), + EXT(glGetVertexArrayPointervEXT), + EXT(glGetVertexArrayIntegeri_vEXT), + EXT(glGetVertexArrayPointeri_vEXT), + EXT(glMapNamedBufferRangeEXT), + EXT(glFlushMappedNamedBufferRangeEXT), + EXT(glNamedBufferStorageEXT), + EXT(glClearNamedBufferDataEXT), + EXT(glClearNamedBufferSubDataEXT), + EXT(glNamedFramebufferParameteriEXT), + EXT(glGetNamedFramebufferParameterivEXT), + EXT(glProgramUniform1dEXT), + EXT(glProgramUniform2dEXT), + EXT(glProgramUniform3dEXT), + EXT(glProgramUniform4dEXT), + EXT(glProgramUniform1dvEXT), + EXT(glProgramUniform2dvEXT), + EXT(glProgramUniform3dvEXT), + EXT(glProgramUniform4dvEXT), + EXT(glProgramUniformMatrix2dvEXT), + EXT(glProgramUniformMatrix3dvEXT), + EXT(glProgramUniformMatrix4dvEXT), + EXT(glProgramUniformMatrix2x3dvEXT), + EXT(glProgramUniformMatrix2x4dvEXT), + EXT(glProgramUniformMatrix3x2dvEXT), + EXT(glProgramUniformMatrix3x4dvEXT), + EXT(glProgramUniformMatrix4x2dvEXT), + EXT(glProgramUniformMatrix4x3dvEXT), + EXT(glTextureBufferRangeEXT), + EXT(glTextureStorage1DEXT), + EXT(glTextureStorage2DEXT), + EXT(glTextureStorage3DEXT), + EXT(glTextureStorage2DMultisampleEXT), + EXT(glTextureStorage3DMultisampleEXT), + EXT(glVertexArrayBindVertexBufferEXT), + EXT(glVertexArrayVertexAttribFormatEXT), + EXT(glVertexArrayVertexAttribIFormatEXT), + EXT(glVertexArrayVertexAttribLFormatEXT), + EXT(glVertexArrayVertexAttribBindingEXT), + EXT(glVertexArrayVertexBindingDivisorEXT), + EXT(glVertexArrayVertexAttribLOffsetEXT), + EXT(glTexturePageCommitmentEXT), + EXT(glVertexArrayVertexAttribDivisorEXT), + EXT(glColorMaskIndexedEXT), + EXT(glDrawArraysInstancedEXT), + EXT(glDrawElementsInstancedEXT), + EXT(glProgramParameteriEXT), + EXT(glFramebufferTextureEXT), + EXT(glFramebufferTextureLayerEXT), + EXT(glFramebufferTextureFaceEXT), + EXT(glProgramEnvParameters4fvEXT), + EXT(glProgramLocalParameters4fvEXT), + EXT(glGetUniformuivEXT), + EXT(glBindFragDataLocationEXT), + EXT(glGetFragDataLocationEXT), + EXT(glUniform1uiEXT), + EXT(glUniform2uiEXT), + EXT(glUniform3uiEXT), + EXT(glUniform4uiEXT), + EXT(glUniform1uivEXT), + EXT(glUniform2uivEXT), + EXT(glUniform3uivEXT), + EXT(glUniform4uivEXT), + EXT(glVertexAttribI1iEXT), + EXT(glVertexAttribI2iEXT), + EXT(glVertexAttribI3iEXT), + EXT(glVertexAttribI4iEXT), + EXT(glVertexAttribI1uiEXT), + EXT(glVertexAttribI2uiEXT), + EXT(glVertexAttribI3uiEXT), + EXT(glVertexAttribI4uiEXT), + EXT(glVertexAttribI1ivEXT), + EXT(glVertexAttribI2ivEXT), + EXT(glVertexAttribI3ivEXT), + EXT(glVertexAttribI4ivEXT), + EXT(glVertexAttribI1uivEXT), + EXT(glVertexAttribI2uivEXT), + EXT(glVertexAttribI3uivEXT), + EXT(glVertexAttribI4uivEXT), + EXT(glVertexAttribI4bvEXT), + EXT(glVertexAttribI4svEXT), + EXT(glVertexAttribI4ubvEXT), + EXT(glVertexAttribI4usvEXT), + EXT(glVertexAttribIPointerEXT), + EXT(glGetVertexAttribIivEXT), + EXT(glGetVertexAttribIuivEXT), + EXT(glPointParameterfEXT), + EXT(glPointParameterfvEXT), + EXT(glTexBufferEXT), + EXT(glTexParameterIivEXT), + EXT(glTexParameterIuivEXT), + EXT(glGetTexParameterIivEXT), + EXT(glGetTexParameterIuivEXT), + EXT(glClearColorIiEXT), + EXT(glClearColorIuiEXT), + EXT(glGetQueryObjecti64vEXT), + EXT(glGetQueryObjectui64vEXT), + EXT(glArrayElementEXT), + EXT(glColorPointerEXT), + EXT(glDrawArraysEXT), + EXT(glEdgeFlagPointerEXT), + EXT(glGetPointervEXT), + EXT(glIndexPointerEXT), + EXT(glNormalPointerEXT), + EXT(glTexCoordPointerEXT), + EXT(glVertexPointerEXT), + EXT(glBeginConditionalRenderNV), + EXT(glEndConditionalRenderNV), + EXT(glDepthRangedNV), + EXT(glClearDepthdNV), + EXT(glDepthBoundsdNV), + EXT(glGetMultisamplefvNV), + EXT(glSampleMaskIndexedNV), + EXT(glTexRenderbufferNV), + EXT(glProgramNamedParameter4fNV), + EXT(glProgramNamedParameter4fvNV), + EXT(glProgramNamedParameter4dNV), + EXT(glProgramNamedParameter4dvNV), + EXT(glGetProgramNamedParameterfvNV), + EXT(glGetProgramNamedParameterdvNV), + EXT(glRenderbufferStorageMultisampleCoverageNV), + EXT(glProgramLocalParameterI4iNV), + EXT(glProgramLocalParameterI4ivNV), + EXT(glProgramLocalParametersI4ivNV), + EXT(glProgramLocalParameterI4uiNV), + EXT(glProgramLocalParameterI4uivNV), + EXT(glProgramLocalParametersI4uivNV), + EXT(glProgramEnvParameterI4iNV), + EXT(glProgramEnvParameterI4ivNV), + EXT(glProgramEnvParametersI4ivNV), + EXT(glProgramEnvParameterI4uiNV), + EXT(glProgramEnvParameterI4uivNV), + EXT(glProgramEnvParametersI4uivNV), + EXT(glGetProgramLocalParameterIivNV), + EXT(glGetProgramLocalParameterIuivNV), + EXT(glGetProgramEnvParameterIivNV), + EXT(glGetProgramEnvParameterIuivNV), + EXT(glVertex2hNV), + EXT(glVertex2hvNV), + EXT(glVertex3hNV), + EXT(glVertex3hvNV), + EXT(glVertex4hNV), + EXT(glVertex4hvNV), + EXT(glNormal3hNV), + EXT(glNormal3hvNV), + EXT(glColor3hNV), + EXT(glColor3hvNV), + EXT(glColor4hNV), + EXT(glColor4hvNV), + EXT(glTexCoord1hNV), + EXT(glTexCoord1hvNV), + EXT(glTexCoord2hNV), + EXT(glTexCoord2hvNV), + EXT(glTexCoord3hNV), + EXT(glTexCoord3hvNV), + EXT(glTexCoord4hNV), + EXT(glTexCoord4hvNV), + EXT(glMultiTexCoord1hNV), + EXT(glMultiTexCoord1hvNV), + EXT(glMultiTexCoord2hNV), + EXT(glMultiTexCoord2hvNV), + EXT(glMultiTexCoord3hNV), + EXT(glMultiTexCoord3hvNV), + EXT(glMultiTexCoord4hNV), + EXT(glMultiTexCoord4hvNV), + EXT(glFogCoordhNV), + EXT(glFogCoordhvNV), + EXT(glSecondaryColor3hNV), + EXT(glSecondaryColor3hvNV), + EXT(glVertexWeighthNV), + EXT(glVertexWeighthvNV), + EXT(glVertexAttrib1hNV), + EXT(glVertexAttrib1hvNV), + EXT(glVertexAttrib2hNV), + EXT(glVertexAttrib2hvNV), + EXT(glVertexAttrib3hNV), + EXT(glVertexAttrib3hvNV), + EXT(glVertexAttrib4hNV), + EXT(glVertexAttrib4hvNV), + EXT(glVertexAttribs1hvNV), + EXT(glVertexAttribs2hvNV), + EXT(glVertexAttribs3hvNV), + EXT(glVertexAttribs4hvNV), + EXT(glBeginOcclusionQueryNV), + EXT(glEndOcclusionQueryNV), + EXT(glGetOcclusionQueryivNV), + EXT(glGetOcclusionQueryuivNV), + EXT(glGenOcclusionQueriesNV), + EXT(glDeleteOcclusionQueriesNV), + EXT(glIsOcclusionQueryNV), + EXT(glProgramBufferParametersfvNV), + EXT(glProgramBufferParametersIivNV), + EXT(glProgramBufferParametersIuivNV), + EXT(glPixelDataRangeNV), + EXT(glFlushPixelDataRangeNV), + EXT(glPointParameteriNV), + EXT(glPointParameterivNV), + EXT(glPrimitiveRestartNV), + EXT(glPrimitiveRestartIndexNV), + EXT(glCombinerParameterfvNV), + EXT(glCombinerParameterfNV), + EXT(glCombinerParameterivNV), + EXT(glCombinerParameteriNV), + EXT(glCombinerInputNV), + EXT(glCombinerOutputNV), + EXT(glFinalCombinerInputNV), + EXT(glGetCombinerInputParameterfvNV), + EXT(glGetCombinerInputParameterivNV), + EXT(glGetCombinerOutputParameterfvNV), + EXT(glGetCombinerOutputParameterivNV), + EXT(glGetFinalCombinerInputParameterfvNV), + EXT(glGetFinalCombinerInputParameterivNV), + EXT(glCombinerStageParameterfvNV), + EXT(glGetCombinerStageParameterfvNV), + EXT(glMakeBufferResidentNV), + EXT(glMakeBufferNonResidentNV), + EXT(glIsBufferResidentNV), + EXT(glMakeNamedBufferResidentNV), + EXT(glMakeNamedBufferNonResidentNV), + EXT(glIsNamedBufferResidentNV), + EXT(glGetBufferParameterui64vNV), + EXT(glGetNamedBufferParameterui64vNV), + EXT(glGetIntegerui64vNV), + EXT(glUniformui64NV), + EXT(glUniformui64vNV), + EXT(glGetUniformui64vNV), + EXT(glProgramUniformui64NV), + EXT(glProgramUniformui64vNV), + EXT(glBeginTransformFeedbackNV), + EXT(glEndTransformFeedbackNV), + EXT(glTransformFeedbackAttribsNV), + EXT(glBindBufferRangeNV), + EXT(glBindBufferOffsetNV), + EXT(glBindBufferBaseNV), + EXT(glTransformFeedbackVaryingsNV), + EXT(glActiveVaryingNV), + EXT(glGetVaryingLocationNV), + EXT(glGetActiveVaryingNV), + EXT(glGetTransformFeedbackVaryingNV), + EXT(glTransformFeedbackStreamAttribsNV), + EXT(glFlushVertexArrayRangeNV), + EXT(glVertexArrayRangeNV), + EXT(glBufferAddressRangeNV), + EXT(glVertexFormatNV), + EXT(glNormalFormatNV), + EXT(glColorFormatNV), + EXT(glIndexFormatNV), + EXT(glTexCoordFormatNV), + EXT(glEdgeFlagFormatNV), + EXT(glSecondaryColorFormatNV), + EXT(glFogCoordFormatNV), + EXT(glVertexAttribFormatNV), + EXT(glVertexAttribIFormatNV), + EXT(glGetIntegerui64i_vNV), + EXT(glAreProgramsResidentNV), + EXT(glBindProgramNV), + EXT(glDeleteProgramsNV), + EXT(glExecuteProgramNV), + EXT(glGenProgramsNV), + EXT(glGetProgramParameterdvNV), + EXT(glGetProgramParameterfvNV), + EXT(glGetProgramivNV), + EXT(glGetProgramStringNV), + EXT(glGetTrackMatrixivNV), + EXT(glGetVertexAttribdvNV), + EXT(glGetVertexAttribfvNV), + EXT(glGetVertexAttribivNV), + EXT(glGetVertexAttribPointervNV), + EXT(glIsProgramNV), + EXT(glLoadProgramNV), + EXT(glProgramParameter4dNV), + EXT(glProgramParameter4dvNV), + EXT(glProgramParameter4fNV), + EXT(glProgramParameter4fvNV), + EXT(glProgramParameters4dvNV), + EXT(glProgramParameters4fvNV), + EXT(glRequestResidentProgramsNV), + EXT(glTrackMatrixNV), + EXT(glVertexAttribPointerNV), + EXT(glVertexAttrib1dNV), + EXT(glVertexAttrib1dvNV), + EXT(glVertexAttrib1fNV), + EXT(glVertexAttrib1fvNV), + EXT(glVertexAttrib1sNV), + EXT(glVertexAttrib1svNV), + EXT(glVertexAttrib2dNV), + EXT(glVertexAttrib2dvNV), + EXT(glVertexAttrib2fNV), + EXT(glVertexAttrib2fvNV), + EXT(glVertexAttrib2sNV), + EXT(glVertexAttrib2svNV), + EXT(glVertexAttrib3dNV), + EXT(glVertexAttrib3dvNV), + EXT(glVertexAttrib3fNV), + EXT(glVertexAttrib3fvNV), + EXT(glVertexAttrib3sNV), + EXT(glVertexAttrib3svNV), + EXT(glVertexAttrib4dNV), + EXT(glVertexAttrib4dvNV), + EXT(glVertexAttrib4fNV), + EXT(glVertexAttrib4fvNV), + EXT(glVertexAttrib4sNV), + EXT(glVertexAttrib4svNV), + EXT(glVertexAttrib4ubNV), + EXT(glVertexAttrib4ubvNV), + EXT(glVertexAttribs1dvNV), + EXT(glVertexAttribs1fvNV), + EXT(glVertexAttribs1svNV), + EXT(glVertexAttribs2dvNV), + EXT(glVertexAttribs2fvNV), + EXT(glVertexAttribs2svNV), + EXT(glVertexAttribs3dvNV), + EXT(glVertexAttribs3fvNV), + EXT(glVertexAttribs3svNV), + EXT(glVertexAttribs4dvNV), + EXT(glVertexAttribs4fvNV), + EXT(glVertexAttribs4svNV), + EXT(glVertexAttribs4ubvNV), + // ARB EXT(wglGetExtensionsStringARB), EXT(glIsRenderbuffer), @@ -8232,9 +11391,23 @@ // EXT EXT(wglSwapIntervalEXT), EXT(wglGetExtensionsStringEXT), - #undef EXT + + //UNIMPLEMENTEDg + EXT(wglGetSwapIntervalEXT), +#undef EXT }; + std::set<const char *> setset; + for(int ext = 0; ext < sizeof(glExtensions) / sizeof(Extension); ext++) + { + int size = setset.size(); + setset.insert(glExtensions[ext].name); + if(size == setset.size()) + { + size = size; + } + } + for(int ext = 0; ext < sizeof(glExtensions) / sizeof(Extension); ext++) { if(strcmp(lpszProc, glExtensions[ext].name) == 0) @@ -8252,7 +11425,7 @@ TRACE("(LPCSTR lpszProc = \"%s\") NOT FOUND!!!", lpszProc); - return 0; + return (PROC)glIsQueryEXT; } BOOL WINAPI wglMakeCurrent(HDC hdc, HGLRC hglrc) @@ -8294,18 +11467,18 @@ return TRUE; } -BOOL WINAPI wglShareLists(HGLRC, HGLRC) +BOOL WINAPI wglShareLists(HGLRC hglrc1, HGLRC hglrc2) { - UNIMPLEMENTED(); - return FALSE; + TRACE("*"); + return TRUE; } BOOL WINAPI wglSwapBuffers(HDC hdc) { TRACE("(*)"); - + gl::Display *display = gl::getDisplay(); - + if(display) { display->getPrimarySurface()->swap(); @@ -8356,4 +11529,4 @@ RegisterLicenseKey(licenseKey); } -} +} \ No newline at end of file
diff --git a/src/OpenGL/libGL/libGL.def b/src/OpenGL/libGL/libGL.def index 36bc8a4..c321bfd 100644 --- a/src/OpenGL/libGL/libGL.def +++ b/src/OpenGL/libGL/libGL.def
@@ -368,5 +368,6 @@ wglUseFontBitmapsW @366 wglUseFontOutlinesA @367 wglUseFontOutlinesW @368 + wglCreateContextAttribsARB @369 Register \ No newline at end of file